Pendahuluan

LEMP stack adalah kombinasi perangkat lunak yang digunakan untuk menyajikan halaman web dinamis dan aplikasi web. LEMP adalah singkatan dari Linux, Nginx (diucapkan “Engine-X”), MySQL, dan PHP. Panduan ini akan menunjukkan cara menginstal LEMP stack di Ubuntu 20.04.

Prasyarat

  1. Akses ke server Ubuntu 20.04 dengan hak sudo
  2. Firewall yang diaktifkan di server Anda.

Langkah 1: Installasi Nginx

  1. Sebelum memulai installasi, pastikan paket-paket pada sistem anda sudah di perbaharui:
    • sudo apt update
    • sudo apt upgrade
  2. Setelah paket pada sistem sudah di perbaharui, baru kita install Nginx dengan menggunakan perintah berikut:
    • sudo apt install nginx
  3. JIka ufw firewall di server kami dalam keadaan enabled, kita harus mengallow koneksi ke nginx dengan cara sebagai berikut:
    • ketik “sudo ufw app list” nanti di situ akan terlihat list applikasi apa saja yang tersedia.
    • setelah itu kita ketikan “sudo ufw allow ‘Nginx HTTP‘. Jika kita sudah konfigure SSL untuk nginx maka kita bisa ketikan “sudo ufw allw ‘Nginx HTTPS’.
  4. Setelah selesai, aktifkan layanan Nginx dan atur agar berjalan saat startup:
    • sudo systemctl start nginx
    • sudo systemctl enable nginx
  5. Anda dapa mengakses Nginx dengan membuka browser dan mengetikan alamat IP anda atau nama domain anda untuk mengecek apakah nginx sudah terinstall. Jika anda melihat tampilan ini di browser, maka selamat nginx sudah terinstall di server anda.

Langkah 2: Installasi MySQL

MySQL adalah sistem manajemen basis data relasional yang populer. Untuk menginstalnya, gunakan perintah berikut:

  1. Ketik “sudo apt install mysql-server“, konfirm installasi dengan ketik “y“, lalu “ENTER“.
  2. Setelah selesai instalasi, disarankan untuk menjalankan command berikut “sudo mysql_secure_installation”. Command tersebut akan menghapus beberapa seting yang tidak secure, dan mengunci akses ke system database anda.
  3. Pada saat anda menjalankan command di langkah kedua, command itu akan menanyakan apakah ingin konfigur “VALIDATE PASSWORD PLUGIN”.

Jika anda jawab ‘Yes’, maka anda akan diminta untuk memilih level dari validasi password tersebut.

  1. Setelah selesai, coba test apakah anda bisa masuk ke MySQL konsole dengan mengetik “sudo mysql“. Jika berhasil akan menghasilkan output seperti berikut ini

Langkah 3: Installasi PHP

PHP adalah bahasa pemrograman yang banyak digunakan untuk mengembangkan aplikasi web. Untuk menginstal PHP dan modul-modul yang diperlukan, gunakan perintah berikut:

sudo apt install php-fpm php-mysql

Perintah diatas akan menginstall PHP-FPM, yang merupakan PHP FastCGI, serta modul PHP untuk berinteraksi dengan MySQL.

Langkah 4: Konfigurasi NGINX Untuk Menggunakan PHP

Agar NGINX dapat memproses file PHP, kita perlu membuat blok server baru di konfigurasi NGINX. Disini, alih-alih kita melakukan edit pada direktory /var/www/html, kita akan membuat direktory baru di dalam /var/www/ dengan memakai nama domain, dan meninggalkan /var/www/html sebagai tempat untuk default seting saja.

  1. Buat root web direktory untuk website anda dengan menggunakan command di bawah, dan set ownershipnya.

sudo mkdir /var/www/html/nama_domain

sudo chown -R $USER:$USER /var/www/nama_domain

  1. Selanjutnya buat file konfigurasi baru di NGINX “sites-available” , lalu masukan konfigurasi berikut

sudo vi /etc/nginx/sites-available/nama_domain

  1. Lalu copy-paste konfigurasi di bawah ini disesuaikan dengan nama domain anda.

server {
listen 80;
nama_domain www.nama_domain;
root /var/www/nama_domain;

index index.html index.htm index.php;

location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 }

location ~ /\.ht {
    deny all;
}

}

  1. Selanjutnya, hubungkan file konfigurasi tadi dengan konfig dari folder “sites-enabled“.

sudo ln -s /etc/nginx/sites-available/nama_domain /etc/nginx/sites-enabled

sudo unlink /etc/nginx/sites-enabled/default.

  1. Lalu uji konfigurasi NGNIX dengan mengetikan command dibawah

sudo nginx -t

  1. Jika tidak ada kesalahan, restart layanan nginx:

sudo systemctl restart nginx

  1. Setelah itu testing PHP dengan NGINX dengan membuat script info.php seperti berikut

vi /var/www/nama_domain/info.php

copy paste kode di bawah ini, dan save.

<?php

phpinfo();

Buka browser dan akses http://nama_domain/info.php atau http://ip_server/info.php, anda akan melihat halaman yang menampilkan informasi tentang konfigurasi PHP anda.