Cara Memasang OroCRM pada CentOS 7

OroCRM adalah aplikasi Customer Relationship Manager (CRM) sumber terbuka dan gratis yang dibangun di atas OroPlatform. OroPlatform sepenuhnya dapat disesuaikan perangkat lunak platform aplikasi bisnis sumber terbuka. OroPlatform memberi Anda semua fitur yang diperlukan untuk membuat aplikasi yang disesuaikan. OroCRM dibangun menggunakan kerangka kerja PHP Symfony dan menyimpan datanya ke dalam server database MySQL / MariaDB. Ini adalah aplikasi CRM siap pakai perusahaan yang menyediakan banyak fitur. Ini juga terintegrasi dengan banyak aplikasi pihak ke-3 seperti Magento Store, MailChimp, Zendesk dll. Ini multibahasa dan memiliki antarmuka pengguna yang sepenuhnya responsif, yang memberi Anda kemampuan untuk mengelolanya menggunakan perangkat seluler juga.

Prasyarat

Dalam tutorial ini, kita akan menggunakan crm.example.comnama domain yang menunjuk ke server. Ganti semua kemunculan crm.example.comdengan nama domain Anda yang sebenarnya.

Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui CentOS 7 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal dependensi yang diperlukan.

Instal Nginx dan PHP 7

OroCRM dapat diinstal pada server web produksi yang mendukung PHP. OroCRM mendukung semua versi PHP lebih besar dari 7.0. Dalam tutorial ini, kita akan menggunakan Nginx dengan PHP-FPM dan PHP 7.1.

Instal Nginx.

sudo yum -y install nginx

Mulai Nginx dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 tidak tersedia dalam repositori YUM default, tetapi kita dapat menggunakan repositori Remi untuk mendapatkan dan menginstal build terbaru dari PHP 7. Pertama, tambahkan dan aktifkan repositori Remi.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71

Instal versi terbaru PHP 7 bersama dengan modul PHP yang dibutuhkan oleh OroCRM.

sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix

Edit file konfigurasi PHP default.

sudo nano /etc/php.ini

Temukan baris berikut. Batalkan komentar dan buat perubahan seperti yang ditunjukkan.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone

memory_limit = 512M
cgi.fix_pathinfo=0

Edit file konfigurasi PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

Secara default, PHP-FPM dikonfigurasikan untuk dijalankan dengan Apache dan untuk mendengarkan port 9000. Kita perlu mengubah pengguna dan grup, serta file soket Unix yang akan dijalankannya. Temukan baris berikut dan buat perubahan yang diperlukan seperti yang ditunjukkan.

user = nginx
group = nginx

;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody
listen.group = nobody

Mulai PHP-FPM dan aktifkan untuk memulai saat boot.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Memberikan kepemilikan file soket PHP-FPM kepada pengguna Nginx.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Instal MariaDB

MariaDB adalah garpu sumber terbuka MySQL. Instal MariaDB.

sudo yum -y install mariadb mariadb-server

Mulai MariaDB dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Instalasi default MariaDB dilengkapi dengan beberapa basis data pengujian dan pengguna anonim. Sebelum mengkonfigurasi basis data, Anda harus mengamankan server MariaDB terlebih dahulu. Anda dapat mengamankannya dengan menjalankan mysql_secure_installationskrip.

sudo mysql_secure_installation

Anda akan dimintai kata sandi root MariaDB saat ini. Secara default, tidak ada kata sandi root di instalasi MariaDB baru. Tekan Entertombol untuk melanjutkan. Tetapkan kata sandi yang kuat untuk pengguna root dari server MariaDB Anda dan jawab Ysemua pertanyaan lain yang diajukan. Pertanyaan yang diajukan cukup jelas.

Buat Database untuk OroCRM

Masuk ke shell MySQL sebagai pengguna root dengan menjalankan.

mysql -u root -p

Berikan kata sandi untuk pengguna root MariaDB untuk masuk.

Jalankan pertanyaan berikut untuk membuat database dan pengguna database untuk instalasi OroCRM.

CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Anda dapat mengganti nama database oro_datadan nama pengguna oro_usersesuai pilihan Anda. Pastikan untuk mengubah StrongPasswordkata sandi yang sangat kuat.

Instal Node.js dan Komposer

OroCRM juga membutuhkan runtime JavaScript Node.js. Node.js akan digunakan oleh OroCRM untuk mengkompilasi JavaScript, yang digunakan untuk membangun antarmuka pengguna aplikasi. Repositori default CentOS berisi versi Node.js yang ketinggalan zaman, sehingga Anda perlu menambahkan repositori Nodesource ke sistem Anda untuk mendapatkan versi terbaru.

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Instal Node.js dan Git.

sudo yum -y install nodejs git

Git akan digunakan untuk mengkloning repositori OroCRM dari internet. Anda juga perlu menginstal Komposer. Komposer adalah alat pengelola ketergantungan untuk aplikasi PHP. Karena OroCRM ditulis dalam kerangka kerja Symfony, Anda akan memerlukan Composer untuk menginstal dependensi dan aplikasi.

Pasang Komposer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Pindahkan Komposer ke /usr/bindirektori sehingga dapat dieksekusi dari mana saja di sistem.

sudo mv composer.phar /usr/bin/composer

Berikan izin eksekusi kepada Komposer.

sudo chmod +x /usr/bin/composer

Instal OroCRM

Ada banyak cara untuk mengunduh OroCRM di server Anda. Cara yang paling tepat untuk mendapatkan versi terbaru adalah dengan mengkloning repositori melalui Git.

Klon repositori OroCRM.

cd /usr/share/nginx/
sudo git clone -b 2.3 https://github.com/oroinc/crm-application.git orocrm

Salin parametersfile contoh ke parametersfile default yang digunakan oleh OroCRM.

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

Sebelum dapat melanjutkan lebih jauh, Anda perlu memperbarui parameters.ymlfile untuk menyediakan basis data dan informasi email.

sudo nano app/config/parameters.yml

Temukan baris berikut.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

Perbarui konfigurasi di atas sesuai dengan database yang telah Anda buat untuk menyimpan data OroCRM. Dalam kasus kami, seharusnya terlihat seperti ini.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

Jika Anda memiliki server SMTP dan Anda ingin segera menggunakan fitur pengiriman email, Anda dapat memperbarui pengaturan mailer seperti yang ditunjukkan.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

Jika Anda tidak memiliki server surat yang siap, Anda dapat melewatkannya sekarang dengan meninggalkan nilai yang ada. Anda selalu dapat mengubah konfigurasi email melalui dasbor.

Setel string acak secretdengan mengganti ThisTokenIsNotSoSecretChangeIt. String acak diperlukan untuk menyandikan data sesi. Contoh string akan terlihat seperti ini.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Anda dapat menghasilkan string acak menggunakan pwgenutilitas. Instal pwgenutilitas dengan menjalankan sudo yum -y install pwgen. Untuk menghasilkan string acak, jalankan pwgen -s 64 1.

Simpan file dan keluar dari editor. Instal dependensi PHP yang diperlukan melalui komposer.

sudo composer install --prefer-dist --no-dev

Menggunakan --no-devakan memastikan bahwa Komposer hanya menginstal dependensi yang diperlukan untuk menjalankan server web dalam mode produksi. Script akan memakan waktu beberapa menit untuk mengunduh dan menginstal dependensi PHP yang diperlukan.

Instal aplikasi.

sudo php app/console oro:install --env=prod

Ini akan membangun cache web dan menulis database. The --env=prodparameter disediakan untuk menginstal aplikasi dalam mode produksi. Instalasi hanya akan dilanjutkan jika semua dependensi yang diperlukan diinstal dan dikonfigurasi.

Selama instalasi, Anda akan ditanya beberapa pertanyaan untuk mengatur akun administrator. Pertanyaannya adalah sebagai berikut.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Organization
Username (admin):
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y

Berikan informasinya. Muat data sampel untuk mengevaluasi produk sebelum menggunakannya untuk produksi.

Pemanasan cache dokumentasi API:

sudo php app/console oro:api:doc:cache:clear

Mengkonfigurasi Nginx, Firewall dan Izin

Buat file blok server Nginx untuk melayani aplikasi bagi pengguna.

sudo nano /etc/nginx/conf.d/orocrm.conf

Mengisi file.

server {
    server_name crm.example.com;
    root  /usr/share/nginx/orocrm/web;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /app.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config|install)\.php(/|$) {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    # Enable Gzip compression
    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 5;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
    gzip_vary on;    

    # Enable browser caching
    # One week for javascript and css
     location ~* \.(?:css|js) {
       expires 1w;
       access_log off;
       add_header Cache-Control public;
     }

     # Three weeks for media: images, fonts, icons, video, audio etc.
     location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
       expires 3w;
       access_log off;
       add_header Cache-Control public;
     }

    error_log /var/log/nginx/orocrm_error.log;
    access_log /var/log/nginx/orocrm_access.log;
}

Pastikan Anda mengganti crm.example.comdengan nama domain Anda yang sebenarnya. Konfigurasi di atas juga termasuk konfigurasi yang diperlukan untuk kompresi GZip dan caching browser. Kompresi Gzip memampatkan data sebelum mengirimnya ke browser. Mengaktifkan caching browser menyimpan sumber daya statis ke cache web komputer klien. Lain kali pengguna mengakses situs, sebagian besar konten statis diambil dari cache web pengguna sendiri. Kedua metode ini meningkatkan kecepatan aplikasi secara dramatis.

Periksa file konfigurasi Nginx untuk setiap kesalahan.

sudo nginx -t

Outputnya akan terlihat seperti berikut.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Berikan kepemilikan file OrOCRM kepada pengguna Nginx.

sudo chown -R nginx:nginx /usr/share/nginx/orocrm

Mulai ulang Nginx untuk menerapkan konfigurasi baru.

sudo systemctl restart nginx

Jika Anda menjalankan firewall di server Anda, Anda harus mengkonfigurasi firewall untuk menetapkan pengecualian untuk layanan HTTP. Izinkan Nginx untuk terhubung dari luar jaringan.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Anda sekarang dapat mengakses aplikasi di http://crm.example.com. Masuk menggunakan nama pengguna dan kata sandi administrator yang Anda tetapkan selama instalasi.

Setup Tugas Terjadwal dan Pekerjaan Latar Belakang

Untuk secara otomatis menjalankan tugas yang dijadwalkan, Anda dapat menambahkan entri pekerjaan Cron. Terbuka crontab.

sudo crontab -e

Tambahkan baris berikut ke file.

*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null

Ini akan menjalankan tugas cron setiap menit sehingga tugas yang dijadwalkan seperti antrian email diproses paling awal.

Anda juga perlu mengatur Supervisor untuk menjalankan layanan Antrian Pesan. Diperlukan setidaknya satu proses berjalan setiap saat bagi konsumen untuk memproses pesan. Seorang konsumen biasanya dapat mengganggu proses pesan melalui banyak cara. Untuk memastikan bahwa layanan berjalan terus menerus, kami akan menggunakan layanan Supervisor. Kami akan mengonfigurasi Supervisor untuk menjalankan empat proses secara paralel. Jika salah satu dari empat proses dihentikan karena alasan apa pun, Supervisor akan mencoba memulainya lagi.

Instal Pengawas.

sudo yum -y install supervisor

Edit file konfigurasi Supervisor.

sudo nano /etc/supervisord.conf

Tambahkan baris berikut di akhir file.

[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=nginx
redirect_stderr=true

Mulai dan aktifkan Supervisor untuk memulai secara otomatis saat boot.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Anda dapat melihat status proses dengan menjalankan yang berikut ini.

sudo supervisorctl status

Anda harus melihat bahwa proses sedang berjalan.

[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 13593, uptime 0:02:13

OroCRM sekarang diinstal di server Anda. Anda sekarang dapat menggunakan aplikasi untuk mengelola tugas rutin organisasi Anda. Untuk mempelajari lebih lanjut tentang OroCRM, Anda dapat mengunjungi situs web resminya .



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut