Full-Stack Infra Documentation
Selamat datang di panduan komprehensif pembangunan infrastruktur server modern. Dokumentasi ini dirancang untuk membimbing Anda membangun ekosistem server dari level jaringan fisik hingga aplikasi kontainer yang dapat diakses secara publik.
Kita akan menempuh perjalanan teknis yang sistematis melalui tahapan berikut:
MikroTik Basic Configuration
MikroTik bertindak sebagai router utama yang mengatur lalu lintas data antara jaringan internet (WAN) dan infrastruktur Virtual Machine (LAN). Pastikan router sudah memiliki koneksi internet sebelum melanjutkan ke tahap virtualisasi.
Tentukan dan beri label pada interface WAN (Internet) dan LAN (Internal).
Alokasikan IP Gateway pada interface LAN (Contoh: 192.168.1.1/24).
Gunakan Google DNS (8.8.8.8) atau Cloudflare agar router dapat mengenali domain.
Sediakan alokasi IP otomatis bagi perangkat di jaringan lokal melalui interface LAN.
Aktifkan Masquerade pada chain srcnat dengan out-interface ke WAN.
Pastikan Default Route (gateway) sudah terkonfigurasi ke arah ISP.
Virtualization Setup
Sebelum melakukan instalasi OS, Anda memerlukan platform manajemen virtualisasi untuk menjalankan VM1 dan VM2. Dua pilihan populer yang sangat didukung adalah:
Proxmox VE
Platform berbasis Debian yang menggabungkan KVM dan LXC. Sangat populer karena antarmuka web yang lengkap dan fitur cluster yang mumpuni.
XCP-ng
Distribusi Xen Project berbasis CentOS yang berfokus pada performa dan stabilitas Enterprise. Cocok dipasangkan dengan Xen Orchestra.
Spesifikasi VM Minimum
- CPU: 2 vCPU (VM1) | 2 vCPU (VM2)
- RAM: 2 GB (VM1) | 4 GB (VM2 - Direkomendasikan untuk Moodle)
- Storage: 20 GB (VM1) | 40 GB+ (VM2 untuk kode & data Moodle)
- Network: 1 NIC (Bridge Mode)
Ubuntu Server 24.04 Installation
Gunakan versi terbaru Ubuntu Server 24.04 LTS (Noble Numbat) untuk mendapatkan performa dan keamanan terbaik. Berikut adalah garis besar proses instalasi yang direkomendasikan:
Unduh ISO Image dari website resmi dan buatlah bootable USB/ISO.
Pilihlah opsi LVM. Namun, sangat direkomendasikan untuk menonaktifkan "Set up this disk as an LVM group" jika ingin kontrol penuh.
Pilih opsi Ubuntu Server (Minimized) jika ingin instalasi yang sangat ringan dan bersih.
Wajib aktifkan opsi Install OpenSSH Server agar Anda dapat meremote server setelah instalasi selesai.
Penting: Gunakan password yang kuat atau SSH Key untuk otentikasi demi keamanan server.
Netplan Configuration
Konfigurasi jaringan pada server Ubuntu menggunakan Netplan untuk mengatur alamat IP statis. Pengaturan ini memastikan server memiliki alamat yang tetap di dalam jaringan lokal agar layanan dapat diakses secara konsisten oleh VM lainnya.
VM1: Database Server
Jalankan perintah sudo nano /etc/netplan/00-installer-config.yaml lalu tempelkan kode berikut:
VM2: Application Server
Jalankan perintah sudo nano /etc/netplan/00-installer-config.yaml lalu tempelkan kode berikut:
Selalu gunakan perintah sudo netplan apply setelah mengubah file konfigurasi. Jika Anda tidak yakin dengan konfigurasi tersebut, gunakan sudo netplan try untuk memberikan masa percobaan 120 detik.
Docker Compose
Implementasi Docker Compose dibagi menjadi dua unit terpisah untuk efisiensi resource. VM1 difokuskan untuk menjaga ketersediaan basis data MariaDB, sementara VM2 menangani logika aplikasi Moodle dan antarmuka web server.
VM1: Database (MariaDB):
Langkah 1: Siapkan direktori kerja
Langkah 2: Konfigurasi Docker Compose
Jalankan perintah nano docker-compose.yml lalu tempelkan kode di bawah ini:
Demi keamanan server Anda, WAJIB mengubah MARIADB_ROOT_PASSWORD dan MARIADB_PASSWORD di bawah ini sebelum menjalankan container. Menggunakan password default sangat berisiko terhadap serangan malware/hacker.
Langkah 3: Menjalankan container Database
VM2: Application (Moodle + Nginx):
Langkah 1: Siapkan direktori kerja
Langkah 2: Konfigurasi Virtual Host Nginx
Jalankan perintah nano nginx.conf lalu tempelkan konfigurasi utama Moodle berikut:
Langkah 3: Konfigurasi Docker Compose
Jalankan perintah nano docker-compose.yml lalu tempelkan kode berikut:
Langkah 4: Menjalankan container Aplikasi
Verifikasi & Pengujian
Setelah semua konfigurasi selesai dijalankan, langkah terakhir adalah memastikan bahwa seluruh layanan berjalan dengan normal dan dapat diakses melalui browser.
1. Periksa Status Container
Jalankan perintah berikut di VM1 dan VM2 untuk memastikan status container adalah Up.
2. Akses Melalui Browser
Buka aplikasi browser Anda (Chrome/Firefox/Edge) dan masukkan alamat IP dari VM2 (Application Server). Jika berhasil, Anda akan melihat halaman instalasi atau dashboard Moodle.
Catatan: Jika halaman tidak muncul, pastikan firewall pada server mengizinkan akses ke port 80 dan container app-webserver sedang berjalan.
Akses Publik & Remote
Setelah server berjalan secara lokal (LAN), Anda mungkin ingin mengaksesnya dari internet secara publik atau meremote dari luar jaringan menggunakan jalur pribadi.
Cloudflare Zero Trust
Cara paling aman mengekspos port 80 ke Internet menggunakan Cloudflare Tunnel (cloudflared). Tanpa buka port (Port Forwarding) di router.
ZeroTier / Tailscale
Solusi SD-WAN / Site-to-Site untuk membuat jaringan pribadi virtual. Server bisa diakses dari mana saja seolah berada dalam satu LAN.
Keamanan Tambahan
Sangat disarankan untuk mengaktifkan Two-Factor Authentication (2FA) dan Access Policies di Cloudflare Dashboard untuk membatasi siapa saja yang boleh mengakses URL publik Moodle Anda.
Dukung Infrastruktur Berkualitas.
Anda telah mengadopsi standar server modern. Dukungan Anda memberdayakan kami untuk terus menghadirkan dokumentasi infrastruktur kelas dunia bagi komunitas SysAdmin profesional.