GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal SuiteCRM dengan Nginx di Ubuntu 16.04

SuiteCRM adalah perangkat lunak CRM (Customer Relationship Management) open source berbasis PHP. Ini adalah cabang dari perangkat lunak CRM populer 'SugarCRM', dan telah menjadi lebih populer setelah 'SugarCRM' memutuskan untuk menghentikan pengembangan versi gratis. SuiteCRM telah dinominasikan sebagai perangkat lunak CRM open source terbaik di BOSSIE 2015 dan 2016.

Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal 'SuiteCRM' CRM open source. Perangkat lunak akan berjalan di bawah server web Nginx dengan database MariaDB dan menggunakan sistem Ubuntu 16.04.

Apa yang akan kami lakukan

  1. Instal server Web Nginx
  2. Instal dan Konfigurasi PHP-FPM
  3. Instal dan Konfigurasi MariaDB
  4. Unduh dan Konfigurasikan SuiteCRM
  5. Pemasang Web SuiteCRM
  6. Langkah terakhir

Prasyarat

  • Server Ubuntu 16.04
  • Hak istimewa root

Langkah 1 - Instal server Web Nginx

SuiteCRM adalah perangkat lunak berbasis web, dan membutuhkan server web. Kita bisa menggunakan Apache atau Nginx untuk software ini. Dalam tutorial ini, kita akan menggunakan server web Nginx sebagai ganti server web Apache.

Hubungkan ke server Ubuntu Anda dan perbarui repositori.

ssh [dilindungi email]
sudo apt update

Sekarang instal server web Nginx menggunakan perintah apt dengan cara berikut.

apt install -y nginx

Setelah instalasi, mulai nginx dan aktifkan untuk diluncurkan secara otomatis setiap kali sistem boot.

systemctl start nginx
systemctl aktifkan nginx

Server web Nginx telah diinstal, dan berjalan di bawah port HTTP default 80. Periksa menggunakan perintah netstat, atau Anda dapat menggunakan curl untuk melihat kode status HTTP.

netstat -plntu
curl -I localhost

Langkah 2 - Instal dan Konfigurasi PHP-FPM

SuiteCRM kompatibel dengan beberapa versi PHP. Dalam tutorial ini, kita akan menggunakan versi terbaru PHP 7.0 untuk instalasi SuiteCRM.

Instal PHP dan PHP-FPM 7 bersama dengan ekstensi lain yang diperlukan menggunakan perintah apt berikut.

apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0 -json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl

Setelah instalasi selesai, buka direktori konfigurasi PHP dan edit file php.ini untuk konfigurasi 'cli' dan 'fpm'.

cd /etc/php/7.0/

Edit file php.ini.

vim cli/php.ini
vim fpm/php.ini

Ubah nilai ukuran file unggahan maksimum. SuiteCRM membutuhkan setidaknya 6 MB, tetapi kami akan menetapkan 100 MB sebagai nilainya.

upload_max_filesize =100M

Batalkan komentar pada baris CGI (ditampilkan di bawah) dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Untuk konfigurasi jalur sesi, batalkan komentar pada baris di bawah ini.

session.save_path ="/var/lib/php/sessions"

Itu dia. Simpan perubahan ini dan keluar.

Sekarang, kita perlu membuat direktori baru untuk file sesi PHP dan mengubah pemilik direktori menjadi pengguna dan grup 'www-data'.

mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions

Konfigurasi PHP dan PHP-FPM telah selesai. Sekarang mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start php7.0-fpm
systemctl aktifkan php7.0-fpm

Secara default pada sistem Ubuntu, PHP-FPM akan berjalan di bawah file sock alih-alih menggunakan port sistem. Periksa menggunakan perintah netstat di bawah ini.

netstat -pl | grep php

Dan pastikan hasil yang Anda lihat sama dengan yang ditampilkan pada screenshot berikut.

Langkah 3 - Instal dan Konfigurasi MariaDB

Pada langkah ini, kita akan menginstal MariaDB dan mengkonfigurasi kata sandi root. Kemudian konfigurasikan database baru untuk penginstalan SuiteCRM.

Instal MariaDB menggunakan perintah apt di bawah ini.

apt install -y mariadb-server mariadb-client

Setelah penginstalan, mulai layanan dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start mysql
systemctl aktifkan mysql

Selanjutnya, konfigurasikan kata sandi root MariaDB menggunakan perintah 'mysql_secure_installation' seperti di bawah ini.

mysql_secure_installation

Anda akan ditanya tentang konfigurasi, ketik 'Y' dan tekan 'Enter'.

Tetapkan kata sandi root? [Y/n] Y
Kata sandi baru:
Masukkan kembali kata sandi baru:

Hapus pengguna anonim? [Y/n] Y
Larang login root dari jarak jauh? [Y/n] Y
Hapus database pengujian dan akses ke sana? [Y/n] Y
Muat ulang tabel hak istimewa sekarang? [Y/n] Y

Kata sandi root MariaDB telah dikonfigurasi.

Sekarang kita akan membuat database dan pengguna baru untuk instalasi SuiteCRM. Buat database bernama 'suitecrm_db', dan pengguna baru 'crmadmin' dengan kata sandi 'hakase-labs123'. Hubungkan ke shell mysql dan jalankan kueri mysql berikut.

mysql -u root -p
Ketikkan kata sandi Anda:

CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' DIIDENTIFIKASI OLEH 'hakase-labs123';
BERIKAN SEMUA HAK ISTIMEWA PADA suitecrm_db.* KEPADA 'crmadmin'@'localhost';
Hak Istimewa FLUSH;

Konfigurasi database MariaDB untuk instalasi SuiteCRM telah selesai.

Langkah 4 - Unduh dan Konfigurasikan SuiteCRM

Pada langkah ini, kita akan melakukan beberapa tugas yang akan mempersiapkan sistem untuk instalasi SuiteCRM. Kami akan mengunduh kode sumber SuiteCRM, mengonfigurasi UFW Firewall, membuat sertifikat Letsencrypt, dan mengonfigurasi host virtual nginx untuk SuiteCRM.

- Unduh Kode Sumber SuiteCRM

Kode sumber suiteCRM tersedia di Github. Pastikan perintah git terinstal di sistem Anda. Atau jika Anda tidak memiliki paket git, instal dengan perintah apt di bawah ini.

apt install -y git

Sekarang buka direktori '/opt' dan klon repositori menggunakan perintah git clone berikut.

cd /opt/
git clone https://github.com/salesagility/SuiteCRM.git suitecrm

Buka direktori suitecrm dan buat direktori 'cache' baru. Kemudian ubah izin beberapa file dan direktori, dan terakhir, kita perlu mengubah izin kepemilikan untuk direktori 'suitecrm' menjadi pengguna dan grup 'www-data'.

cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache modul kustom tema unggah data config_override.php
chown www-data:www-data -R /opt/suitecrm

Kode sumber SuiteCRM telah diunduh.

- Konfigurasikan Firewall UFW

Di Ubuntu, kita akan menggunakan firewall ufw. Buka port baru HTTP, HTTPS, dan SSH menggunakan perintah ufw seperti yang ditunjukkan di bawah ini.

ufw izinkan ssh
ufw izinkan http
ufw izinkan https

Sekarang mulai firewall dan aktifkan untuk diluncurkan setiap kali sistem boot menggunakan perintah ufw enable.

ufw aktifkan

Ketik 'y' dan tekan Enter untuk mengaktifkan firewall.

Jika Anda ingin memeriksa status firewall, gunakan perintah status ufw.

status ufw

Dan Anda akan mendapatkan status firewall termasuk port apa yang telah Anda tambahkan.

- Buat Sertifikat Letsencrypt

Dalam tutorial ini, SuiteCRM akan menggunakan HTTPS untuk koneksi yang lebih aman antara klien dan server. Untuk tujuan ini, kami akan menggunakan sertifikat SSL gratis dari Letsencrypt.

Sebelum membuat file sertifikat, kita perlu menginstal agen klien letsencrypt pada sistem. Ini tersedia di repositori Ubuntu, jadi instal dengan perintah apt di bawah ini.

apt install -y letsencrypt

Setelah menginstal letsencrypt, kita harus menghentikan layanan nginx sebelum membuat file sertifikat.

systemctl stop nginx

Sekarang buat file Sertifikat SSL menggunakan perintah letsencrypt di bawah ini.

letsencrypt certonly --standalone -d suitecrm.hakase-labs.co

Catatan: --mandiri opsi akan membuat server web sementara pada sistem, jadi kita perlu menghentikan server web Nginx sebelum membuat file sertifikat.

Anda akan ditanya tentang alamat email Anda untuk memperbarui pemberitahuan. Ketik alamat email Anda dan klik 'OK'.

Untuk Perjanjian Letsencrypt, pilih 'Setuju' dan tekan Enter.

SSL Letsencrypt baru telah dibuat di direktori '/etc/letsencrypt/live/domain.com'.

- Konfigurasikan Nginx Virtual host untuk SuiteCRM

Buka direktori konfigurasi Nginx dan buat file host virtual baru 'suitecrm' di direktori 'sites-available'.

cd /etc/nginx
vim sites-available/suitecrm

Rekatkan konfigurasi Nginx berikut di sana.

# Server Config - hakase-labs
server {
    listen 80;
    server_name suitecrm.hakase-labs.co;

    # Secara otomatis mengalihkan ke HTTPS
    return 301 https://$host$request_uri;
}

# Nginx SSL untuk SuiteCRM
server {

    server_name suitecrm.hakase -labs.co;

    # Aktifkan http2
    dengarkan 443 http2 ssl;

    # Konfigurasi SSL
    ssl_certificate /etc/letsencrypt/live/suitecrm. hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    client_max_body_size 50M;

    index index.php index.html index.htm;
    root /opt/suitecrm;

    lokasi / {
        root /opt/suitecrm;
       index index.php index.html index.htm;
    }
 
    error_page 500 502 503 504 /50x.html;
    error_log /var/log/nginx/suitecrm.irsyadf.me.error.log;

    location =/50x.html {
        root /var/www/html;
    }

    ## Gambar dan konten statis diperlakukan berbeda
    lokasi ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml| svg|wgoff2)$ {
        access_log off;
       kedaluwarsa maks;
        root /opt/suitecrm;
    }

    lokasi ~ \.php$ {
        try_files $uri =404;
       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
       fastcgi_index index.php;
fast        fastcgi_script_param $ RIPT_script_FILE_param
        include fastcgi_params;
    }

    lokasi ~ /\.ht {
       tolak semua;
    }

}

Simpan dan keluar.

Sekarang aktifkan virtual host, uji konfigurasi, dan pastikan tidak ada kesalahan. Kemudian restart server web.

ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/

nginx -t
systemctl restart nginx

Konfigurasi sistem untuk penginstalan SuiteCRM telah selesai.

Langkah 5 - Penginstal Web SuiteCRM

Buka browser web Anda dan ketik URL SuiteCRM di bilah alamat, milik saya adalah suitecrm.hakase-labs.co

Anda akan diarahkan ke koneksi HTTPS dan halaman install.php.

Pada halaman yang muncul, Anda akan melihat GNU AFFERO License - centang 'I Accept' dan klik 'Next'.

Sekarang Anda akan mendapatkan halaman tentang lingkungan sistem untuk instalasi SuiteCRM.

Pastikan semua hasil 'OK' seperti pada gambar di bawah ini.

Klik 'Berikutnya' untuk melanjutkan.

Berikutnya adalah konfigurasi pengguna database dan admin. Ketik info database Anda, dbname 'suitecrm_db', dbuser 'crmadmin' dengan kata sandi 'hakase-labs123'. Dan ketik user admin, password, dan email Anda seperti yang ditunjukkan di bawah ini.

Gulir ke bawah dan klik 'Berikutnya' untuk melanjutkan penginstalan SuiteCRM.

Tunggu beberapa saat hingga proses instalasi selesai, Anda akan diarahkan ke halaman login seperti di bawah ini.

Ketikkan pengguna dan kata sandi admin Anda, lalu klik tombol 'Masuk'.

Sekarang Anda dapat melihat dasbor SuiteCRM default.

SuiteCRM telah diinstal dengan server web Nginx pada sistem Ubuntu 16.04.

Langkah 6 - Langkah terakhir

Untuk langkah terakhir ini, kami akan membuat pekerjaan Cron baru di bawah pengguna www-data.

Jalankan perintah di bawah ini untuk menambahkan tugas Cron baru.

sudo crontab -e -u www-data

Tempelkan konfigurasi skrip Cron di bawah.

*    *    *    *    *     cd /opt/suitecrm; php -f cron.php>
 /dev/null 2>&1

Simpan dan keluar. Kemudian restart layanan Cron.

systemctl restart cron

Instalasi SuiteCRM di Ubuntu 16.04 telah selesai.


Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento 2 dengan Nginx dan Letsencrypt di Ubuntu 18.04

  1. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  3. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10

  1. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10

  2. Cara Menginstal Redmine 3.2 dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 16.04