GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

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

Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi SuiteCRM menggunakan Nginx sebagai server Web. Perangkat lunak CRM akan berjalan di bawah tumpukan LEMP dengan HTTPS diaktifkan. Dan untuk tujuan ini, kami akan menggunakan CentOS 7 sebagai OS utama.

Apa yang akan kami lakukan

  1. Instal server Web Nginx
  2. Instal dan konfigurasikan PHP-FPM
  3. Instal dan konfigurasikan MariaDB
  4. Unduh dan konfigurasikan SuiteCRM
  5. Instal SuiteCRM melalui penginstal Web
  6. Konfigurasi akhir

Prasyarat

  • Server CentOS 7
  • Hak istimewa root

Langkah 1 - Instal server Web Nginx

Langkah pertama yang harus kita lakukan adalah menghubungkan server dan menginstal basic stack untuk SuiteCRM. Hubungkan ke server melalui SSH menggunakan perintah berikut:

ssh [email protected]

Setelah terhubung sebagai pengguna root, kita perlu menginstal repositori pihak ketiga di sistem kita. Secara khusus, kita perlu menginstal repositori EPEL (Extra Package for Enterprise Linux) pada sistem sebelum menginstal Nginx.

Instal repositori EPEL menggunakan perintah yum dengan cara berikut:

yum -y install epel-release

Sekarang kita dapat menginstal server web Nginx pada sistem.

yum -y install nginx

Jika penginstalan selesai, mulai layanan dan aktifkan untuk berjalan secara otomatis pada saat boot menggunakan perintah systemctl seperti yang ditunjukkan di bawah ini.

systemctl start nginx
systemctl enable nginx

Server web Nginx sekarang terinstal, dan secara default, itu berjalan pada port 80. Periksa menggunakan perintah netstat atau curl.

netstat -plntu
curl -I localhost

Pastikan port 80 dalam status 'LISTEN', dan perintah curl memberikan 200 kode status HTTP pada outputnya.

Langkah 2 - Instal dan konfigurasikan PHP-FPM

Pada langkah ini, kita akan menginstal dan mengkonfigurasi PHP-FPM versi 7 di server CentOS 7. Secara default, centOS tidak menyediakan repositori untuk PHP versi 7. Jadi kita perlu menambahkan repositori yang berbeda untuk instalasi PHP-FPM 7.

Tambahkan 'webtatic' repositori PHP 7 baru ke sistem menggunakan perintah rpm.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Sekarang instal paket dan ekstensi PHP 7 menggunakan perintah yum seperti yang ditunjukkan di bawah ini.

sudo yum install -y php71w-fpm php71w-cli php71w-common php71w-imap php71w-gd php71w-mbstring php71w-mcrypt php71w-mysql php71w-xml

Jika instalasi selesai, edit file konfigurasi default 'php.ini' menggunakan vim.

vim /etc/php.ini

Ubah ukuran file unggahan maksimum untuk penginstalan SuiteCRM menjadi 100MB. Setidaknya, SuiteCRM membutuhkan lebih dari 6 MB.

upload_max_filesize = 100M

Batalkan komentar pada baris CGI berikut dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Untuk konfigurasi jalur sesi, batalkan komentar pada baris dan ubah jalur ke '/var/lib/session' seperti yang ditunjukkan di bawah ini.

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

Itu dia. Simpan perubahan dan keluar dari vim.

Sekarang buat direktori baru untuk jalur sesi dan ubah izin kepemilikan direktori menjadi pengguna dan grup 'nginx'.

mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session

Selanjutnya, kita perlu mengedit konfigurasi php-fpm. Untuk ini, buka direktori '/etc/php-fpm.d' dan edit file konfigurasi www.conf.

cd /etc/php-fpm.d/
vim www.conf

Sekarang ubah baris pengguna dan grup menjadi 'nginx'.

user = nginx
group = nginx

Alih-alih menggunakan port sistem, PHP-FPM akan berjalan di bawah file soket unix.

Ubah baris 'dengarkan':

listen = /var/run/php-fpm/php-fpm.sock

Tetapkan izin untuk file soket Unix dan kepemilikan file soket seperti yang ditunjukkan di bawah ini.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Itu dia. Simpan perubahan dan keluar dari editor.

Sekarang mulai layanan PHP-FPM dan tambahkan untuk memulai secara otomatis pada saat boot.

systemctl start php-fpm
systemctl enable php-fpm

Dengan ini, PHP-FPM diinstal dan menjalankan file socket.

Anda  dapat memeriksanya menggunakan perintah netstat:

netstat -pl | grep php

Pastikan Anda melihat file php-fpm.sock.

Langkah 3 - Instal dan Konfigurasi MariaDB

Pada langkah ini, kita akan menginstal MariaDB, kemudian memulai dan mengaktifkannya untuk diluncurkan setiap kali sistem boot. Dan terakhir, kita akan membuat database dan pengguna baru untuk instalasi SuiteCRM.

Instal mariadb dari repositori CentOS menggunakan perintah yum berikut.

yum install -y mariadb mariadb-server

Mulai layanan MariaDB dan aktifkan untuk meluncurkan waktu boot menggunakan perintah di bawah ini.

systemctl start mariadb
systemctl enable mariadb

Jadi MariaDB sekarang terinstal dan berjalan. Sekarang, kita perlu mengkonfigurasi kata sandi root menggunakan perintah 'mysql_secure_installation'.

mysql_secure_installation

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

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Jadi kata sandi root MariaDB telah dikonfigurasi.

Selanjutnya, kita perlu membuat database baru dan pengguna baru untuk instalasi SuiteCRM. Untuk ini, masuk ke shell MySQL dengan 'root' pengguna dan kata sandi Anda.

mysql -u root -p

Buat database baru bernama 'suitecrm_db' dan pengguna baru 'crmadmin' dengan kata sandi 'hakase-labs123'. Semua ini dapat dilakukan dengan menggunakan kueri mysql di bawah ini.

CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;

Jadi konfigurasi database untuk instalasi SuiteCRM telah selesai.

Langkah 4 - Unduh dan Konfigurasikan SuiteCRM

Pada langkah ini, kita akan melakukan beberapa tugas untuk instalasi SuiteCRM. Kami akan mengunduh kode sumber SuiteCRM, mengonfigurasi Firewalld, Membuat SSL Letsencrypt baru, dan mengonfigurasi host virtual nginx untuk SuiteCRM. Jadi mari kita mulai.

Unduh SuiteCRM

Jika belum, instal git di sistem Anda menggunakan perintah yum di bawah ini.

yum -y install git

Sekarang buka direktori '/opt' dan unduh kode SuiteCRM menggunakan perintah git seperti yang ditunjukkan di bawah ini.

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

Setelah itu, buat direktori cache, ubah izin untuk beberapa file dan direktori di direktori suitecrm, lalu ubah pemilik semua kode suitecrm menjadi pengguna dan grup 'nginx'.

cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown nginx:nginx -R /opt/suitecrm

Jadi kode suiteCRM telah diunduh ke server pada direktori '/opt/suitecrm/'.

Konfigurasi Firewalld

Jika Anda tidak menjalankan Firewalld di server Anda, instal menggunakan perintah berikut.

yum -y install firewalld

Mulai layanan dan aktifkan untuk berjalan pada saat boot.

systemctl start firewalld
systemctl enable firewalld

Selanjutnya, kita perlu membuka port baru HTTP dan HTTPS. Ini digunakan untuk akses SuiteCRM. Jalankan perintah firewall-cmd berikut untuk ini.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

Sekarang muat ulang aturan firewalld menggunakan perintah berikut.

firewall-cmd --reload

Jadi sekarang, port HTTP dan HTTPS baru telah ditambahkan ke Firewalld. Jika Anda ingin melihat konfigurasi detail, jalankan perintah di bawah ini.

firewall-cmd --list-all

Buat Letsencrypt SSL Baru

Dalam tutorial ini, kita akan menggunakan SSL untuk akses SuiteCRM. Dan kami akan menggunakan sertifikat SSL gratis dari letsencrypt untuk tujuan itu.

Untuk membuat sertifikat SSL letsencrypt baru, pertama-tama kita perlu menginstal alat perintah letsencrypt 'certbot' ke sistem kita. Ini tersedia di repositori CentOS. Instal certbot menggunakan perintah yum berikut.

yum -y install certbot

Ketika instalasi certbot selesai, buat file sertifikat SSL untuk nama domain suiteCRM 'suitecrm.hakase-labs.co'.

Jalankan perintah di bawah ini untuk menghasilkan file sertifikat SSL.

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

Anda akan ditanya tentang alamat email untuk memperbarui pemberitahuan - ketik email Anda dan tekan Enter untuk melanjutkan.

Untuk TOS Letsencrypt, ketik 'A' untuk setuju dan tekan Enter lagi. Dan untuk kueri alamat email berbagi, ketik 'N' dan tekan Enter.

Ketika pembuatan sertifikat selesai, Anda akan mendapatkan hasil seperti di bawah ini.

File sertifikat baru dibuat di direktori '/etc/letsencrypt/live/domain.com'.

Konfigurasi SuiteCRM Nginx Virtual host

Buka direktori konfigurasi Nginx '/etc/nginx', dan buat file suitecrm.conf file baru di direktori conf.d menggunakan editor Vim.

cd /etc/nginx/
vim conf.d/suitecrm.conf

Di sana, rekatkan virtual host SuiteCRM Nginx di bawah.


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

    # Automatically redirect to HTTPS
    return 301 https://$host$request_uri;
}

# Nginx SSL for SuiteCRM
server {

    server_name suitecrm.hakase-labs.co;

    # Enable http2
    listen 443 http2 ssl;

    # SSL Config
    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 "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";

    client_max_body_size 50M;

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

    location / {
        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 /usr/share/nginx/html;
    }

    ## Images and static content is treated different
    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml|svg|wgoff2)$ {
        access_log off;
        expires max;
        root /opt/suitecrm;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

}

Itu dia. Simpan perubahan dan keluar dari Vim.

Sekarang uji konfigurasi nginx dan pastikan tidak ada kesalahan. Setelah selesai, mulai ulang layanan.

nginx -t
systemctl restart nginx

Dengan ini, konfigurasi nginx untuk penginstalan SuiteCRM telah selesai.

Langkah 5 - Penginstal Web SuiteCRM

Buka browser Web Anda dan kunjungi nama domain SuiteCRM:'suitecrm.hakase-labs.co'.

Anda akan diarahkan ke koneksi HTTPS install.php, dan Anda akan mendapatkan halaman tentang Lisensi GNU AFFERO. Centang kotak 'Saya Setuju' dan klik 'Berikutnya'.

Pada halaman lingkungan sistem, pastikan semua hasilnya 'OK'.

Dan klik 'Berikutnya' untuk melanjutkan.

Selanjutnya adalah konfigurasi admin dan database. Ketik info database Anda, seperti dbname, dbuser, dan dbpassword. Untuk konfigurasi admin, ketik nama pengguna, email, dan kata sandi Anda.

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

Tunggu beberapa saat, ketika instalasi selesai, dan Anda akan diarahkan ke halaman login seperti gambar di bawah ini.

Pada halaman ini, ketik user admin dan password, lalu tekan tombol 'Login'.

Dan Anda akan mendapatkan Dasbor SuiteCRM seperti yang ditunjukkan di bawah ini.

Jadi SuiteCRM telah diinstal.

Langkah 6 - Konfigurasi akhir

Pada langkah terakhir ini, kita perlu menambahkan konfigurasi ke cronjob.

Pada dasarnya, kita perlu membuat cron baru sebagai pengguna dan grup nginx.

sudo crontab -e -u nginx

Dan paste konfigurasi berikut.

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

Simpan dan keluar.

Itu dia. Instalasi SuiteCRM dengan server web Nginx di CentOS 7 telah selesai.


Cent OS
  1. Instal Nginx dengan ngx_pagespeed di CentOS 7

  2. Cara Instal phpMyAdmin dengan Nginx di CentOS 7 / RHEL 7

  3. Cara Memasang Sitemagic CMS di CentOS 7 – Dengan Nginx

  1. Cara Menginstal Nginx di CentOS 7

  2. Cara Menginstal WordPress dengan Nginx di CentOS 7

  3. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  1. Cara Menginstal Nginx di CentOS 8

  2. Cara Menginstal Magento 2.1 di CentOS 7

  3. Cara Menginstal MediaWiki dengan Nginx di CentOS 7