Hai kamu yang lagi pengen bikin web server sendiri — mungkin buat naro project, belajar, atau sekadar iseng-iseng jadi sysadmin dadakan — tenang aja, gue bakal bimbing kamu langkah demi langkah pake bahasa yang nggak kaku, nggak njelimet, dan beneran bisa diikuti walau kamu baru pertama kali pegang terminal.
Kita bakal pake:
- Ubuntu Server (versi LTS terbaru, misal 22.04)
- Nginx (baca: “engine-x”) — web server ringan dan kenceng
- PHP — biar web kamu bisa jalanin script dinamis
- phpMyAdmin — buat ngatur database MySQL/MariaDB lewat browser, biar gak pusing ngetik SQL manual
💡 Persiapan Awal
Pastiin dulu kamu punya:
- Akses ke server Ubuntu (bisa VPS, cloud, atau mesin lokal pake VirtualBox/WSL)
- Koneksi internet (ya iyalah)
- Kopi atau teh (ini wajib, biar semangat)
Login ke server kamu lewat SSH atau langsung kalo pake desktop.
🚀 Langkah 1: Update Sistem
Jangan lupa update dulu biar semua paket terbaru dan aman dari bug.
sudo apt update && sudo apt upgrade -yTunggu sampe selesai. Sambil nunggu, kamu bisa cek notif IG dulu — gapapa, gue ngerti.
🌐 Langkah 2: Install Nginx
Nginx tuh web server yang simpel, cepet, dan gak rakus RAM. Cocok buat pemula.
sudo apt install nginx -ySetelah install, cek apakah Nginx udah jalan:
sudo systemctl status nginxHarusnya keliatan tulisan active (running). Kalo belum, nyalain manual:
sudo systemctl start nginx
sudo systemctl enable nginx # biar nyala otomatis pas rebootCoba buka browser, ketik IP server kamu. Harusnya keliatan halaman default Nginx kayak “Welcome to nginx!”. Kalo iya, selamat — kamu udah punya web server! 🎉
🐘 Langkah 3: Install MariaDB (atau MySQL)
phpMyAdmin butuh database, jadi kita install MariaDB — versi open-source dari MySQL, lebih ringan dan tetep powerful.
sudo apt install mariadb-server mariadb-client -ySetelah install, amankan instalasi MariaDB biar gak gampang di-hack:
sudo mysql_secure_installationIkutin petunjuknya:
- Tekan Enter aja kalo ditanya password root (karena default-nya kosong)
- Lalu set password root (buat yang kuat tapi bisa kamu inget)
- Jawab
Yuntuk semua pertanyaan (hapus user anonim, disable remote root, hapus test db, reload privilege)
🐘 Langkah 4: Install PHP + Modul yang Dibutuhin
PHP versi terbaru biasanya udah tersedia di repo Ubuntu. Kita install PHP + modul buat Nginx dan MySQL.
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -yPenjelasan singkat:
php-fpm— biar PHP bisa jalan di Nginxphp-mysql— konek ke databasephp-curl,gd,mbstring, dll — modul pendukung buat aplikasi kayak WordPress, Laravel, dll
Cek versi PHP biar yakin:
php -v⚙️ Langkah 5: Konfigurasi Nginx + PHP
Sekarang kita atur Nginx biar bisa jalanin file PHP.
Buka file konfigurasi default:
sudo nano /etc/nginx/sites-available/defaultCari bagian yang ada index index.html ..., tambahin index.php di depan:
index index.php index.html index.htm;Lalu cari blok yang mulai dari:
# pass PHP scripts to FastCGI serverHapus tanda # di depan baris-baris ini (jadi uncomment):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # sesuaikan versi PHP kamu!
}💡 Catatan: Cek versi PHP kamu pake
ls /run/php/— kalo pake PHP 8.2, ganti jadiphp8.2-fpm.sock.
Simpan file (Ctrl+O → Enter → Ctrl+X).
Test konfigurasi Nginx:
sudo nginx -tKalo muncul syntax is ok dan test is successful, berarti aman. Restart Nginx:
sudo systemctl reload nginx🧪 Cek PHP Jalan atau Nggak
Bikin file cek PHP:
sudo nano /var/www/html/info.phpIsi dengan:
<?php
phpinfo();
?>Simpan, lalu buka browser → http://[IP-SERVER]/info.php
Harusnya keliatan halaman biru-putih yang nampilin semua info PHP. Kalo iya, berarti PHP udah nyambung sama Nginx. Keren!
Jangan lupa hapus file ini nanti buat keamanan:
sudo rm /var/www/html/info.php
🖥️ Langkah 6: Install phpMyAdmin
Nah, ini bagian yang sering bikin pusing — tapi tenang, kita bikin simpel.
Install phpMyAdmin:
sudo apt install phpmyadmin -yPas proses install:
- Pilih Nginx (pake spasi buat centang, enter buat lanjut)
- Pilih Yes saat ditanya konfigurasi database dengan dbconfig-common
- Masukin password buat phpMyAdmin (boleh beda dari root MariaDB)
Secara default, phpMyAdmin bakal diinstall di /usr/share/phpmyadmin. Kita perlu bikin symlink ke folder web biar bisa diakses via browser.
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadminCoba akses: http://[IP-SERVER]/phpmyadmin
Login pake:
- Username:
root - Password: password MariaDB yang kamu set tadi
Kalo bisa login — SELAMAT! Kamu resmi punya web server + database admin panel. 🥳
🔐 Bonus: Amankan phpMyAdmin (Biarpun Cuma Buat Belajar)
Biar gak gampang dijebol, kita tambahin basic auth.
Bikin user + password:
sudo htpasswd -c /etc/nginx/.htpasswd adminphpMasukin password (2x). Nanti file .htpasswd bakal dibuat.
Lalu edit konfigurasi Nginx:
sudo nano /etc/nginx/sites-available/defaultTambahin di dalam blok server (sebelum location):
location /phpmyadmin {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}Test & reload:
sudo nginx -t
sudo systemctl reload nginxSekarang, pas buka /phpmyadmin, bakal muncul pop-up minta username (adminphp) dan password yang tadi kamu set.
✅ Selesai!
Sekarang kamu punya:
- Web server pake Nginx
- PHP yang jalan mulus
- Database MariaDB
- Panel admin phpMyAdmin yang aman
Bisa buat naro WordPress, Laravel, CodeIgniter, atau project pribadi kamu. Tinggal upload file ke /var/www/html/ dan jalanin.
💬 Tips Buat Pemula
- Kalo error, baca pesan errornya pelan-pelan — biasanya solusinya ada di situ.
- Jangan takut coba-coba, server kamu, kamu yang pegang kendali.
- Backup konfigurasi penting sebelum diutak-atik.
- Kalo mentok, coba Googling — komunitas Ubuntu & Nginx besar banget, pasti ada yang pernah ngalamin.
Penutup
Gue sengaja nulis tutorial ini kayak lagi ngobrol sama temen — karena belajar server itu seru, bukan buat ditakutin. Kalo kamu bisa sampe sini, berarti kamu lebih jago dari 70% orang yang cuma bisa nanya “gimana caranya?” tapi gak pernah nyoba.
Semangat terus, jangan berhenti belajar. Next project? Coba deploy aplikasi beneran — siapa tau jadi startup unicorn! 🦄
Kalo ada yang bingung, komen aja — gue bales pake hati (dan kopi).
Salam,
— Sysadmin Dadakan yang Dulu Juga Pemula —


