Cara Pasang LEMP Stack di Debian 13 Trixie
Cara memasang Nginx 1.26, MariaDB 11.8, dan PHP 8.4-FPM di Debian 13 Trixie dari repositori resmi, lengkap dengan hal yang berbeda dari Ubuntu.
Jawaban singkat
Debian 13 Trixie menyediakan Nginx 1.26, MariaDB 11.8, dan PHP 8.4 di repositori resmi. Pasang dengan apt install nginx mariadb-server php-fpm php-mysql, amankan MariaDB, lalu arahkan Nginx ke socket /run/php/php8.4-fpm.sock.
Daftar isi
Untuk memasang LEMP di Debian 13, cukup satu perintah dari repositori resmi: apt install nginx mariadb-server php-fpm php-mysql. Debian 13 "Trixie", yang dirilis 9 Agustus 2025, membawa Nginx 1.26, MariaDB 11.8, dan PHP 8.4, jadi tidak perlu repositori pihak ketiga untuk versi yang cukup baru.
Kenapa perlu panduan khusus, padahal Debian mirip Ubuntu? Karena ada beberapa perbedaan kecil yang sering membuat orang tersangkut: sudo belum tentu terpasang, UFW tidak ada secara bawaan, versi PHP-nya berbeda sehingga path socket juga berbeda, dan MariaDB-nya sudah generasi 11. Bila kamu sudah pernah mengikuti panduan LEMP di Ubuntu 24.04, artikel ini berfokus pada hal yang berbeda.
Versi apa yang didapat di Debian 13?
| Komponen | Debian 13 Trixie | Ubuntu 24.04 (pembanding) |
|---|---|---|
| Nginx | 1.26 | 1.24 |
| MariaDB | 11.8 | 10.11 |
| PHP | 8.4 | 8.3 |
| Socket PHP-FPM | /run/php/php8.4-fpm.sock | /run/php/php8.3-fpm.sock |
| File php.ini FPM | /etc/php/8.4/fpm/php.ini | /etc/php/8.3/fpm/php.ini |
| sudo bawaan | Tergantung cara instalasi | Ya |
| UFW bawaan | Tidak | Ya (belum aktif) |
Nomor rilis kecil (patch) akan terus naik lewat pembaruan keamanan, jadi cek versi persisnya di servermu dengan nginx -v, mariadb --version, dan php -v. Bila masih ragu memilih distro, perbandingannya ada di memilih OS untuk VPS baru.
Persiapan yang khas Debian
- Pastikan sudo tersedia. Bila saat instalasi kamu mengisi password root, Debian tidak memasang sudo untuk user biasa. Login sebagai root (
su -), lalu jalankanapt install sudodanusermod -aG sudo namauser. Logout dan login lagi agar grupnya berlaku. Di banyak image VPS, kamu malah langsung login sebagai root, jadi tinggal buat user baru. - Perbarui sistem.
sudo apt update && sudo apt full-upgrade -y. Kebiasaan mengelola paket dibahas lebih rinci di mengelola paket dengan apt. - Siapkan firewall. Debian tidak mengaktifkan firewall apa pun secara bawaan. Pilihan paling mudah:
sudo apt install ufw, lalusudo ufw allow OpenSSH,sudo ufw allow 80,443/tcp, dansudo ufw enable. Selalu izinkan SSH sebelum mengaktifkan UFW.
Langkah inti pemasangan
- Pasang paket.
sudo apt install -y nginx mariadb-server php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-intlPaketphp-fpmdi Trixie menarikphp8.4-fpm. Hindari memasang paketphpsaja, karena bisa ikut menarik Apache. - Pastikan layanan aktif.
sudo systemctl enable --now nginx mariadb php8.4-fpm - Amankan MariaDB.
sudo mariadb-secure-installation. Hapus user anonim, larang root login jarak jauh, dan hapus database test. Root tetap memakai autentikasi socket, jadi masuk ke konsol database cukup dengansudo mariadb. - Buat database dan user aplikasi.
Di dalam
sudo mariadb, jalankanCREATE DATABASE app_db CHARACTER SET utf8mb4;, laluCREATE USER 'app_user'@'localhost' IDENTIFIED BY 'password-kuat';danGRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';. - Buat server block Nginx di
/etc/nginx/sites-available/contoh.com(contoh di bawah), lalu aktifkan dengansudo ln -s /etc/nginx/sites-available/contoh.com /etc/nginx/sites-enabled/. - Uji dan muat ulang.
sudo nginx -tlalusudo systemctl reload nginx.
Contoh server block untuk aplikasi PHP dengan satu pintu masuk index.php:
server {
listen 80;
listen [::]:80;
server_name contoh.com www.contoh.com;
root /var/www/contoh.com;
index index.php index.html;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
location ~ /\.(?!well-known) {
deny all;
}
}
Buat foldernya dengan sudo mkdir -p /var/www/contoh.com, atur pemiliknya (sudo chown -R $USER:www-data /var/www/contoh.com), dan nonaktifkan situs bawaan dengan sudo unlink /etc/nginx/sites-enabled/default bila tidak dipakai.
Bagaimana memastikan PHP benar-benar jalan?
Buat file uji sementara: echo "<?php phpinfo();" > /var/www/contoh.com/info.php. Buka di browser dan cari baris Server API: FPM/FastCGI serta versi PHP 8.4. Setelah itu langsung hapus file tersebut, karena isinya membuka detail konfigurasi server.
Untuk SSL, pasang Certbot dari repositori Debian: sudo apt install certbot python3-certbot-nginx, lalu sudo certbot --nginx -d contoh.com -d www.contoh.com. Pastikan DNS domain sudah mengarah ke IP server sebelum menjalankannya.
Hal yang perlu diperhatikan dengan PHP 8.4 dan MariaDB 11.8
Lompatan versi di Trixie membawa beberapa konsekuensi praktis:
- Kompatibilitas aplikasi lama. PHP 8.4 menandai sejumlah fitur lama sebagai usang (deprecated). Aplikasi atau plugin yang lama tidak diperbarui bisa memunculkan banyak peringatan atau error. Cek dulu dukungan PHP 8.4 di dokumentasi aplikasimu sebelum migrasi.
- Pindah dari server Debian 12. Bookworm memakai PHP 8.2 dan MariaDB 10.11. Bila memindahkan aplikasi dari server lama, uji dulu di server baru sebelum mengalihkan domain, dan dump database dengan
mariadb-dumpdari server lama. - Nama perintah MariaDB. Biasakan memakai nama
mariadb,mariadb-dump, danmariadb-admin. Nama lama berawalanmysqlmasih sering ditemui di tutorial, tapi MariaDB sudah lama mengarahkan pengguna ke nama baru. - Setelan database. Nilai bawaan MariaDB cukup untuk situs kecil. Untuk beban lebih tinggi, setelan yang paling berpengaruh dibahas di setelan MySQL dan MariaDB.
Pertanyaan yang sering diajukan
Kenapa muncul error sudo: command not found di Debian 13?
Sudo tidak terpasang bila password root diisi saat instalasi. Masuk sebagai root dengan su -, pasang paket sudo, lalu tambahkan user ke grup sudo.
Nginx menampilkan 502 Bad Gateway, apa yang salah?
Paling sering path socket di fastcgi_pass masih memakai versi PHP lain. Di Debian 13, path yang benar adalah /run/php/php8.4-fpm.sock, dan layanan php8.4-fpm harus berjalan.
Bisakah memakai PHP 8.3 di Debian 13?
Repositori resmi Trixie menyediakan PHP 8.4. Versi lain hanya tersedia lewat repositori tambahan, dan pemakaiannya perlu dipertimbangkan dari sisi pembaruan keamanan.


