Pada tutorial kali ini, kita akan belajar tentang Cara Install LEMP Stack di CentOS 7. Centos merupakan os yang populer untuk membangun sebuah website.
Sebelum itu, kita akan mengetahui terlebih dahulu apa itu LEMP Stack.
Apa itu LEMP Stack?
LEMP kepanjangan dari Linux, Nginx, MariaDB, dan PHP merupakan sebuah program stack untuk menampilkan sebuah website dinamis.
LEMP merupakan alternatif lain dari LAMP yang menggunakan Apache sebagai mesin sebuah website. Berbeda dari LAMP yang biasa digunakan untuk menyajikan website statis.
Cara Install LEMP Stack
Sebelum itu, kalian juga harus memiliki software untuk dapat terhubung ke VPS melalui SSH Client seperti PuTTY untuk Windows atau Terminal Shell untuk Linux.
Sekarang kita asumsikan bahwa kalian sudah memiliki sebuah server linux dengan sistem operasi CentOS 7. Langkah awal ketika sudah masuk ke VPS adalah melakukan update dan upgrade sistem.
yum update -y
yum upgrade -y
Kemudian saya akan memandu kalian untuk melakukan instalasi pada Nginx, MariaDB, dan PHP.
Langkah 1 : melakukan Install Nginx
Secara default, Nginx tidak tersedia pada repositori CentOS. Oleh karena itu, kita akan menambahkan EPEL Repositori terlebih dahulu menggunakan perintah berikut ini.
yum install epel-release -y
Selanjutnya kita akan langsung menginstall Nginx dengan perintah,
yum install nginx -y
Setelah proses instalasi selesai, eksekusi perintah dibawah ini untuk mengaktifkan dan melihat status Nginx.
systemctl start nginx
systemctl enable nginx
systemctl status nginx
Maka akan terlihat tulisan active (running) berwarna hijau menandakan kalau nginx sudah berhasil terinsall dan berjalan dengan baik.
Langkah 2 : melakukan Install MariaDB
Setelah menginstall Nginx, kemudian kita akan menggunakan MariaDB sebagai database website. Disini kita tidak perlu menambahkan repositori lagi karena secara default MariaDB sudah ada di dalam Repositori CentOS 7.
yum install mariadb-server mariadb -y
Setelah berhasil, kita akan mengaktifkan dan melihat status dari MariaDB tersebut.
systemctl start mariadb
syestemctl enable mariadb
systemctl status mariadb
Setelah MariaDB berjalan dengan baik, selanjutnya adalah melakukan Secure Installation.
mysql_secure_installation
MariaDB akan menanyakan mengenai password root kalian yang mana kalian tidak memilikinya karena baru saja menginstall MariaDB.
Tekan enter saja jika kalian tidak ingin mengatur password root lagi untuk MariaDB.
Selanjutnya beberapa pertanyaan akan muncul dan direkomendasikan untuk menjawab dengan Y semua.
Setelah semua selesai, langkah selanjutnya adalah melakukan instalasi PHP.
Langkah 3 : melakukan Install PHP
PHP secara default tidak termasuk dalam repositori CentOS. Oleh karena itu kalian harus menambahkan terlebih dahulu.
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
Kemudian aktifkan repositori php80 menggunakan perintah berikut.
yum install yum-utils -y
yum-config-manager --enable remi-php80
Selanjutnya lakukan instalasi Paket PHP.
yum --enablerepo=remi,remi-php80 install php-fpm php-common
Ketika muncul permintaan request installasi kalian tekan Y.
Sekarang install jenis PHP yang nanti akan dibutuhkan agar website berjalan dengan lancar.
yum --enablerepo=remi,remi-php80 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
Setelah install PHP, selanjutnya kita akan membuat beberapa settingan untuk file /etc/php-fpm.d/www.conf.
Saya menggunakan text editor nano untuk melakukan edit pada file tersebut.
nano /etc/php-fpm.d/www.conf
Cari user dan group kemudian ubah dari apache menjadi nginx. Kalian bisa menggunakan CTRL + W untuk mencarinya.
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
…
Kemudian, cari lagi listen dan ubah menjadi /var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock;
Terakhir, kita perlu mengubah pengaturan listen.owner dan listen.group menjadi nginx juga.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Simpan dan tutup file yang telah kita konfigurasi tadi dengan CTRL + X kemudian klik Y dan ENTER.
Setelah itu restart php-fpm menggunakan,
systemctl start php-fpm
Langkah 5 : melakukan Konfigurasi Nginx dengan PHP
Langkah terakhir dalam cara install LEMP Stack di CentOS 7 ini adalah dengan melakukan konfigurasi agar Nginx dapat bekerja menggunakan PHP.
Buatlah sebuah file konfigurasi menggunakan text editor nano.
nano /etc/nginx/conf.d/default.conf
File tersebut masih kosong, sehingga kalian harus membuat isinya dengan copy paste dibawah ini kedalam file tersebut.
server {
listen 80;
server_name IP_SERVER_KALIAN;
# note that these lines are originally from the "location /" block
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
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;
}
}
Perlu diperhatikan! ganti IP_SERVER_KALIAN menggunakan alamat IP VPS kalian.
Simpan dan tutup file tersebut ketika sudah selesai. Selanjutnya, restart Nginx untuk menerapkan perubahan yang telah kita buat tadi.
systemctl restart nginx
Sekarang webserver sudah siap. Untuk memastikan PHP sudah berjalan normal di Nginx kita akan melakukan sebuah test.
Langkah 6 : Test PHP pada Web Server
Setelah webserver siap digunakan, kemudian kita akan membuat sebuah file untuk mengetest PHP. Apakah sudah berjalan dengan baik atau belum.
Buat file PHP Baru dengan nama info.php pada direktori /usr/share/nginx/html.
nano /usr/share/nginx/html/info.php
Untuk menampilkan informasi mengenai PHP dan memastikan sudah berjalan dengan baik, isi file info.php tersebut dengan kode dibawah ini.
<?php
phpinfo();
Selanjutnya, tutup dan simpan file tersebut.
Sekarang, kalian bisa melakukan test pada webserver apakah sudah menampilkan kode yang telah kita buat tadi dengan baik.
Caranya adalah dengan mengunjungi IP Server kalian kemudian diikuti dengan /info.php.
http://ip_server_kalian/info.php
Kalian akan melihat halaman yang sama seperti ini.
Kalian dapat menghapus file tersebut setelah memastikan PHP berjalan dengan baik.
Mengapa perlu menghapusnya? karena dalam file tersebut berisi informasi sensitif mengenai PHP dan CentOS kalian.
Kalian dapat menggunakan perintah rm untuk menghapus file tersebut.
rm /usr/share/nginx/html/info.php
Kesimpulan
Dalam panduan ini, kalian sudah berhasil membuat LEMP Stack yang terdiri dari Nginx, MariaDB dan PHP.
Webserver sudah siap digunakan untuk membuat blog menggunakan WordPress atau keperluan yang lain.