Panduan lengkap cara install LEMP stack Nginx, MariaDB 10 dan PHP 7.2 di Linux CentOS 7 dengan paket-paket software terbaru serta optimasi Nginx web server. Pada tutorial ini saya sertakan bagaimana cara install Redis dan module PHP OPCache.
Diawali dengan menambahkan epel repo dan update system Linux
yum install epel-release yum update -yCatatan : sebelum dipubliksikan, tutorial ini sudah dites di Linux CentOS 7.2 dan berjalan dengan sempurna, jadi diharapkan teman-teman tidak menjumpai kendala mengikuti langkah-langkah berikut.
langkah 1 – Install MariaDB
MariaDB digadang-gadang performanya lebih bagus ketimbang MySQL, tapi sayangnya pada CentOS 7.2 versi MariaDB defaultnya masih 5.x, Jadi kita perlu menambahkan repositori Mariadb versi 10.
Buat file repo untuk MariaDB 10, menggunakan nano
nano /etc/yum.repos.d/MariaDB.repocopy-paste teks berikut
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1Simpan, kemudian update
yum updateBaru jalankan perintah install mariadb
yum install mariadb-server -ySetelah berhasil start dan aktifkan service mariadb
Kemudian untuk meningkatkan keamanan instalasi MariaDB, dilanjut dengan menjalankan perintah berikut.
mysql_secure_installationJawablah pertanyaan-pertanyaan yang ada, berikut ini saya tandai dengan warna merah
Enter current password for root (enter for none): Tekan Enter Set root password? [Y/n] y (kemudian ketik password yang diinginkan) 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] yLangkah 2 – Install PHP
Versi PHP pada Centos 7 aslinya masih 5.4.16, pada panduan ini kita menggantinya dengan menginstall versi 7.2 dengan menambahkan repo remi-php72.
yum install //dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install //rpms.remirepo.net/enterprise/remi-release-7.rpmSelanjutnya install yum update1 dan enable yum update2
yum install yum-utils -y && yum-config-manager --enable remi-php72Jalankan perintah update
yum updateBaru setelahnya install PHP
nano /etc/yum.repos.d/MariaDB.repo1Jika butuh modul PHP lainnya, Anda bisa melihat ketersediaan modul dengan perintah yum update3
Edit konfigurasi yum update4 (saya sering lupa pada bagian ini, bisa jadi Anda juga, jadi setelah instalasi PHP selesai langsung saja edit yum update4)
nano /etc/yum.repos.d/MariaDB.repo2Cari baris berikut, sesuaikan
Kita juga membutuhkan module untuk caching PHP script. Sebagai contoh saya memilih OPcache, OPcache meningkatkan kinerja PHP dengan menyimpan skrip precompiled bytecode dalam shared memori, sehingga PHP tidak perlu memuat dan mem-parsing skrip pada setiap request.
nano /etc/yum.repos.d/MariaDB.repo4Aktifkan php-fpm
nano /etc/yum.repos.d/MariaDB.repo5Install Redis
Anda bisa melewati langkah ini jika tidak ingin memakai Redis, langsung ke langkah 3
nano /etc/yum.repos.d/MariaDB.repo6Coba cek redis, jalankan perintah berikut
nano /etc/yum.repos.d/MariaDB.repo7Ketik ping dan Enter, outputnya seperti dibawah ini
nano /etc/yum.repos.d/MariaDB.repo8Berikutnya, jika situs Anda ber-platform WordPress, Redis menjadi pilihan yang bagus sebagai sistem cache untuk WordPress, jadi:
nano /etc/yum.repos.d/MariaDB.repo9Jangan lupa untu menginstall plugin Redis Object Cache, atau ikuti panduan cara install dan konfigurasi Redis
Langkah 3 – Install Nginx
Langsung saja jalankan satu baris perintah berikut untuk meng-install Nginx, start dan mengaktifkan Nginx saat booting.
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=10Buat Nginx memakai unix socket php-fpm, edit konfigurasi php-fpm
Ubah value pada baris-baris berikut
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=12Edit konfigurasi virtual host default Nginx
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=13Hapus semua jika ada konten didalamnya, ganti dengan teks berikut
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=14Buat file yum update6 di yum update7
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=15Ubah owner dan group (nginx:nginx) dan chmod tiap folder (755) dan file (644)
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=16Kemudian restart nginx dan php-fpm
[mariadb] name = MariaDB baseurl = //yum.mariadb.org/10.2/centos7-amd64/ gpgkey = //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=17Cek menggunakan browser, akses //IP. Anda bisa mengetahui IP server anda dengan perintah yum update8
Langkah 4 – Troubleshooting
Jika IP server tidak bisa dibuka melalui browser, kemungkinan Firewall aktif, cek dengan perintah berikut