Belajar Devuan GNU/Linux - Web Server & Database Stack
Episode 12 of 23

Belajar Devuan GNU/Linux - Web Server & Database Stack

Episode ini membangun web server dan database stack di Devuan: nginx dan Apache2 dengan PHP-FPM, MariaDB dan PostgreSQL, lalu mengaktifkan semua service lewat init system dengan service dan update-rc.d sehingga ikut berjalan saat boot.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Sekarang saatnya membangun sesuatu yang nyata: stack web server dan database di Devuan. Episode 12 memandu kalian memasang nginx dan Apache2 sebagai web server, PHP-FPM untuk memproses PHP, serta MariaDB dan PostgreSQL sebagai database. Semua service ini diaktifkan lewat init system — pola service dan update-rc.d dari episode 5.

Di sinilah kekuatan Devuan terlihat: tidak ada unit file misterius. Setiap service web dan database adalah script di /etc/init.d/ yang bisa dibaca, dimodifikasi, dan dimonitor secara langsung. Kalian akan memahami persis apa yang berjalan di server kalian.

Web Server: nginx dan Apache2

nginx: Ringan dan Cepat

nginx adalah pilihan populer untuk situs modern: ringan, cepat untuk static files, dan efisien sebagai reverse proxy. Pasang dan jalankan:

Pasang dan jalankan nginx
sudo apt update
sudo apt install nginx
sudo service nginx start
sudo service nginx status

sudo service nginx start menyalakan daemon nginx. Verifikasi dengan membuka http://localhost di browser atau lewat curl:

Uji nginx
curl -I http://localhost

Respon HTTP/1.1 200 OK dari curl -I http://localhost menandakan nginx berjalan. Root dokumen default berada di /var/www/html/.

Apache2: Fleksibel dan Banyak Digunakan

Apache2 adalah web server klasik yang sangat fleksibel lewat modul dan file .htaccess:

Pasang Apache2
sudo apt install apache2
sudo service apache2 start
sudo a2enmod rewrite
sudo service apache2 restart

a2enmod rewrite mengaktifkan modul rewrite — sering dibutuhkan aplikasi web. Setelah mengubah modul, restart Apache agar perubahan terbaca.

PHP-FPM

Menghubungkan PHP ke Web Server

PHP-FPM menjalankan PHP sebagai service terpisah yang berkomunikasi dengan web server lewat socket FastCGI:

Pasang PHP-FPM
sudo apt install php-fpm
sudo service php-fpm start

sudo service php-fpm start menyalakan daemon php-fpm. Konfigurasi pool berada di /etc/php/*/fpm/pool.d/ — di sinilah kalian mengatur user, socket, dan batas eksekusi.

Konfigurasi nginx untuk PHP

Contoh blok server nginx yang meneruskan request PHP ke php-fpm:

/etc/nginx/sites-available/lab
server {
    listen 80;
    root /var/www/lab;
    index index.php index.html;
 
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

Aktifkan situs dan uji:

Aktifkan situs
sudo ln -s /etc/nginx/sites-available/lab /etc/nginx/sites-enabled/
sudo service nginx reload

sudo service nginx reload memuat ulang konfigurasi tanpa memutus koneksi — praktik yang lebih halus daripada restart.

Database: MariaDB dan PostgreSQL

MariaDB

MariaDB adalah turunan MySQL yang stabil dan populer untuk aplikasi web:

Pasang dan amankan MariaDB
sudo apt install mariadb-server
sudo service mariadb start
sudo mysql_secure_installation

sudo mysql_secure_installation memandu pengaturan password root, penghapusan user anonim, dan database test. Setelah itu, buat database dan user:

Buat database
sudo mariadb -e "CREATE DATABASE labdb;"
sudo mariadb -e "CREATE USER 'lab'@'localhost' IDENTIFIED BY 'rahasia';"
sudo mariadb -e "GRANT ALL ON labdb.* TO 'lab'@'localhost';"

PostgreSQL

PostgreSQL menawarkan fitur lanjutan dan integritas data yang kuat:

Pasang PostgreSQL
sudo apt install postgresql
sudo service postgresql start
sudo -u postgres createuser --interactive

sudo service postgresql start menyalakan cluster PostgreSQL. Untuk membuat database dan user baru, gunakan sudo -u postgres createdb labdb lalu masuk lewat psql.

Mengaktifkan Service Saat Boot

update-rc.d untuk Auto-Start

Agar stack tetap hidup setelah reboot, aktifkan auto-start setiap service:

Aktifkan auto-start service
sudo update-rc.d nginx enable
sudo update-rc.d php-fpm enable
sudo update-rc.d mariadb enable

update-rc.d nginx enable membuat symlink di /etc/rcN.d/ sehingga nginx ikut boot. Verifikasi semua service berjalan setelah reboot dengan service --status-all.

Penutup

Episode 12 membangun web server dan database stack di Devuan: nginx dan Apache2 sebagai web server, PHP-FPM untuk pemrosesan PHP, serta MariaDB dan PostgreSQL untuk penyimpanan data — semuanya dikelola dan diaktifkan lewat init system.

Inti yang harus dibawa pulang:

  • nginx cepat dan ringan; Apache2 fleksibel dengan modul.
  • PHP-FPM terhubung lewat socket FastCGI.
  • sudo service nginx reload memuat ulang tanpa memutus koneksi.
  • mysql_secure_installation mengamankan MariaDB dari default.
  • PostgreSQL memakai user postgres untuk administrasi.
  • update-rc.d mengaktifkan service agar ikut boot.

Di episode 13 selanjutnya kita akan membahas firewall: nftables dan iptables — membangun ruleset nftables, memahami perbedaan dengan iptables, mengaktifkan UFW, serta mengonfigurasi IP forwarding, NAT, dan gateway di Devuan.

Belajar Devuan GNU/Linux - Web Server & Database Stack | Belajar Devuan GNU/Linux