Belajar Caddy - Pre-Requisites Skill & Setup Environment
Episode 0 of 31

Belajar Caddy - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh Caddy, kalian perlu menguasai konsep web server, HTTP/HTTPS, DNS, dan TLS. Di episode ini kalian juga menyiapkan environment Linux, menginstall Caddy, dan memverifikasi instalasi pertama dengan perintah dasar.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar Caddy! Series ini akan membawa kalian menguasai Caddy — web server modern yang menangani HTTPS secara otomatis — dari fondasi konsep sampai production readiness. Total ada 31 episode yang tersusun dari sepuluh fase.

Tapi sebelum menjalankan caddy run, ada beberapa skill dasar dan perangkat lunak yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena Caddy menggantikan tugas Apache atau NGINX dengan konfigurasi yang jauh lebih sederhana, dan otomatisasi HTTPS-nya bergantung pada pemahaman kalian tentang DNS, port, dan sertifikat TLS. Kalau konsep ini belum jelas, seluruh series akan terasa membingungkan.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar, menyiapkan environment Linux, menginstall Caddy, dan melakukan verifikasi pertama. Setelah episode ini selesai, seluruh series bisa diikuti dengan nyaman.

Skill Dasar yang Wajib Dikuasai

Konsep Web Server dan HTTP/HTTPS

Caddy adalah web server, jadi pahami dulu apa itu web server: program yang menerima permintaan HTTP dari browser dan mengirimkan respons. Kalian wajib memahami perbedaan HTTP dan HTTPS, struktur URL, metode request seperti GET dan POST, serta kode status seperti 200, 301, dan 404. Tanpa ini, membaca log akses akan seperti membaca bahasa asing.

DNS dan Networking Dasar

Konsep kunci yang harus dipahami:

  • DNS: cara nama domain seperti example.com diterjemahkan ke alamat IP.
  • Port: pintu komunikasi di server; HTTP memakai port 80 dan HTTPS memakai port 443.
  • TLS/SSL: protokol enkripsi yang membuat HTTPS aman; Caddy menangani ini otomatis.

Caddy memakai alamat domain untuk menentukan situs mana yang dilayani. Jadi kalian wajib paham bagaimana A record DNS bekerja dan mengapa port 80 serta 443 harus terbuka di firewall.

CLI dan Linux Dasar

Caddy adalah binary tunggal yang dioperasikan lewat terminal. Biasakan diri dengan perintah dasar Linux seperti ls, cd, sudo, systemctl, dan curl. Editor seperti VS Code akan sangat membantu untuk menulis Caddyfile.

Periksa environment dasar
uname -a
cat /etc/os-release
id

Output dari uname -a memberi tahu arsitektur dan kernel, /etc/os-release memberi tahu distro, dan id menunjukkan user yang sedang aktif. Ketiganya penting karena Caddy sebaiknya dijalankan sebagai user biasa, bukan root.

Perangkat Lunak dan Tools yang Perlu Disiapkan

Menginstall Caddy via Repository Resmi

Cara paling mudah di Debian dan Ubuntu adalah lewat repository resmi Cloudsmith:

Menambahkan repository Caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Perintah curl -1sLf ... mengambil key penandatanganan dan daftar repository, lalu sudo apt install caddy memasang Caddy versi stabil terbaru.

Tool Pendukung: Docker, Git, OpenSSL, dan cURL

Siapkan juga perangkat pendukung yang akan dipakai di episode-episode berikutnya:

Verifikasi tool pendukung
docker --version
git --version
openssl version
curl --version
  • Docker dipakai di episode 27 untuk menjalankan Caddy di dalam container.
  • Git untuk version control Caddyfile, dibahas di episode 30.
  • OpenSSL untuk menguji sertifikat TLS secara manual.
  • cURL untuk menguji respons HTTP dari situs yang dilayani Caddy.

Kebutuhan Hardware dan Jaringan

Caddy sangat ringan karena ditulis dalam Go. Minimal kalian butuh:

  • RAM 512 MB, direkomendasikan 2 GB atau lebih.
  • Storage kosong 5 GB.
  • CPU single-core, direkomendasikan dual-core.
  • Koneksi internet dan port 80 serta 443 yang terbuka.

Jika kalian ingin merasakan automatic HTTPS sungguhan, siapkan juga nama domain dengan akses DNS. Tanpa domain, Caddy tetap bekerja untuk localhost dan IP, tapi tanpa sertifikat publik.

Verifikasi Instalasi

Cek Versi dan Jalankan Pertama

Setelah instalasi selesai, verifikasi bahwa binary Caddy siap dipakai:

Cek versi Caddy
caddy version
caddy list-modules

caddy version menampilkan versi v2.x. caddy list-modules menampilkan semua modul yang ter-compile ke dalam binary — fitur ini akan kita bahas di episode 29.

Caddyfile Pertama

Buat file pertama di direktori home:

Caddyfile hello world
localhost {
    respond "Halo dari Caddy!"
}

Lalu jalankan Caddy dalam mode foreground agar mudah dimatikan:

Menjalankan Caddy
caddy run --config ~/Caddyfile

Setelah Caddy berjalan, buka http://localhost di browser atau gunakan curl http://localhost — keduanya harus menampilkan teks Halo dari Caddy!. Untuk menghentikan, tekan Ctrl+C.

Ringkasan yang Harus Dipersiapkan

Rangkuman prasyarat yang sudah kalian siapkan di episode 0:

  • Konsep web server: HTTP/HTTPS, DNS, port, dan TLS/SSL.
  • CLI Linux dasar dan editor teks untuk menulis Caddyfile.
  • Caddy v2 terinstall dari repository resmi.
  • Tool pendukung: Docker, Git, OpenSSL, dan cURL.
  • Hardware dan jaringan yang memenuhi syarat untuk automatic HTTPS.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Fondasi yang kuat akan membuat 30 episode berikutnya terasa jauh lebih ringan.

Penutup

Di episode 0 ini kalian sudah menyiapkan pijakan untuk seluruh series: memahami konsep web server, DNS, dan TLS, menyiapkan environment Linux, menginstall Caddy v2 dari repository resmi, dan memverifikasi instalasi pertama dengan Caddyfile hello world.

Inti yang harus dibawa pulang:

  • Caddy adalah web server modern dengan HTTPS otomatis yang dioperasikan lewat CLI.
  • Kuasai dulu konsep HTTP, DNS, port, dan TLS sebelum menulis Caddyfile.
  • Install Caddy dari repository resmi agar mudah di-update.
  • Caddy dijalankan dengan caddy run dan dihentikan dengan Ctrl+C.
  • Siapkan domain dengan akses DNS jika ingin merasakan automatic HTTPS.
  • caddy list-modules memperlihatkan modul yang tersedia di binary kalian.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Caddy — dari evolusi web server tradisional, kelahiran Caddy oleh Matt Holt di tahun 2015, hingga perbandingan Caddy dengan NGINX, Apache, dan Traefik. Pastikan environment kalian sudah siap, karena perjalanan Belajar Caddy baru saja dimulai!