Linux'ta Caddy web sunucusu nasıl kurulur?

Caddy; otomatik HTTPS (Let's Encrypt), sade yapılandırma (Caddyfile) ve yerleşik reverse proxy özellikleriyle öne çıkan modern bir web sunucusudur. Bu rehberde Ubuntu/Debian, Rocky/Alma/CentOS/RHEL ve Arch Linux üzerinde paket depoları kullanılarak kurulum, servis yönetimi ve temel yapılandırma örnekleri anlatılır.

Ön Koşullar

  • Root ya da sudo yetkisi
  • (Alan adıyla otomatik SSL için) DNS A/AAAA kaydı sunucu IP’sine yönlenmiş olmalı
  • Güvenlik duvarında TCP 80 ve 443 portlarının açık olması

1) Ubuntu / Debian

Resmî depo üzerinden kurulum:

sudo apt update
sudo apt -y install curl debian-keyring debian-archive-keyring apt-transport-https
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 -y install caddy

2) Rocky / Alma / CentOS / RHEL

RPM depo ekleyip kurun:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://dl.cloudsmith.io/public/caddy/stable/rpm/caddy-stable.repo
sudo dnf -y install caddy

3) Arch Linux

sudo pacman -Syu caddy

4) Servisi başlatma, durum ve günlükler

Kurulumla birlikte bir systemd servisi gelir:

# Servisi başlat ve açılışta etkinleştir
sudo systemctl enable --now caddy

# Durum ve kısa günlük
systemctl status caddy
journalctl -u caddy -n 100 --no-pager

5) Caddyfile konumu ve temel sözdizimi

Paket kurulumu ile varsayılan dosya /etc/caddy/Caddyfile yolundadır. Yapılandırmayı değiştirdikten sonra sudo caddy validate ile kontrol edip servisi yeniden yükleyin.

# Değişiklikleri kontrol ve uygulama
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

6) Statik site yayınlama (otomatik HTTPS + dizin listeleme)

Alan adınız sunucuya işaret ediyorsa Caddy Let's Encrypt ile sertifikayı otomatik alır.

# /etc/caddy/Caddyfile
example.com {
    root * /var/www
    encode zstd gzip
    file_server browse
    # Gerekirse ek başlıklar / cache ayarları burada yapılabilir
}
# Dizin oluştur ve test içerik ekle
sudo mkdir -p /var/www
echo "<h1>Merhaba Caddy</h1>" | sudo tee /var/www/index.html
sudo systemctl reload caddy

7) Ters vekil (Reverse Proxy) örneği

Uygulamanız 127.0.0.1:3000 üzerinde çalışıyorsa:

# /etc/caddy/Caddyfile
app.example.com {
    @static path /assets/* /favicon.ico
    handle @static {
        root * /var/www/app-static
        file_server
    }
    reverse_proxy 127.0.0.1:3000
}

8) Yerel / dahili kullanım için sertifika

Alan adı internetten erişilebilir değilse geçici olarak dahili CA kullanılabilir:

# /etc/caddy/Caddyfile
intranet.localhost {
    tls internal
    root * /srv/site
    file_server
}

9) Güvenlik duvarı

Gerekli portları açmayı unutmayın.

# UFW (Ubuntu/Debian)
sudo ufw allow 80,443/tcp
sudo ufw reload

# firewalld (RHEL-tabanlı)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

10) Güncelleme ve kaldırma

# Debian/Ubuntu
sudo apt update && sudo apt -y upgrade
# veya sadece Caddy:
sudo apt -y install --only-upgrade caddy

# RHEL-tabanlı
sudo dnf -y upgrade caddy

# Kaldırma (servisi durdurup kaldırır)
sudo systemctl disable --now caddy
# Debian/Ubuntu
sudo apt -y purge caddy
# RHEL-tabanlı
sudo dnf -y remove caddy

Sık karşılaşılan sorunlar

  • Sertifika alınamıyor: Alan adınızın A/AAAA kaydı sunucuya yönlenmiş mi? 80/443 açık mı? DNS yayılımını ve rate limit durumunu kontrol edin.
  • Yetki hatası (80/443): Paketle gelen servis, gerekli kapasiteleri ayarladığı için normalde gerekmez; farklı ikili/özel kurulumlarda setcap cap_net_bind_service=+ep $(command -v caddy) uygulanabilir.
  • Yapılandırma yüklenmiyor: sudo caddy validate ile dosyayı doğrulayın, sonra systemctl reload caddy.
  • Boş sayfa / 404: root dizini ve dosya izinlerini kontrol edin; SELinux/RBAC politikaları engelliyor olabilir.

Önerilen Anahtar Kelimeler

caddy kurulum linux, ubuntu caddy install, debian caddy repository, rhel caddy dnf repo, caddyfile örnek, caddy reverse proxy, caddy otomatik https, caddy ufw firewalld

Bu cevap yeterince yardımcı oldu mu? 0 Bu dökümanı faydalı bulan kullanıcılar: (0 Oy)