Cara Install LEMP Stack di CentOS

LEMP ini sebenarnya adalah singkatan dari Linux, Nginx(Engine X), MariaDB dan PHP. Dari singkatannya saja sudah kelihatan kan kalau LEMP ini adalah kumpulan software yang kamu butuhkan untuk menjalankan sebuah website di servermu.

Dan kali ini saya akan share cara untuk menginstall LEMP stack di Centos.

Sebelum kita melakukan installasi LEMP, kita akan melakukan persiapan awal terlebih dahulu. yaitu:

  1. Update OS dengan menggunakan perintah:
    yum update
  2. Install package yang akan kita butuhkan nanti:
    yum install epel-release
    yum install yum-utils

Step 1: Install Nginx

Sebelum kita menginstall Nginx, kita tambahkan dulu repository Nginx dengan menggunakan perintah:

cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/\$basearch/
gpgcheck=0
enabled=1
EOF

Setelah repo ditambahkan, bisa kita lanjutkan dengan menginstall Nginx. Untuk caranya dengan menggunakan perintah:

yum install nginx

Sekarang kita jalankan dan aktifkan service Nginx saat booting:

systemctl enable nginx
systemctl start nginx

Step 2: Install MariaDB

Setelah web server Nginx sudah terinstall sekarang kita install database servernya, apalagi kalau bukan MariaDB.

Sama seperti proses installasi Nginx, kita install terlebih dahulu repository MariaDB dengan perintah:

cat << EOF > /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.3 CentOS repository list - created 2018-07-28 04:18 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Setelah itu kita lanjutkan dengan menginstall MariaDB server dan juga MariaDB client:

yum install MariaDB-server MariaDB-client

Sekarang jalankan service MariaDB dan aktifkan juga servicenya saat booting:

systemctl start mariadb
systemctl enable mariadb

Jangan lupa juga untuk mengamankan MariaDBmu dengan menggunakan perintah:

mysql_secure_installation

Step 3: Install PHP

Install web server sudah, install database server juga sudah. Sekarang waktunya kita untuk menginstall PHP dan versi PHP yang akan di install kali ini adalah PHP 7.2. Dan yang pertama kita lakukan adalah menginstall repository Remi dengan menjalankan perintah:

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Dan aktifkan repo Remi untuk PHP 7.2 dengan perintah:

yum-config-manager --enable remi-php72

Sekarang kita install PHP beserta module yang kita butuhkan dengan perintah:

yum install php php-fpm php-mysqlnd php-common

Konfigurasi PHP-FPM

Setelah PHP terinstall, kita akan melanjutkan dengan melakukan konfigurasi PHP-FPM.
Pertama kita edit terlebih dahulu file konfigurasi php.ini

vi /etc/php.ini

Lalu kita cari setting cgi.fix_pathinfo dan lalu uncomment setting tersebut dengan menghapus tanda ; yang ada dibagian depan. Lalu setting value cgi.fix_pathinfo dari 1 menjadi 0. Kurang lebih nanti hasilnya akan seperti berikut:

; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0

Setelah itu kita edit file konfigurasi PHP-FPM

vi /etc/php-fpm.d/www.conf

Dan kita setting agar PHP-FPM menggunakan socket dengan merubah listen menjadi seperti berikut:

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

Lalu rubah owner dan group socket PHP-FPM dengan merubah listen.owner dan listen.group menjadi seperti berikut:

listen.owner = root
listen.group = nginx

Selanjutnya rubah user dan juga group dari apache menjadi nginx:

user  = nginx
group = nginx

Setelah itu simpan konfigurasi yang baru dan keluar dari editor.

Dan sekarang kita jalankanservice PHP-FPM dan juga mengaktifkan servicenya saat booting:

systemctl start php-fpm
systemctl enable php-fpm

Step 4: Konfigurasi Nginx dan PHP-FPM

Sekarang semua komponen LEMP sudah terinstall, namun masih ada konfigurasi yang harus dilakukan yaitu menghubungkan Nginx dengan PHP-FPM. Hal ini karena Nginx tidak dapat memproses konten dinamis.

Lalu bagaimana caranya? Saya coba contohkan dengan menggunakan konfigurasi default Nginx. Pertama kita buka default konfigurasi Nginx:

vi /etc/nginx/conf.d/default.conf

Lalu rubah konfigurasi menjadi seperti berikut:

server {
    listen	80;
    server_name	domain_name; #rubah menjadi nama domainmu atau IP server
    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;
    }
}

Simpan konfigurasi dan keluar dari editor, setelah itu reload konfigurasi Nginx dengan menggunakan perintah:

systemctl reload nginx

Test Nginx dan PHP

Sekarang saatnya kita melakukan test Nginx dan PHP yang sudah kita konfigurasi tadi. Cara mudah adalah dengan menggunakan phpinfo. Caranya kamu bisa menjalankan perintah:

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

Lalu coba akses melalui url http://ipserver/info.php dan akan muncul halaman dengan tampilan seperti berikut:

Dengan begitu proses installasi LEMP di server CentOSmu sudah selesai.

VPS Manage Service Offer
Jika Anda tidak punya waktu untuk melakukan semua hal ini, atau jika ini bukan bidang keahlian Anda, kami menawarkan layanan untuk “Setting dan Manage VPS / Server“. Silakan hubungi kami untuk mendapatkan penawaran terbaik!