### 1. Optimasi VM Linux di VirtualBox
- **Ubuntu Server CLI:** RAM 1–2 GB, CPU 1 core.
- **Ubuntu Desktop GUI:** RAM minimal 4 GB, CPU 2 core.
- **Display Desktop:** Video Memory 128 MB, Graphics Controller **VMSVGA**, aktifkan **3D Acceleration**.
- **Storage:** Centang **Solid-state Drive** pada disk virtual.
- **Desktop:** Wajib install **VirtualBox Guest Additions** agar mouse, resolusi, dan copy-paste lancar.

### 2. Jaringan VirtualBox & SSH
- **Bridged Adapter:** Ubuntu mendapat IP dari jaringan Wi-Fi/LAN yang sama dengan host.
- **NAT + Port Forwarding:** Cocok untuk SSH tanpa mengubah jaringan.  
  Contoh: Host port `2222` → Guest port `22`.  
  Akses: `ssh root@127.0.0.1 -p 2222`
- **Host-Only Adapter:** VM bisa di-ping dan di-SSH dari host lewat IP `192.168.56.x`.
- **Install SSH:**
  ```bash
  sudo apt update
  sudo apt install openssh-server -y
  sudo systemctl status ssh
  ```
- **Login root via SSH:**
  ```bash
  sudo passwd root
  sudo nano /etc/ssh/sshd_config
  # Ubah menjadi: PermitRootLogin yes
  sudo systemctl restart ssh
  ```

### 3. IP Statik dengan Netplan
- Cek file:
  ```bash
  ls /etc/netplan/
  ```
- Edit file YAML:
  ```bash
  sudo nano /etc/netplan/nama_file.yaml
  ```
- Contoh konfigurasi:
  ```yaml
  network:
    version: 2
    ethernets:
      enp0s3:
        dhcp4: false
        addresses:
          - 192.168.2.50/24
        routes:
          - to: default
            via: 192.168.2.1
        nameservers:
          addresses:
            - 8.8.8.8
            - 1.1.1.1
  ```
- Terapkan:
  ```bash
  sudo netplan apply
  ip a
  ```

### 4. Nginx: Bawaan Ubuntu vs Mainline Resmi
| Aspek | Nginx Bawaan Ubuntu | Nginx Mainline Resmi |
|---|---|---|
| Sumber | `apt install nginx` | `nginx.org` |
| Struktur folder | `sites-available` & `sites-enabled` | `conf.d` |
| Analogi | Gudang & etalase | Meja kerja langsung |
| Kelebihan | Mudah, terintegrasi OS | Versi lebih baru, vanilla |
| Aktivasi config | Symlink ke `sites-enabled` | Taruh di `conf.d` |

**Hapus Nginx jika bentrok:**
```bash
sudo apt purge nginx nginx-common nginx-core -y
sudo apt autoremove -y
sudo rm -rf /etc/nginx/
```

**Install Nginx Mainline:**  
Gunakan GPG key, repo resmi `nginx.org`, pinning prioritas `900`, lalu:
```bash
sudo apt update
sudo apt install nginx -y
```

### 5. Firewall & Manajemen Layanan
- UFW:
  ```bash
  sudo ufw allow ssh
  sudo ufw allow 80/tcp
  sudo ufw allow 443/tcp
  sudo ufw allow 8080/tcp
  sudo ufw allow 8181/tcp
  sudo ufw enable
  ```
- Untuk Nginx Mainline, jangan pakai `allow 'Nginx Full'` karena profil Ubuntu tidak tersedia. Gunakan nomor port.
- Manajemen:
  ```bash
  sudo systemctl enable nginx
  sudo systemctl start nginx
  sudo nginx -t
  sudo systemctl reload nginx
  nginx -v
  sudo systemctl status nginx
  ```

> **Inti Pertemuan 1:** Menyiapkan server Ubuntu dari nol: VM, jaringan, SSH, IP statik, instalasi Nginx, firewall, dan layanan dasar.