Cara Memasang OroCRM di Ubuntu 16.04

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 dan banyak lagi. Ia berbilang bahasa dan mempunyai antara muka pengguna yang responsif sepenuhnya, yang memberi anda kemampuan untuk menguruskannya menggunakan peranti mudah alih juga.

Prasyarat

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 Kemaskini Ubuntu 16.04 . 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 apt -y install nginx

Mulakan Nginx dan aktifkan secara automatik semasa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 tidak tersedia di aptrepositori lalai . Pertama, tambahkan repositori PPA untuk PHP.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Pasang PHP 7.1 bersama dengan modul PHP yang diperlukan oleh OroCRM.

sudo apt update
sudo apt -y install php7.1 php7.1-fpm php7.1-common php7.1-curl php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-xml php7.1-zip php7.1-tidy php7.1-soap php7.1-opcache

Edit fail konfigurasi PHP dimuatkan.

sudo nano /etc/php/7.1/cli/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

cgi.fix_pathinfo=0

Mulakan PHP-FPM dan aktifkan untuk memulakan semasa boot.

sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm

Pasang MariaDB

MariaDB adalah open source fork MySQL. Tambah repositori MariaDB 10.2.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'

Pasang MariaDB.

sudo apt -y update
sudo apt -y install mariadb-server

Mulakan MariaDB dan aktifkan secara automatik semasa boot.

sudo systemctl start mariadb
sudo systemctl enable mariadb

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 Ubuntu mengandungi versi Node.js yang ketinggalan zaman, oleh itu anda perlu menambahkan repositori Nodesource ke sistem anda untuk mendapatkan versi terbaru.

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

Pasang Node.js dan Git.

sudo apt -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

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.4 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 pwgendengan menjalankan sudo apt -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 mengatur akaun pentadbir. Soalannya adalah seperti berikut.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): 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/sites-available/orocrm

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:/run/php/php7.1-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 menukar crm.example.comnama 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.

Aktifkan laman web ini.

sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm

Periksa fail konfigurasi Nginx untuk sebarang kesilapan.

sudo nginx -t

Keluarannya seperti berikut.

user@vultr:/usr/share/nginx/orocrm$ 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 www-data:www-data /usr/share/nginx/orocrm

Mulakan semula Nginx untuk menggunakan konfigurasi baru.

sudo systemctl restart nginx

Anda kini boleh mengakses aplikasi di http://crm.example.com. Log masuk menggunakan pentadbir usernamedan passwordanda telah menetapkan 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 apt -y install supervisor

Buat fail konfigurasi Penyelia baru.

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

Tambahkan baris berikut ke 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=www-data
redirect_stderr=true

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

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Anda boleh melihat status proses dengan menjalankan perkara berikut.

sudo supervisorctl status

Anda harus melihat bahawa proses sedang berjalan.

user@vultr:/usr/share/nginx/orocrm$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 20809, uptime 0:00:01
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 20808, uptime 0:00:01
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 20807, uptime 0:00:01
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 20806, uptime 0:00:01

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