Cara Memasang OroCRM di CentOS 7

OroCRM adalah aplikasi Pengurus Hubungan Pelanggan (CRM) sumber terbuka dan bebas yang dibina di atas OroPlatform. OroPlatform adalah perisian platform aplikasi perniagaan sumber terbuka yang sepenuhnya disesuaikan. OroPlatform menyediakan anda semua ciri yang diperlukan untuk membuat aplikasi yang disesuaikan. OroCRM dibina menggunakan kerangka PHP Symfony dan menyimpan datanya ke pelayan pangkalan data MySQL / MariaDB. Ini adalah aplikasi CRM yang siap untuk perusahaan yang menyediakan banyak ciri. Ia juga berintegrasi dengan banyak aplikasi pihak ketiga seperti Magento Store, MailChimp, Zendesk dll. Ia multibahasa dan mempunyai antara muka pengguna yang responsif sepenuhnya, yang memberikan anda kemampuan untuk menguruskannya menggunakan peranti mudah alih juga.

Prasyarat

  • Contoh server Vultr CentOS 7.
  • Pengguna sudo .

Dalam tutorial ini, kita akan menggunakan crm.example.comsebagai nama domain yang ditunjuk ke pelayan. Ganti semua kejadian crm.example.comdengan nama domain sebenar anda.

Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Setelah sistem anda diperbaharui, teruskan memasang dependensi yang diperlukan.

Pasang Nginx dan PHP 7

OroCRM boleh dipasang di mana-mana pelayan web pengeluaran yang menyokong PHP. OroCRM menyokong semua versi PHP yang lebih besar daripada 7.0. Dalam tutorial ini, kita akan menggunakan Nginx dengan PHP-FPM dan PHP 7.1.

Pasang Nginx.

sudo yum -y install nginx

Mulakan Nginx dan aktifkan secara automatik semasa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 tidak tersedia di repositori YUM lalai, tetapi kami dapat menggunakan repositori Remi untuk mendapatkan dan memasang binaan terbaru 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

Pasang versi terbaru PHP 7 bersama dengan modul PHP yang diperlukan 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 fail konfigurasi PHP lalai.

sudo nano /etc/php.ini

Cari baris berikut. Tidak berpuas hati 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 fail konfigurasi PHP-FPM.

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

Secara lalai, PHP-FPM dikonfigurasi untuk berjalan dengan Apache dan untuk mendengarkan port 9000. Kita perlu mengubah pengguna dan kumpulan, serta fail soket Unix yang akan dijalankan. Cari 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

Mulakan PHP-FPM dan aktifkan untuk memulakan semasa boot.

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

Berikan hak milik fail soket PHP-FPM kepada pengguna Nginx.

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

Pasang MariaDB

MariaDB adalah open source fork MySQL. Pasang MariaDB.

sudo yum -y install mariadb mariadb-server

Mulakan MariaDB dan aktifkan secara automatik semasa boot.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Pemasangan lalai MariaDB dilengkapi dengan beberapa pangkalan data ujian dan pengguna tanpa nama. Sebelum mengkonfigurasi pangkalan data, anda perlu melindungi pelayan MariaDB terlebih dahulu. Anda boleh mendapatkannya dengan menjalankan mysql_secure_installationskrip.

sudo mysql_secure_installation

Anda akan diminta kata laluan root MariaDB semasa. Secara lalai, tiada kata laluan root dalam pemasangan MariaDB segar. Tekan Enterkekunci untuk meneruskan. Tetapkan kata laluan yang kuat untuk pengguna root pelayan MariaDB anda dan jawab Ysemua soalan lain yang diajukan. Soalan yang diajukan adalah jelas.

Buat Pangkalan Data untuk OroCRM

Log masuk ke shell MySQL sebagai pengguna root dengan menjalankan.

mysql -u root -p

Berikan kata laluan untuk pengguna root MariaDB untuk log masuk.

Jalankan pertanyaan berikut untuk membuat pangkalan data dan pengguna pangkalan data untuk pemasangan 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 boleh mengganti nama pangkalan data oro_datadan nama pengguna oro_usermengikut pilihan anda. Pastikan anda menukar StrongPasswordkepada kata laluan yang sangat kuat.

Pasang Node.js dan Komposer

OroCRM juga memerlukan runtime JavaScript Node.js. Node.js akan digunakan oleh OroCRM untuk menyusun JavaScript, yang digunakan untuk membina antara muka pengguna aplikasi. Repositori lalai CentOS mengandungi versi Node.js yang sudah ketinggalan zaman, oleh itu 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 -

Pasang Node.js dan Git.

sudo yum -y install nodejs git

Git akan digunakan untuk mengklon repositori OroCRM dari internet. Anda juga perlu memasang Composer. Komposer adalah alat pengurus kebergantungan untuk aplikasi PHP. Kerana OroCRM ditulis dalam kerangka Symfony, anda memerlukan Komposer untuk memasang pergantungan 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 dijalankan dari mana saja di dalam sistem.

sudo mv composer.phar /usr/bin/composer

Berikan kebenaran pelaksanaan kepada Komposer.

sudo chmod +x /usr/bin/composer

Pasang OroCRM

Terdapat banyak cara untuk memuat turun OroCRM di pelayan anda. Cara yang paling tepat untuk mendapatkan versi yang paling terkini adalah mengklon 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 parametersfail contoh ke parametersfail lalai yang digunakan oleh OroCRM.

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

Sebelum anda dapat melangkah lebih jauh, anda perlu mengemas kini parameters.ymlfail untuk memberikan maklumat pangkalan data dan e-mel.

sudo nano app/config/parameters.yml

Cari baris berikut.

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

Kemas kini konfigurasi di atas mengikut pangkalan data yang telah anda buat untuk menyimpan data OroCRM. Dalam kes kami, ia mesti kelihatan 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

Sekiranya anda mempunyai pelayan SMTP yang siap dan anda ingin menggunakan ciri penghantaran e-mel dengan segera, anda boleh mengemas kini tetapan surat seperti yang ditunjukkan.

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

Sekiranya anda belum menyediakan pelayan mel, anda boleh melangkauinya sekarang dengan meninggalkan nilai yang ada. Anda sentiasa boleh mengubah konfigurasi e-mel melalui papan pemuka.

Tetapkan rentetan rawak secretdengan menggantikan ThisTokenIsNotSoSecretChangeIt. Rentetan rawak diperlukan untuk mengekod data sesi. Rentetan contoh akan kelihatan seperti ini.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Anda boleh menghasilkan rentetan rawak menggunakan pwgenutiliti. Pasang pwgenutiliti dengan menjalankan sudo yum -y install pwgen. Untuk menghasilkan rentetan rawak, jalankan pwgen -s 64 1.

Simpan fail dan keluar dari editor. Pasang kebergantungan PHP yang diperlukan melalui komposer.

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

Menggunakan --no-devakan memastikan bahawa Komposer hanya memasang pergantungan yang diperlukan untuk menjalankan pelayan web dalam mod pengeluaran. Skrip akan mengambil masa beberapa minit untuk memuat turun dan memasang pergantungan PHP yang diperlukan.

Pasang aplikasi.

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

Ini akan membina cache web dan menulis pangkalan data. The --env=prodparameter disediakan untuk memasang aplikasi dalam mod pengeluaran. Pemasangan hanya akan dijalankan sekiranya semua kebergantungan yang diperlukan dipasang dan dikonfigurasi.

Semasa pemasangan, anda akan ditanya beberapa soalan untuk menyiapkan akaun pentadbir. Soalannya adalah seperti 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 maklumat. Muatkan data sampel untuk menilai produk sebelum menggunakannya untuk pengeluaran.

Memanaskan cache dokumentasi API:

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

Mengkonfigurasi Nginx, Firewall dan Kebenaran

Buat fail blok pelayan Nginx untuk melayani aplikasi kepada pengguna.

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

Isi fail.

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 bahawa anda menukar crm.example.comdengan nama domain sebenar anda. Konfigurasi di atas juga merangkumi konfigurasi yang diperlukan untuk pemampatan GZip dan cache penyemak imbas. Pemampatan Gzip memampatkan data sebelum menghantarnya ke penyemak imbas. Mengaktifkan cache penyemak imbas menyimpan sumber statik ke cache web komputer pelanggan. Pada masa berikutnya pengguna mengakses laman web ini, sebahagian besar kandungan statik dimuat dari cache web pengguna sendiri. Kedua kaedah ini meningkatkan kelajuan aplikasi secara mendadak.

Periksa fail konfigurasi Nginx untuk sebarang kesilapan.

sudo nginx -t

Keluarannya 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 hak milik fail OrOCRM kepada pengguna Nginx.

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

Mulakan semula Nginx untuk menggunakan konfigurasi baru.

sudo systemctl restart nginx

Sekiranya anda menjalankan firewall di pelayan anda, anda perlu mengkonfigurasi firewall untuk menetapkan pengecualian untuk perkhidmatan HTTP. Benarkan Nginx berhubung dari luar rangkaian.

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

Anda kini boleh mengakses aplikasi di http://crm.example.com. Log masuk menggunakan nama pengguna dan kata laluan pentadbir yang telah anda tetapkan semasa pemasangan.

Siapkan Tugas Berjadual dan Latar Belakang

Untuk menjalankan tugas yang dijadualkan secara automatik, anda boleh menambah entri pekerjaan Cron. Buka crontab.

sudo crontab -e

Tambahkan baris berikut ke fail.

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

Ini akan menjalankan tugas cron setiap minit sehingga tugas yang dijadualkan seperti barisan e-mel diproses lebih awal.

Anda juga perlu menyediakan Penyelia untuk menjalankan perkhidmatan Queue Mesej. Diharuskan sekurang-kurangnya satu proses berjalan setiap masa untuk pengguna memproses mesej. Seorang pengguna biasanya boleh mengganggu proses pesanan melalui banyak cara. Untuk memastikan bahawa perkhidmatan berjalan secara berterusan, kami akan menggunakan perkhidmatan Penyelia. Kami akan mengkonfigurasi Penyelia untuk menjalankan empat proses secara selari. Sekiranya salah satu daripada empat proses tersebut dihentikan atas sebab apa pun, Penyelia akan mencuba untuk memulakannya semula.

Pasang Penyelia.

sudo yum -y install supervisor

Edit fail konfigurasi Penyelia.

sudo nano /etc/supervisord.conf

Tambahkan baris berikut di akhir fail.

[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

Mulakan dan aktifkan Penyelia untuk memulakan secara automatik pada waktu boot.

sudo systemctl start supervisord
sudo systemctl enable supervisord

Anda boleh melihat status proses dengan menjalankan perkara berikut.

sudo supervisorctl status

Anda harus melihat bahawa 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 kini dipasang di pelayan anda. Anda kini boleh menggunakan aplikasi untuk menguruskan tugas rutin organisasi anda. Untuk mengetahui lebih lanjut mengenai OroCRM, anda boleh melayari laman web rasminya .



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut