Panduan Lengkap Install LEMP Stack (Nginx, MariaDB, PHP) di VPS Ubuntu 24.04

Panduan lengkap instalasi LEMP Stack (Linux, Nginx, MariaDB, PHP) di Ubuntu 24.04. Mulai dari setup server, konfigurasi PHP-FPM, hingga uji koneksi untuk website dinamis.

Waktu baca: 7 menit • Lihat progres baca di bar atas
Oleh Fadly Ilham Fatahilah
Dipublikasikan 15 Agustus 2025

Halo, Kawan Belajar!

LEMP Stack adalah kombinasi perangkat lunak yang sering digunakan untuk menjalankan aplikasi web berbasis PHP dengan web server Nginx dan database MariaDB.

Nama LEMP sendiri adalah singkatan dari:

  • Linux – Sistem operasi berbasis kernel Linux (pada panduan ini menggunakan Ubuntu 24.04).

  • Nginx (Engine-X) – Web server yang cepat, ringan, dan populer untuk melayani permintaan HTTP.

  • MariaDB – Sistem manajemen basis data untuk menyimpan informasi website.

  • PHP – Bahasa pemrograman server-side untuk membuat website dinamis.

Panduan ini akan memandu kamu menginstal LEMP Stack di VPS Ubuntu 24.04, mulai dari instalasi web server hingga pengujian skrip PHP.

Persyaratan Awal

Sebelum memulai instalasi, pastikan kamu sudah memenuhi syarat berikut:

  • VPS dengan sistem operasi Ubuntu 24.04
    Jika belum memiliki VPS, kamu bisa menggunakan Kilat VM 2.0 dari CloudKilat. Untuk panduan pemesanan layanan, silakan ikuti langkah-langkah berikut ini.

  • Nama domain aktif
    Pastikan domain sudah aktif dan diarahkan (pointing) ke VPS yang akan digunakan. Jika belum punya domain, kamu dapat mendaftarkannya melalui CloudKilat. Panduan pendaftarannya tersedia di sini.

  • Hak akses ke user dengan privilege sudo (root) pada VPS
    Akses ini diperlukan untuk menjalankan instalasi dan konfigurasi LEMP Stack.

Rangkuman Versi Aplikasi yang Digunakan

Dalam panduan ini, berikut detail versi dari sistem operasi dan aplikasi yang digunakan:

  1. Sistem Operasi: Ubuntu 24.04 LTS
  2. Nginx: 1.24.0
  3. MariaDB: 10.11.x (default Ubuntu 24.04)
  4. PHP: 8.3.x

Langkah-langkah Instalasi LEMP Stack

Langkah 1: Perbarui Paket Sistem

Sebelum menginstal software baru, pastikan daftar paket dan sistem sudah diperbarui agar mendapatkan versi terbaru dan lebih aman. Silakan jalankan perintah berikut di terminal:

sudo apt update -y

Perbarui Paket Sistem

Gambar 1: Perbarui Paket Sistem

Langkah 2: Instalasi Nginx

Nginx adalah web server yang bertugas menerima permintaan dari browser pengunjung dan mengirimkan respon berupa halaman web. Gunakan perintah berikut untuk menginstal Nginx:

sudo apt install nginx -y

Instalasi Nginx

Gambar 2: Instalasi Nginx

Setelah instalasi selesai, aktifkan Nginx agar otomatis berjalan saat server dinyalakan:

sudo systemctl enable nginx

Kemudian jalankan layanan Nginx:

sudo systemctl start nginx

Terakhir, pastikan Nginx berjalan dengan memeriksa statusnya:

systemctl status nginx

Jika statusnya aktif coba buka http://IP_VPS di browser. Kamu akan melihat halaman default Nginx sebagai tanda instalasi NGINX telah berhasil.

Cek Status Nginx

Gambar 3: Cek Status Nginx

Halaman Default NGINX

Gambar 4: Halaman Default Nginx

Kamu juga bisa melakukan pengecekan versi Nginx dengan menjalankan perintah berikut:

nginx -version

Cek Versi Nginx

Gambar 5: Cek Versi Nginx

Langkah 3: Instalasi MariaDB

MariaDB adalah sistem manajemen basis data yang digunakan untuk menyimpan dan mengelola data website seperti konten, akun pengguna, dan konfigurasi aplikasi.

Lakukan instalasi service MariaDB dengan menjalankan perintah berikut:

sudo apt install mariadb-server -y

Instalasi MariaDB

Gambar 6: Instalasi MariaDB

Setelah instalasi selesai, aktifkan dan jalankan layanan MariaDB:

sudo systemctl enable mariadb
sudo systemctl start mariadb

Untuk mengetahui versi MariaDB yang terinstal, silakan jalankan perintah berikut:

mariadb --version

Cek Versi MariaDB

Gambar 6: Cek Versi MariaDB

Setelah MariaDB terinstal, jalankan perintah berikut untuk meningkatkan keamanan:

sudo mysql_secure_installation

Panduan pengisian:

  • Enter current password for root (enter for none): Tekan Enter (karena default belum ada password).
  • Switch to unix_socket authentication [Y/n]: ketik n lalu tekan Enter.
  • Change the root password? [Y/n]: ketik Y lalu masukkan password baru untuk root MariaDB.
  • Remove anonymous users? [Y/n]: ketik Y.
  • Disallow root login remotely? [Y/n]: ketik Y.
  • Remove test database and access to it? [Y/n]: ketik Y.
  • Reload privilege tables now? [Y/n]: ketik Y.

Skrip ini akan membantumu:

  • Mengatur password untuk akun root database.
  • Menghapus user anonim bawaan.
  • Menonaktifkan akses root dari jarak jauh.
  • Menghapus database test yang tidak diperlukan.

Langkah 4: Instalasi PHP

PHP adalah bahasa pemrograman server side yang digunakan untuk membuat website dinamis, seperti WordPress, Laravel, atau sistem manajemen konten lainnya.

Pada Ubuntu 24.04, versi PHP bawaan yang tersedia di repository adalah PHP 8.3. Versi ini membawa peningkatan performa dan fitur terbaru yang kompatibel dengan banyak aplikasi modern.

Dalam instalasi LEMP Stack, kita akan memasang dua paket penting:

  • php-fpm (PHP FastCGI Process Manager) — modul yang memungkinkan Nginx menjalankan skrip PHP dengan lebih cepat dan efisien melalui protokol FastCGI.

  • php-mysql — ekstensi yang memungkinkan PHP berinteraksi dengan database MariaDB atau MySQL.

Catatan: Ekstensi di atas adalah paket inti yang paling dibutuhkan. Jika nantinya kamu ingin mendeploy website dengan kebutuhan khusus (misalnya untuk mengelola gambar, PDF, caching, atau API tertentu), kamu bisa menambahkan ekstensi PHP lain seperti php-gd, php-xml, php-curl, dan sebagainya sesuai kebutuhan.

Jalankan perintah berikut untuk instalasinya

sudo apt install php-fpm php-mysql -y

Instalasi PHP

Gambar 7: Instalasi PHP

Setelah instalasi selesai, aktifkan layanan PHP-FPM dengan jalankan perintah berikut:

sudo systemctl start php8.3-fpm.service
sudo systemctl enabled php8.3-fpm.service

Pastikan layanan PHP-FPM sudah aktif dengan menjalankan perintah berikut:

sudo systemctl status php8.3-fpm

Pastikan layanan PHP-FPM dalam kondisi aktif

Gambar 8: Pastikan layanan PHP-FPM dalam kondisi aktif

Selain itu, kamu juga bisa cek versi PHP untuk memastikan instalasi berhasil:

php -v

Cek Versi PHP

Gambar 9: Cek Versi PHP

Langkah 5: Mengkoneksikan Nginx dengan PHP-FPM

Secara bawaan, Nginx tidak dapat langsung memproses file PHP. Tugasnya hanya melayani file statis seperti HTML, CSS, JavaScript, atau gambar. Untuk menjalankan skrip PHP, Nginx perlu meneruskannya ke PHP-FPM (FastCGI Process Manager) yang akan memprosesnya dan mengembalikan hasilnya ke browser.

Pertama, periksa terlebih dahulu bagaimana PHP-FPM menerima koneksi. Jalankan perintah berikut:

cat /etc/php/8.3/fpm/pool.d/www.conf | grep "^listen ="

Jika hasilnya seperti:

listen = /run/php/php8.3-fpm.sock

berarti PHP-FPM menggunakan Unix socket. Namun jika yang muncul adalah:

listen = 127.0.0.1:9000

berarti PHP-FPM menerima koneksi melalui TCP/IP di port 9000.

Perbedaan ini mempengaruhi konfigurasi Nginx:

  • Unix socket: umumnya lebih cepat di server lokal karena tidak lewat protokol jaringan.
  • TCP/IP: lebih fleksibel jika PHP-FPM dijalankan di server yang berbeda atau ingin memisahkan layer web dan aplikasi.

Setelah mengetahui tipe koneksinya, buat direktori root website (misalnya /var/www/namadomain.com) dan sesuaikan kepemilikannya dengan user yang digunakan untuk web. Lalu buat file server block di /etc/nginx/sites-available/namadomain.com dengan isi seperti berikut:

  • Jika menggunakan Unix socket:
server {
    listen 80;
    server_name namadomain.com www.namadomain.com;

    root /var/www/namadomain.com;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock; # Sesuaikan jika berbeda
    }

    location ~ /\.ht {
        deny all;
    }
}
  • Jika menggunakan TCP/IP (port 9000):
server {
    listen 80;
    server_name namadomain.com www.namadomain.com;

    root /var/www/namadomain.com;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000; # Sesuaikan jika berbeda
    }

    location ~ /\.ht {
        deny all;
    }
}

Simpan file tersebut, lalu aktifkan konfigurasi dengan membuat symlink:

sudo ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/

Periksa konfigurasi Nginx:

sudo nginx -t

Jika tidak ada error, muat ulang Nginx:

sudo systemctl reload nginx

Untuk memastikan PHP sudah terhubung, buat file info.php di folder root website dengan isi:

<?php
phpinfo();
?>

Lalu akses http://[namadomain.com]/info.php. Jika halaman informasi PHP muncul, berarti Nginx dan PHP-FPM sudah terkoneksi dengan benar.

Uji Koneksi Nginx dan PHP-FPM

Gambar 10: Uji Koneksi Nginx dan PHP-FPM

Catatan:

  • Ganti namadomain.com dengan domain aktual yang sudah mengarah ke VPS.
  • Lokasi direktori root /var/www/namadomain.com hanyalah contoh, kamu dapat menyesuaikannya sesuai kebutuhan.

Penutup

Sampai tahap ini, VPS Ubuntu 24.04 kamu sudah memiliki Nginx, PHP-FPM, dan MariaDB yang terintegrasi dengan baik. Kamu sudah siap untuk mengunggah website dinamis berbasis PHP, baik itu CMS seperti WordPress, OpenCart, maupun aplikasi buatan sendiri. Pastikan untuk menghapus file info.php setelah pengujian demi alasan keamanan, serta mengaktifkan konfigurasi keamanan tambahan sesuai kebutuhan.

Butuh bantuan lebih lanjut?

Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.