Oleh: arsad
Selamat datang di 4rsadject.my.id! Jika kamu bisa membaca tulisan ini, berarti kamu sedang mengakses sebuah website yang berjalan di atas infrastruktur server yang dibangun dari nol.
Artikel pertama ini bukan sekadar sapaan, melainkan sebuah engineering logbook (catatan teknis) tentang bagaimana saya mendeploy website ini melintasi berbagai rintangan troubleshooting jaringan dan sistem operasi.
🏗️ Spesifikasi Infrastruktur Kami
Website ini tidak berjalan di hosting instan (shared hosting), melainkan dikonfigurasi secara manual dengan arsitektur Distributed System berskala lab:
- Hypervisor: Baremetal Proxmox VE 9 (Cluster Node).
- Mesin Inti (Web Server): Virtual Machine (VM) Ubuntu 22.04 LTS.
- Web Engine: LAMP Stack (Apache2, MySQL 8, PHP 8).
- Pintu Gerbang (Gateway): LXC Container menjalankan Nginx sebagai Reverse Proxy.
🚧 Catatan Troubleshooting: Rintangan yang saya Taklukkan
Membangun server dari nol berarti harus siap berhadapan dengan error dan bug. Berikut adalah beberapa drama teknis yang berhasil kami selesaikan selama proses deployment:
1. Insiden “Salah Kamar” & Bentrok Port 80 Di awal konfigurasi, saya sempat secara tidak sengaja menginstal Nginx di dalam mesin VM yang sama dengan Apache. Hasilnya? Keduanya “berkelahi” memperebutkan Port 80 (Address already in use). Solusinya: Kami merancang ulang topologi dengan memisahkan Nginx ke dalam LXC Container terpisah agar murni bertugas sebagai makelar (Reverse Proxy).
2. Misteri HTTP Error 500 (Internal Server Error) Saat mengatur URL dinamis, Apache tiba-tiba mati dan memunculkan Error 500. Setelah melakukan investigasi ke dalam file log Apache (/var/log/apache2/error.log), kami menemukan Fatal Error. Ternyata, file inti wp-config.php bawaan WordPress tidak sengaja terhapus seluruhnya dan hanya menyisakan kode buatan kami. Solusinya: Melakukan restore file sample dan mengonfigurasi ulang secara hati-hati.
3. Bencana “Error Establishing a Database Connection” Ini adalah error yang paling keras kepala. Meskipun database, user, dan password sudah dikonfigurasi, PHP tetap menolak terhubung ke MySQL. Masalah ini berakar dari typo karakter gaib dan bentroknya enkripsi password MySQL 8. Solusi pamungkas: Kami meratakan seluruh instalasi LAMP Stack (Search and Destroy mode), lalu membangunnya ulang menggunakan skrip otomatisasi (memanfaatkan perintah sed -i di Linux) untuk menjamin presisi 100% tanpa campur tangan keyboard manusia.
4. Seni Routing Reverse Proxy (Aman Tanpa Menumbalkan Teman) Karena Container Nginx yang kami gunakan adalah Shared Proxy (dipakai bersama dalam satu jaringan sekolah), kami harus sangat berhati-hati. Alih-alih mengedit konfigurasi default yang bisa membuat web tim lain down, kami membuat file konfigurasi spesifik (arsad.conf) dan merutekan IP Publik langsung menuju IP Lokal VM kami (10.10.10.205). Reload Nginx dilakukan secara halus tanpa memutus koneksi jaringan lain.
🏆 Kesimpulan
Membangun infrastruktur web sendiri mengajarkan kami tentang pentingnya ketelitian membaca log error, kesabaran dalam troubleshooting, dan pemahaman mendalam tentang arsitektur server dan keamanan jaringan.
Kini, mesin sudah menyala stabil, sistem sudah bersihkan dari bug, dan 4rsadject.my.id siap mengudara!
Stay tuned untuk update dan eksperimen teknologi kami selanjutnya!
