Cara Install Caddy Web Server di VPS Ubuntu

Hai, Sobat Jagoan!

Caddy adalah web server open-source yang dirancang untuk kesederhanaan dan otomatisasi. Dibangun dengan Go, Caddy menawarkan fitur yang menarik, termasuk dukungan bawaan untuk HTTPS melalui Let’s Encrypt, manajemen sertifikat otomatis, dan konfigurasi yang sederhana. Keunggulan utamanya adalah konfigurasi yang sederhana, keamanan bawaan, dan dukungan untuk fitur-fitur modern seperti HTTP/2, IPv6, WebSockets, dan lainnya. Caddy sangat cocok bagi pemula karena tidak memerlukan konfigurasi SSL manual dan dapat langsung digunakan setelah instalasi. Dengan fitur-fiturnya itu, Caddy menjadi pilihan ideal bagi developer yang membutuhkan solusi cepat dan handal untuk melayani situs web atau aplikasi.

Alasan Menggunakan Caddy

Apa alasan menggunakan Caddy dan kelebihannya dibanding Apache atau Nginx? Jawabannya adalah karena kemudahan penggunaan dan keamanan. Kamu tidak perlu repot mengatur enkripsi atau protokol, karena Caddy sudah siap pakai dengan teknologi paling modern. Fitur terbaru seperti HTTP/2, IPv6, Markdown, WebSockets, dan lainnya sudah terintegrasi. Pengaturannya sangat simpel, cukup setting beberapa opsi dasar agar server berjalan. Meski begitu, kamu bisa menyesuaikan konfigurasi dengan leluasa bila perlu. Satu hal yang perlu diperhatikan, Caddy mungkin tidak cocok untuk sistem lama karena secara default memblokir protokol dan cipher yang tidak lagi aman.

Prasayarat

  1. Memiliki server VPS Ubuntu
  2. Memiliki akses user non-root dengan hak akses sudo
  3. Memiliki domain yang diarahkan ke server VPS (opsional). Kalau belum tahu caranya bisa akses panduan Cara mengarahkan domain ke vps. Arahkan domainkamu.com dan www.domainkamu.com ke vps ya, Sob.

Fyi, Sob layanan VPS Jagoan Hosting yang dipakai pada artikel ini yaitu Ubuntu versi 22.04.

Step 1: Buat Koneksi SSH VPS

Pertama, buat koneksi SSH ke VPS kamu melalui terminal. Jika menggunakan sistem operasi Windows, kamu bisa menggunakan PuTTY.

Detail informasi awal layanan kamu bisa diakses seperti pada Informasi Awal Layanan VM.

Step 2: Perbarui Sistem

Sebelum memulai instalasi, pastikan sistem Ubuntu kamu diperbarui agar mendapatkan paket terbaru dan menghindari konflik dependensi. Jalankan perintah berikut:

				
					sudo apt update && sudo apt upgrade -y
				
			

Step 3: Instal Dependensi

Instal beberapa paket yang diperlukan untuk menambahkan repositori Caddy dan mengelola kunci GPG:

				
					sudo apt install -y gnupg curl apt-transport-https debian-keyring debian-archive-keyring
				
			

Step 4: Tambahkan Repositori Caddy

Tambahkan kunci GPG resmi Caddy ke sistem kamu.

				
					curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
				
			

Kemudian, tambahkan repositori Caddy ke daftar sumber APT.

				
					curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
sudo tee /etc/apt/sources.list.d/caddy-stable.list
				
			

Step 5: Instal Caddy

Perbarui daftar paket dan instal Caddy.

				
					sudo apt update
sudo apt install caddy -y
				
			

Setelah instalasi, aktifkan dan jalankan layanan Caddy.

				
					sudo systemctl enable caddy
sudo systemctl start caddy
sudo systemctl status caddy
				
			
1-periksa-status-caddy-cara-instal-caddy-web server-vps-ubuntu

Periksa versi Caddy untuk memastikan instalasi berhasil.

				
					caddy version
				
			
2-periksa-versi-caddy-cara-instal-caddy-web server-vps-ubuntu

Berikutnya, kamu bisa mencoba untuk membuat website, misalnya website statis atau dan mencoba menerapkan HTTP pada website kamu.

Step 6: Akses Web Caddy

Edit file konfigurasi Caddy untuk localhost (Port 80).

				
					sudo nano /etc/caddy/Caddyfile
				
			

Dan isi konfigurasi untuk localhost.

				
					:80 {
     root * /var/www/html
     file_server
}
				
			

Dengan begitu website dapat diakses via IP lokal seperti http://ip-kamu

3-halaman-default-caddy-cara-instal-caddy-web server-vps-ubuntu

Menyajikan Situs dengan Nama Domain dan HTTPS

Step 1: Buat direktori untuk domain.

				
					sudo mkdir -p /var/www/domainkamu.com
				
			

Step 2: Buat file HTML.

				
					sudo nano /var/www/domainkamu.com/index.html
				
			

Isi dengan baris kode berikut.

<!DOCTYPE html>

<html>

<head>

  <title>Selamat datang</title>

</head>

<body>

  <h1>Selamat datang, Sob! Halaman ini menggunakan Caddy web server</h1>

</body>

</html>

Step 3: Edit file konfigurasi Caddyfile:

				
					cd /etc/caddy
sudo nano Caddyfile
				
			

Letakkan konfigurasi domain ini di bawah sendiri (atau kamu beri komentar (tanda #) ke konfigurasi yang lama).

				
					www.domainkamu.com {
     tls admin@emailkamu
     root * /var/www/domainkamu.com
     file_server
     
     log {
           output file /var/log/caddy/domainkamu.com.log
     }
}

domainkamu.com {
     redir https://www.domainkamu.com{uri} permanent
}
				
			

Penjelasan:

  • domainkamu.com {: menentukan domain atau subdomain yang akan dilayani oleh Caddy.
  • tls [email protected]: mengaktifkan TLS (HTTPS) untuk domain www.domainkamu.com. Sertifikat SSL akan diurus otomatis oleh Let’s Encrypt dengan email admin@emailkamu untuk notifikasi terkait SSL, seperti peringatan pembaruan atau masalah sertifikat.
  • root * /var/www/domainkamu.com: menentukan direktori root yang akan digunakan untuk melayani file statis.
  • file_server: mengaktifkan fitur file server, yang memungkinkan Caddy untuk melayani file statis dari direktori root yang telah ditentukan.
  • index index.html: menentukan file indeks yang akan dicari oleh Caddy saat mengakses direktori.
  • log {: mengonfigurasi logging.
  • output file /var/log/caddy/domainkamu.com.log: log dari situs www.domainkamu.com akan disimpan dalam file /var/log/caddy/domainkamu.com.log
  • com { : menangani domain utama domainkamu.com (tanpa www.).
  • redir https://www.domainkamu.com{uri} permanent: menginstruksikan Caddy untuk melakukan pengalihan permanen (HTTP status code 301) dari domain domainkamu.com ke versi www.comainkamu.com. {uri} memastikan bahwa semua jalur (path) yang diminta dari domain domainkamu.com akan diteruskan ke domain www.domainkamu.com dengan jalur yang sama. Misalnya, jika pengguna mengunjungi domainkamu.com/about, mereka akan diarahkan ke www.domainkamu.com/about.

 

Step 4: Validasi konfigurasi dengan perintah:

				
					sudo caddy validate
				
			
4-perintah-validate-caddy-cara-instal-caddy-web server-vps-ubuntu

Pesan ‘Valid configuration’ artinya Caddyfile kamu valid dan tidak ada error syntax.

 

Kalau ada peringatan seperti:

WARN Caddyfile input is not formatted; run ‘caddy fmt –overwrite’ to fix inconsistencies

Jalankan:

				
					sudo caddy fmt --overwrite
				
			

Step 5: Restart dan tes server

				
					sudo systemctl restart caddy
				
			

Buka web browser dan akses domain Caddy kamu https://domainkamu.com.

5-website-statis-caddy-cara-instal-caddy-web server-vps-ubuntu

Informasi Tambahan

  • HTTPS Otomatis: Kalau kamu mengonfigurasi domain yang valid dan mengarah ke server kamu, Caddy secara otomatis akan mengelola sertifikat SSL melalui Let’s Encrypt.
  • Manajemen Layanan: Gunakan perintah sudo systemctl status caddy untuk memeriksa status layanan Caddy.
  • Log dan Debugging: Log Caddy dapat ditemukan di journalctl -u caddy, berguna untuk debugging jika terjadi masalah.

 

Bagi pemula yang ingin menjalankan server web tanpa kesulitan konfigurasi yang panjang, Caddy adalah pilihan yang ideal. Bahkan untuk pengguna berpengalaman yang menginginkan solusi cepat dan sederhana, Caddy patut dipertimbangkan. Kalau kamu butuh server dengan kemampuan lanjutan, Caddy tetap mendukung. Kamu bisa melakukan berbagai pengaturan penting, seperti izin akses folder, autentikasi, pengaturan halaman error, arsip data, dan redirect HTTP, hanya dengan konfigurasi yang sederhana.

Kalau ada yang masih bikin bingung, hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket ya, Sob!

Related Posts
Cara Install PHPMyAdmin di VPS Ubuntu

Halo, Sobat Jagoan! PHPMyAdmin adalah alat berbasis web yang memungkinkan kamu untuk mengelola database MySQL atau MariaDB melalui browser dengan Read more

Cara Mengamankan PHPMyAdmin di VPS Ubuntu

Halo, Sobat Jagoan! Karena phpMyAdmin itu sering dipakai di mana-mana, banyak hacker yang suka mencoba masuk ke phpMyAdmin tanpa izin. Read more

Cara Install MariaDB di VPS Ubuntu

Halo, Sobat Jagoan! Kamu mungkin sudah familiar dengan MySQL, tetapi tahukah kamu bahwa MariaDB menawarkan fitur yang serupa bahkan lebih Read more

Cara Menambahkan User dan Database Baru di MariaDB

Halo, Sobat Jagoan! Setelah kamu berhasil melakukan instalasi MariaDB, hal dasar yang bisa kamu lakukan yaitu membuat database baru untuk Read more