Docsintroduction

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:

01.Network Foundation: Konfigurasi dasar MikroTik (NAT, DNS, DHCP).
02.Virtualization: Setup Hypervisor (Proxmox/XCP-ng) & Resource VM.
03.OS Provisioning: Instalasi & Optimalisasi Ubuntu Server 24.04 LTS.
04.Container Stack: Deployment Moodle & MariaDB via Docker Compose.
05.Global Access: Publikasi aman menggunakan Cloudflare Zero Trust.
MIKROTIK
HYPERVISOR
UBUNTU
DOCKER
CLOUDFLARE

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.

1. Interface

Tentukan dan beri label pada interface WAN (Internet) dan LAN (Internal).

2. IP Address

Alokasikan IP Gateway pada interface LAN (Contoh: 192.168.1.1/24).

3. DNS

Gunakan Google DNS (8.8.8.8) atau Cloudflare agar router dapat mengenali domain.

4. DHCP Server

Sediakan alokasi IP otomatis bagi perangkat di jaringan lokal melalui interface LAN.

5. NAT

Aktifkan Masquerade pada chain srcnat dengan out-interface ke WAN.

6. Routes

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.

Recommended for HomeLab/SMB

XCP-ng

Distribusi Xen Project berbasis CentOS yang berfokus pada performa dan stabilitas Enterprise. Cocok dipasangkan dengan Xen Orchestra.

Recommended for Enterprise Stack

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:

1 Media Instalasi

Unduh ISO Image dari website resmi dan buatlah bootable USB/ISO.

2 Storage Layout

Pilihlah opsi LVM. Namun, sangat direkomendasikan untuk menonaktifkan "Set up this disk as an LVM group" jika ingin kontrol penuh.

3 Software Selection

Pilih opsi Ubuntu Server (Minimized) jika ingin instalasi yang sangat ringan dan bersih.

4 SSH Setup

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:

/etc/netplan/00-installer-config.yaml
Loading code...

VM2: Application Server

Jalankan perintah sudo nano /etc/netplan/00-installer-config.yaml lalu tempelkan kode berikut:

/etc/netplan/00-installer-config.yaml
Loading code...
Tips & Trick

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

Loading code...

Langkah 2: Konfigurasi Docker Compose

Jalankan perintah nano docker-compose.yml lalu tempelkan kode di bawah ini:

PENTING: JANGAN GUNAKAN PASSWORD DEFAULT!

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.

docker-compose.yml
Loading code...

Langkah 3: Menjalankan container Database

Loading code...

VM2: Application (Moodle + Nginx):

Langkah 1: Siapkan direktori kerja

Loading code...

Langkah 2: Konfigurasi Virtual Host Nginx

Jalankan perintah nano nginx.conf lalu tempelkan konfigurasi utama Moodle berikut:

nginx.conf
Loading code...

Langkah 3: Konfigurasi Docker Compose

Jalankan perintah nano docker-compose.yml lalu tempelkan kode berikut:

docker-compose.yml
Loading code...

Langkah 4: Menjalankan container Aplikasi

Loading code...

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.

Loading code...

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.

http://IP-VM-APPLICATION-SERVER

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.

Best for Public Web Access

ZeroTier / Tailscale

Solusi SD-WAN / Site-to-Site untuk membuat jaringan pribadi virtual. Server bisa diakses dari mana saja seolah berada dalam satu LAN.

Best for Remote Management

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.

Certified Professional Config

Dukung Infrastruktur Berkualitas.

Anda telah mengadopsi standar server modern. Dukungan Anda memberdayakan kami untuk terus menghadirkan dokumentasi infrastruktur kelas dunia bagi komunitas SysAdmin profesional.

TOP DONOR