> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skanesgalab.my.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Panduan Instalasi Debian 13 Server (Minimalis & CLI Only)

> Panduan langkah demi langkah instalasi Debian 13 (Trixie) Server ultra-minimalis tanpa GUI (Headless), setup akses SSH root & sudoers, serta optimasi repositori.

Debian adalah "batu karang" sistem operasi Linux. Distro ini terkenal dengan stabilitas jangka panjang yang luar biasa dan konsumsi memori yang sangat minim. Server Debian minimalis tanpa antarmuka grafis dapat menyala hanya dengan **RAM sekitar 60 MB - 90 MB**!

***

## Persiapan Instalasi

1. **Unduh File ISO:** Unduh berkas **Netinst (Network Installer)** berukuran kecil (\~600MB) dari situs resmi [debian.org](https://www.debian.org).
2. **Kebutuhan Sistem Minimum:**
   * CPU: 1 Core 64-bit.
   * RAM: 512 MB (Sangat hemat!).
   * Storage: 5 GB - 10 GB.

***

## Langkah demi Langkah Instalasi (Debian Text Installer)

Boot mesin dari installer Debian. Pilih menu **Install** (Text Mode) atau **Graphical Install** (keduanya menghasilkan sistem yang identik).

```mermaid theme={null}
flowchart TD
    D1["1. Select Language (English) & Country Location"] --> D2["2. Configure Network (Hostname & Domain)"]
    D2 --> D3["3. Set Root Password & Regular User Account"]
    D3 --> D4["4. Partition Disks (Guided - Entire Disk / LVM)"]
    D4 --> D5["5. Base System Installation"]
    D5 --> D6["6. Configure Package Manager (Mirror Country)"]
    D6 --> D7["7. Software Selection (UNCHECK GUI, CHECK SSH SERVER)"]
    D7 --> D8["8. Install GRUB Boot Loader"]
```

### Langkah 1: Bahasa, Lokasi, dan Keyboard

* **Language:** English.
* **Country:** other $\to$ Asia $\to$ Indonesia (atau United States untuk waktu UTC).
* **Keymap:** American English.

### Langkah 2: Jaringan & Hostname

* **Hostname:** Beri nama server (contoh: `debian-server`).
* **Domain name:** Kosongkan jika untuk homelab/latihan, atau isi domain kantormu (misal: `lab.internal`).

### Langkah 3: Password Root & User Akun

Installer Debian akan menanyakan dua jenis akun:

1. **Root Password:** Masukkan kata sandi administrator utama (*root*).\
   *(Catatan: Jika kamu sengaja mengosongkan root password, Debian akan secara otomatis mengaktifkan hak `sudo` untuk user reguler).*
2. **User Creation:** Masukkan nama lengkap (misal `Sysadmin Lab`) dan username (misal `debian-user`), lalu buat password untuk akun ini.

### Langkah 4: Partisi Harddisk

* Pilih **Guided - use entire disk** (atau *Guided - use entire disk and set up LVM* jika ingin partisi dinamis).
* Pilih harddisk target.
* Pada skema partisi, pilih opsi **All files in one partition (recommended for new users)**.
* Pilih **Finish partitioning and write changes to disk** $\to$ pilih **Yes** untuk konfirmasi format.

### Langkah 5: Package Manager Mirror

* Pilih negara mirror repositori: **Indonesia**.
* Pilih mirror terdekat (contoh: `kartolo.sby.datautama.net.id` atau `deb.debian.org`).
* HTTP Proxy: Kosongkan jika terhubung internet langsung.
* Survey Partisipasi (Popcon): Pilih **No**.

### Langkah 6: Software Selection (KUNCI SERVER MINIMALIS!)

Pada layar **Software Selection**, kamu akan melihat daftar pilihan perangkat lunak:

```text theme={null}
[ ] Debian desktop environment
[ ] ... GNOME
[ ] ... XFCE
[ ] Web server
[*] SSH server              <-- WAJIB DICENTANG (Tekan Spasi)
[*] standard system utilities <-- WAJIB DICENTANG (Tekan Spasi)
```

> **PENTING (KUNCI MINIMALIS):**\
> **HAPUS CENTANG PADA `Debian desktop environment` dan `GNOME`!**\
> Pastikan HANYA ada 2 tanda bintang yang terpilih:
>
> 1. `[*] SSH server`
> 2. `[*] standard system utilities`\
>    Tekan tombol **Tab** $\to$ pilih **Continue**.

### Langkah 7: Install GRUB Boot Loader

* Pilih **Yes** saat ditanya *Install the GRUB boot loader to your primary drive?*.
* Pilih harddisk utama sistemmu (misal `/dev/sda` atau `/dev/vda`).
* Setelah selesai, tekan **Continue** untuk reboot.

***

## Konfigurasi Esensial Pasca Instalasi

Setelah reboot, server akan menampilkan layar konsol hitam dengan prompt teks login murni.

### 1. Login Pertama Kali & Konfigurasi Akses `sudo`

Secara default di Debian, user biasa yang baru dibuat belum memiliki akses perintah `sudo`:

```bash theme={null}
# Login sebagai root
debian-server login: root
Password: (masukkan password root yang tadi dibuat)

# 1. Update paket dan instal paket sudo
apt update && apt install -y sudo curl wget nano

# 2. Masukkan user biasa ke dalam grup sudo
usermod -aG sudo debian-user

# 3. Keluar dari sesi root
exit
```

### 2. Login Remotely via SSH dari Laptopmu

Sekarang kamu tidak perlu lagi menyentuh layar monitor server fisik. Kembali ke laptopmu, buka terminal dan login menggunakan IP server Debian:

```bash theme={null}
# Mengetahui IP server (dijalankan di server: ip a)
ssh debian-user@192.168.1.105

# Uji coba akses sudo
sudo apt update
```

### 3. Mengaktifkan Autentikasi SSH Key & Mematikan Login Password

Agar server Debian kamu aman dari serangan brute-force:

```bash theme={null}
# Di laptopmu: salin SSH public key ke server Debian
ssh-copy-id debian-user@192.168.1.105

# Di dalam server: matikan autentikasi password teks biasa
sudo nano /etc/ssh/sshd_config
# Ubah: PasswordAuthentication no
# Simpan berkas, lalu restart SSH daemon:
sudo systemctl restart ssh
```

*Selamat! Server Debian 13 minimalis headless kamu telah aktif dengan keamanan tinggi dan konsumsi memori super ringan!*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.