Aplikasi CRM menjadi sangat penting ketika berhadapan dengan pengelolaan customer relations. Salah satu aplikasi CRM open source yang bisa kamu andalkan adalah EspoCRM. Jika kamu menggunakan server dengan CentOS 7 dan web server Nginx, pelajari cara install EspoCRM dari pembahasan di bawah ini, ya.
Apa Itu EspoCRM?
EspoCRM adalah salah satu aplikasi Customer Relationship Manager berbasis web dan bersifat open source. Aplikasi yang ditulis menggunakan bahasa pemrograman PHP ini menggunakan MySQL Database untuk menyimpan data dan sangat responsif.
Selain itu, EspoCRM juga memiliki tampilan web yang user-friendly dengan berbagai bahasa yang dapat digunakan beragam industri, seperti retail, e-commerce, perbankan, call centre, real estate, dan lain-lain.
Tutorial Install EspoCRM pada Nginx di CentOS 7
Ada beberapa hal yang perlu disiapkan untuk melakukan instalasi ini, yaitu:
Baca Juga: Cara Install Docker di CentOS 7
Berikut ini langkah utama untuk meng-install EspoCRM pada Nginx di CentOS 7:
- Update Server
- Install Firewall
- Install Nginx Web Server
- Install MariaDB Database Server
- Create Database & User Database
- Install PHP 7.1
- Configure PHP.ini
- Configure PHP-FPM
- Disable SELinux
- Download Package EspoCRM
- Create Virtual Host Nginx
- Testing
Simak penjelasan cara di atas berikut ini.
Update Server
Login sebagai root dan update package yang ada pada server agar up-to-date.
$ yum update -y $ reboot
Install beberapa packages yang dibutuhkan.
$ yum install nano perl wget zip unzip -y
Install Firewall
Sebelum memulai instalasi EspoCRM, kamu perlu meng-install firewall agar lebih aman. Di tutorial kali ini kita akan menggunakan CSF (ConfigServer Security & Firewall). Instalasinya dilakukan dengan perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
Pada konfigurasi CSF, ubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf
Kemudian restart CSF agar dapat me-reload konfigurasi yang sudah diperbarui.
$ csf -r
Install Nginx Web Server
Web server yang digunakan pada tutorial cara install EspoCRM di CentOS 7 ini adalah Nginx Web Server. Instalasinya dilakukan dengan cara berikut ini.
$ yum install nginx -y
Aktifkan dan start on-boot layanan Nginx.
$ systemctl start nginx $ systemctl enable nginx
Kemudian cek status keaktifan Nginx.
$ systemctl status nginx
-
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2021-04-23 01:50:29 UTC; 7s ago Main PID: 21768 (nginx) CGroup: /system.slice/nginx.service ├─21768 nginx: master process /usr/sbin/nginx └─21769 nginx: worker process
Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di CentOS 7
Install MariaDB Database Server
Server database yang digunakan pada instalasi EspoCRM ini adalah MariaDB, karena MySQL sudah outdated sehingga yang paling up-to-date dan direkomendasikan saat ini adalah MariaDB.
$ yum install mariadb-server mariadb -y
Aktifkan dan start on-boot MariaDB dengan perintah di bawah ini.
$ systemctl start mariadb $ systemctl enable mariadb
Cek status keaktifan layanan MariaDB.
$ systemctl status mariadb
-
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2021-04-23 01:53:06 UTC; 15s ago Main PID: 21957 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─21957 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
Kemudian lakukan command di bawah ini untuk memulai inisisasi setup MariaDB.
$ mysql_secure_installation Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Create Database & User Database
Kamu memerlukan database dan user database agar dapat menggunakan EspoCRM. Ikuti cara pembuatannya dari instruksi di bawah ini.
$ mysql -u root -p # CREATE DATABASE escrm_data; # CREATE USER ‘escrm_user’@’localhost’ IDENTIFIED BY ‘P4ssw0rd’; # GRANT ALL PRIVILEGES ON *.* TO 'escrm_user'@localhost IDENTIFIED BY ‘P4ssw0rd’; # GRANT ALL PRIVILEGES ON escrm_data.* TO 'escrm_user'@localhost; # FLUSH PRIVILEGES; # exit
Install PHP 7.1
Versi PHP yang digunakan pada cara install EspoCRM dengan Nginx di CentOS 7 ini adalah versi 7.1. Sebelum meng-install PHP 7.1, kamu perlu meng-install yum-utils terlebih dulu. Sebab, yum-utils menyediakan banyak tools dan program untuk mengelola Yum Repositories.
$ yum install yum-utils -y
Import Remi Repository.
$ yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
Aktifkan Remi Repository.
$ yum-config-manager --enable remi-php71 -y
Install ekstensi dan modul yang diperlukan.
$ yum install php php-pdo php-json php-mbstring php-imap php-pdo-mysql php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql php-fpm php-zip -y
Kemudian cek versi PHP-nya, apakah sudah sesuai atau belum.
$ php -v PHP 7.1.33 (cli) (built: Feb 3 2021 09:59:18) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.33, Copyright (c) 1999-2018, by Zend Technologies
Aktifkan dan start on-boot php-fpm.
$ systemctl start php-fpm $ systemctl enable php-fpm
Configure PHP.ini
Ada yang perlu diubah pada pengaturan php.ini, ikuti instruksi di bawah ini.
$ nano /etc/php.ini
Ubah di bagian time.zone, sesuaikan dengan zona waktu kamu, pada contoh ini adalah Asia/Jakarta.
date.timezone = Asia/Jakarta
Lalu ubah pada beberapa line di bawah ini.
memory_limit = 512M upload_max_filesize = 50M post_max_size = 50M max_execution_time = 300 max_input_time = 300
Configure PHP-FPM
Setelah itu, ubah konfigurasi php-fpm di bawah ini.
$ nano /etc/php-fpm.d/www.conf
Mengingat web server yang digunakan adalah Nginx, maka kamu perlu mengubah user dan group menjadi “nginx”.
user = nginx group = nginx listen.owner = nginx listen.group = nginx listen.mode = 0660
Jika sudah, lakukan uncomment pada security limit extension, cukup aktifkan .php saja.
security.limit_extensions = .php Uncomment PHP Environment. env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
Simpan lalu keluar.
Disable SELinux
Kamu perlu menonaktifkan SELinux pada CentOS 7, gunakan cara di bawah ini.
$ nano /etc/selinux/config
Ubah pada line SELINUX=enforcing menjadi:
SELINUX=disabled
Kemudian simpan dan reboot server.
Baca Juga: Cara Instalasi Monit Server Monitoring di CentOS 7
Download Package EspoCRM
Selanjutnya, unduh package EspoCRM dari website resminya, versi yang akan diunduh di artikel ini adalah 4.7.0.
$ cd /var/www/ $ wget https://www.espocrm.com/downloads/EspoCRM-4.7.0.zip
Unzip berkas .zip-nya.
$ unzip EspoCRM-4.7.0.zip
Ubah nama direktorinya.
$ mv EspoCRM-4.7.0 espocrm
Ubah ownership dari “directory espocrm” ke Nginx.
$ chown -R nginx:nginx /var/www/espocrm
Set permission pada file dan direktori EspoCRM.
$ cd /var/www/espocrm $ find . -type d -exec chmod 755 {} + && find . -type f -exec chmod 644 {} +; $ find data custom client/custom -type d -exec chmod 775 {} + && find data custom client/custom -type f -exec chmod 664 {} +; $ chmod 775 application/Espo/Modules client/modules;
Create Virtual Host Nginx
Agar saat diakses domain dapat langsung diarahkan ke direktori tertentu, maka kamu perlu membuat pengaturan pada Virtual Host di Nginx.
$ nano /etc/nginx/conf.d/vps188.dewiweb.net.conf server { listen 80; listen [::]:80; root /var/www/espocrm; index index.php index.html index.htm; server_name vps188.dewiweb.net www.vps188.dewiweb.net; client_max_body_size 100M; location / { try_files $uri $uri/ /index.php?$query_string; } location /api/v1/ { if (!-e $request_filename){ rewrite ^/api/v1/(.*)$ /api/v1/index.php last; break; } } location /portal/ { try_files $uri $uri/ /portal/index.php?$query_string; } location /api/v1/portal-access { if (!-e $request_filename){ rewrite ^/api/v1/(.*)$ /api/v1/portal-access/index.php last; break; } } location ~ \.php$ { try_files $uri =404; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Verifikasikan konfigurasinya untuk mengetahui apakah ada syntax error atau tidak.
$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika statusnya sudah “ok”, restart layanan Nginx.
$ systemctl restart nginx
Testing
Langkah terakhir dalam cara install EspoCRM pada Nginx Web Server di CentOS 7 adalah pengetesan hasil. Setelah semua sudah diatur, kamu bisa langsung mengakses nama domain yang kamu gunakan. Jika berhasil, maka tampilannya akan terlihat seperti di bawah ini
Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di CentOS 7
Simpulan
EspoCRM sangat berguna untuk kamu yang memiliki kebutuhan mengenai customer relationship, karena EspoCRM sudah dapat mendukung keperluan sebagai CR manager untuk berbagai jenis industri bisnis. Jika kamu mengikuti instruksi di artikel ini hingga selesai, berarti kamu berhasil menjalankan cara install EspoCRM pada Nginx di CentOS 7.
Demikian artikel cara install EspoCRM pada Nginx di CentOS 7 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!