Cara Memasang OroCRM di Ubuntu 16.04

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 dan banyak lagi. 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 Ubuntu 16.04 . 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 apt -y install nginx

Mulai Nginx dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

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

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

Instal PHP 7.1 bersama dengan modul PHP yang dibutuhkan 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 file konfigurasi PHP yang dimuat.

sudo nano /etc/php/7.1/cli/php.ini

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

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

cgi.fix_pathinfo=0

Mulai PHP-FPM dan aktifkan untuk memulai saat boot.

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

Instal MariaDB

MariaDB adalah garpu sumber terbuka MySQL. Tambahkan 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'

Instal MariaDB.

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

Mulai MariaDB dan aktifkan untuk memulai secara otomatis saat boot.

sudo systemctl start mariadb
sudo systemctl enable mariadb

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 Ubuntu 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://deb.nodesource.com/setup_8.x | sudo bash -

Instal Node.js dan Git.

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

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.4 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 pwgendengan menjalankan sudo apt -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 Org
Username (admin): 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/sites-available/orocrm

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:/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 mengubah crm.example.comke 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.

Aktifkan situs.

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

Periksa file konfigurasi Nginx untuk setiap kesalahan.

sudo nginx -t

Outputnya akan terlihat 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 kepemilikan file OroCRM kepada pengguna Nginx.

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

Mulai ulang Nginx untuk menerapkan konfigurasi baru.

sudo systemctl restart nginx

Anda sekarang dapat mengakses aplikasi di http://crm.example.com. Masuk menggunakan administrator usernamedan passwordAnda telah mengatur 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 apt -y install supervisor

Buat file konfigurasi Supervisor baru.

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

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

Mulai dan aktifkan Supervisor untuk memulai secara otomatis saat boot.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Anda dapat melihat status proses dengan menjalankan yang berikut ini.

sudo supervisorctl status

Anda harus melihat bahwa 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 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