Caddy, Nginx ve Apache gibi benzerlerine çok benzeyen bir web sunucusudur. Ancak, onu rakiplerinden ayıran kendine özgü özellikleri de vardır.
Caddy’nin rakiplerinden sıyrılmasını sağlayan en önemli unsurlardan biri, kullanıma hazır HTTPS desteği sunmasıdır. Web siteleriniz için sertifikaları otomatik olarak alır ve gerektiğinde yeniler; üstelik hiçbir girdiye gerek kalmadan.
Caddy’ye entegre edilmiş bu HTTPS işlevi, özellikle birden fazla alan adına sahip bir yazılım çalıştırıyorsanız veya diğer kullanıcıların bir alan adını Caddy sunucunuza yönlendirmesine izin vermek istiyorsanız harika bir yardımcı program olabilir.
Bu HTTPS işlevselliğinin yanı sıra Caddy, Ubuntu’da ters proxy’yi kolayca kurmak için de harika bir çözümdür.
Caddy’yi Ubuntu’ya kurmak ve yüklemek aslında oldukça basit bir işlemdir ve diğer web sunucularından daha karmaşık değildir. Bu kılavuzda, size nasıl yapabileceğinizi göstereceğiz.
Caddy’yi evinizdeki bir Ubuntu sunucusunda çalıştırmayı düşünüyorsanız, devam etmeden önce birkaç şey yapmak isteyeceksiniz.
Öncelikle Ubuntu’da statik bir IP adresiniz olduğundan emin olmalısınız.
İkinci olarak, Ubuntu sisteminize 80 ve 443 portlarını yönlendirmelisiniz. Bunlar zorunludur, çünkü Caddy’nin SSL sertifikalarını almak için bunları kullanması gerekecektir.
Üçüncüsü, Ubuntu’da bir güvenlik duvarı çalıştırıyorsanız, 80 ve 443 portlarını açmalısınız.
Ubuntu’da Caddy’yi Kurma ve Çalıştırma
Önümüzdeki birkaç bölümde, Ubuntu’da Caddy’nin en son sürümünü kurmanın ve çalıştırmanın basit adımlarında size yol göstereceğiz.
Bu adımlar, aktif olarak güncellenen tüm Ubuntu sürümlerinde işe yarayacaktır. Caddy kurulumunu yaparken Ubuntu 24.04 sürümünü kullanacağız.
Ubuntu’yu Hazırlama
1. Caddy’yi kurmaya başlamadan önce birkaç görevi tamamlamamız gerekiyor.
Bunlardan ilki, aşağıdaki iki komutu kullanarak paket listesi önbelleğini güncellemek ve güncelliğini yitirmiş paketleri yükseltmektir.
sudo apt update
sudo apt upgrade -y
2. Bunu yaptıktan sonraki adımımız Caddy’yi Ubuntu’da çalıştırmak için ihtiyaç duyduğumuz ek yazılımları yüklemek.
Özellikle, curl ve wget paketlerinin her ikisinin de yüklü olduğundan emin olmamız gerekiyor. Bunu, terminalde aşağıdaki komutu çalıştırarak yapabilirsiniz. En son sürümü eklemek için bu paketleri kullanacağız.
sudo apt install curl
Caddy Paket Deposunu Ubuntu’ya Ekleme
3. Caddy web sunucusunu Ubuntu’ya kurmak için resmi Caddy paket deposunu ekleyeceğiz. Resmi depoyu kullanmak, mevcut en son sürümü kolayca kurabilmemizi ve yeni sürümler yayınlandığında güncelleme yapabilmemizi sağlar.
Bu sürecin ilk kısmı için, Caddy deposunun GPG anahtarını sistemimize indirmemiz gerekiyor. Bu anahtarı, terminalde aşağıdaki komutu kullanarak alabiliriz.
GPG anahtarı temel olarak APT paket yöneticisinin indirdiği paketleri doğrulamasının bir yoludur.
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
4. GPG anahtarı artık Ubuntu sisteminize kaydedildiğine göre, Caddy deposunu eklemeye geçebiliriz. Bu depoyu eklemek için tek yapmanız gereken aşağıdaki komutu çalıştırmak.
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
5. APT paket yöneticisinin bu depodan paket indirebileceğini bilmesi için, paket listesi önbelleğini tekrar güncellememiz gerekir.
Aşağıdaki komutu kullanarak bu önbelleği güncelleyebilirsiniz.
sudo apt update
Caddy’yi Ubuntu’ya yükleme
6. Bu noktada Ubuntu’da Caddy web sunucusunu kurmak ve başlatmak için tek yapmamız gereken terminalde aşağıdaki komutu kullanmaktır.
sudo apt install caddy
7. Ubuntu web sunucusunu kurduktan sonra hemen başlayacaktır. Bu, Caddy’nin Ubuntu sisteminizde gerçekten çalışıp çalışmadığını kontrol etmek için Ubuntu cihazınızın IP adresine göz atabileceğimiz anlamına gelir.
Ubuntu cihazınızın IP adresini bilmiyorsanız, terminalde hostname komutunu kullanarak IP adresini öğrenebilirsiniz.
hostname -I
8. IP adresinizi elinizde tutarak, favori web tarayıcınızda aşağıdaki adrese gidin. “<IPADDRESS>” kısmını Ubuntu cihazınızın IP adresiyle değiştirdiğinizden emin olun.
http://<IPADDRESS>
9. Şu anda Caddy web sunucusuyla birlikte gelen Caddyfile’ı çalıştırdığımız için ekranınızda aşağıdakilerin görünmesini beklemelisiniz.
Bu, temel olarak Caddy’nin Ubuntu’da başarıyla kurulduğunu ve artık yapılandırmaya hazır olduğunu gösterir.

Örnek Bir Web Sitesi Oluşturma
10. Caddy’yi Ubuntu’ya kurduğunuz için, muhtemelen nasıl kullanabileceğinize dair bir fikir edinmek isteyeceksiniz. Bu kılavuzda, Caddy kullanarak basit bir HTML dosyasını görüntülemenin bazı temel adımlarını ele alacağız.
Bu sürecin ilk kısmı, HTML dosyalarını depolayacağımız bir dizin oluşturmak için mkdir komutunu kullanmaktır. Aşağıdaki komutu çalıştırarak HTML dosyalarınızı depolayacağınız bir dizin oluşturabilirsiniz.
Bu komutu yazarken “<ALAN ADI>” kısmını kullanmayı düşündüğünüz alan adıyla değiştirdiğinizden emin olun.
sudo mkdir -p /var/www/<DOMAINNAME>/html
11. Dizin oluşturulduktan sonra aşağıdaki komutu kullanarak bir HTML dosyası yazmaya başlayabiliriz.
Biz bu dosyayı yazmak için Nano’yu kullanıyoruz ama siz istediğiniz herhangi bir metin editörünü kullanabilirsiniz.
sudo nano /var/www/<DOMAINNAME>/html/index.html
12. Şimdi bu dosyanın içerisine aşağıdaki satırları yazın.
Bu, “Merhaba Dünya” başlığı ve “PiMyLifeUp’tan Merhaba Dünya” metniyle çok basit bir HTML sayfası oluşturur.
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World from PiMyLifeUp</p>
</body>
</html>
13. Bu dosyayı yazmayı bitirdiğinizde CTRL + X, Y ve ardından ENTER tuşlarına basarak kaydedip çıkın.
Creating your Own Caddyfile
15. Ubuntu sistemimize bazı temel HTML kodları kaydedildikten sonra, Caddy’yi az önce oluşturduğumuz dizindeki dosyaları sunacak şekilde ayarlamamız gerekecek.
Bunu yapmak için kendi Caddyfile’ımızı yazacağız ve Ubuntu’ya Caddy kurulumuyla birlikte gelen dosyayı atacağız.
Caddyfile, Apache’deki sanal ana bilgisayara ve Nginx’teki sunucu bloğuna benzer. Temel olarak, bir web sitesini nasıl tanımladığınızı ve web sunucusu tarafından nasıl işlenmesi gerektiğini belirler.
Caddy kurulumuyla birlikte gelen temel Caddyfile’ı aşağıdaki komutu kullanarak kaldırabilirsiniz.
sudo rm /etc/caddy/Caddyfile
16. Varsayılan Caddyfile artık kaldırıldığı için, onun yerine kendi Caddyfile dosyamızı yazabiliriz. Caddyfile formatını öğrendikten sonra kullanımı oldukça kolaydır.
Aşağıdaki komutu terminalde kullanarak Ubuntu’da yeni bir Caddyfile yazmaya başlayabilirsiniz.
sudo nano /etc/caddy/Caddyfile
17. Şimdi, bu dosyaya aşağıdaki satırları yazmanız gerekecek. Caddy’nin bu dosyaları kullanarak bir web sunucusunu nasıl kurduğuna dair kısa bir fikir edinebilmeniz için, bu satırların ne işe yaradığını aşağıda açıklayacağız.
a. Ubuntu’da Caddy kullanarak barındırmayı planladığınız her web sitesinin kendi bloğu olmalıdır. Blok, bir adresin ardından açık süslü parantez ({) sembolü kullanılarak tanımlanır.
Bir adres aslında birkaç farklı şeyden biri olabilir. Bunlardan birkaçını ele alacağız, ancak tam listeyi Caddy web sitesinde bulabilirsiniz.
IP Adresi (192.168.0.1): Bir IP adresi belirtirseniz, Caddy web siteniz için kendi kendine imzalanmış bir sertifika oluşturur. Bu, temel olarak web sitenizi her yüklediğinizde bir uyarıyla karşılaşacağınız, ancak yine de HTTPS’yi kullanabileceği anlamına gelir.
Alan adı (example.com): Caddy, bir alan adı kullanarak o belirli ana bilgisayar adını dinleyecek ve ayrıca bunun için herkese açık olarak güvenilen bir sertifika oluşturmaya çalışacaktır.
IP Adresi (192.168.0.1): Bir IP adresi belirtirseniz, Caddy web siteniz için kendi kendine imzalanmış bir sertifika oluşturur. Bu, temel olarak web sitenizi her yüklediğinizde bir uyarıyla karşılaşacağınız, ancak yine de HTTPS’yi kullanabileceği anlamına gelir.
localhost: Caddy, web içeriğini yalnızca yerel makineye sunacak şekilde de ayarlanabilir. Adresi localhost olarak ayarladığınızda, Caddy tarafından sunulan içeriğe yalnızca Ubuntu cihazınız erişebilir.
Tıpkı bir IP adresi kullanmış gibi Caddy, web trafiğinizin şifrelenebilmesi için kendi kendine imzalanmış bir sertifika üretecektir.
Protokol (http:// veya https://): Adresi http veya https protokolüne ayarlayarak, Caddy bu bloğu her şeyi kapsayan bir blok olarak kullanır. Herhangi bir ana bilgisayar adı ayarlanmamışsa, bu bloğa düşer.
Eğer “https://” kullanıyorsanız Caddy gelen her trafik için geçerli bir sertifika üretmeye çalışacaktır.
<ADDRESS> {
b. Bu blok içinde birkaç farklı işlem yapabilirsiniz. Caddy’nin iki temel kullanım alanı vardır: ters proxy kurmak veya belirli bir dizinden içerik sunmak.
Bu örnekte, Ubuntu üzerinde Caddy web sunucusunu “/var/www/<ALANADI>/html” dizinindeki dosyaları sunacak şekilde ayarlayacağız.
Tek yapmamız gereken aşağıdaki satırı yazmak. Yıldız işaretini (*) belirttiğimizde, Caddy gelen tüm istekler için bu dizini kullanacaktır. Teorik olarak, bunu kullanarak gelen isteğe göre farklı klasörler ayarlayabilirsiniz.
root * /var/www/<DOMAINNAME>/html
c. Caddy web sunucusu birçok işlevselliğe sahiptir. Bu işlevselliklerden biri de dosya sunucusudur.
Bu dosya sunucusu, Caddy’nin seçtiğiniz kök dizindeki statik dosyaları kolayca sunmasını sağlar. İsterseniz, bu satırın sonuna bir boşluk ve ardından “göz at” ekleyerek dizininizi taranabilir hale bile getirebilirsiniz.
file_server
d. Ubuntu’da Caddy kullanarak statik bir web sitesi kurmak ve sunmak için ihtiyacımız olan tek şey bu.
Yapmamız gereken son şey, sonuna kıvırcık parantez sembolü ekleyerek bu yeni sunucu bloğunu sonlandırmaktır.
}
18. Aşağıda, dosyayı doldurduktan sonra geçerli bir Caddyfile’ın nasıl görünebileceğine dair bir örnek verilmiştir.
Caddy web sunucusu çok daha fazlasını yapabilir, ancak Ubuntu’ya kurulumla ilgili temel kılavuzumuz için bu, her şeyin çalıştığını doğrulamak için yeterli olacaktır. Örneğimizde, yerel ana bilgisayarımızı kullandığımızı görebilirsiniz.
localhost {
root * /var/www/localhost/html
file_server
}
19. Caddyfile’ınızı yazmayı bitirdiğinizde CTRL + X, Y ve ardından ENTER’a basarak kaydedip çıkın.
Yeni Ubuntu Caddy Web Sunucunuzu Test Etme
20. Caddyfile’ı yeniden yazmış olsak bile, Caddy web sunucusunun bundan tamamen haberi olmayacaktır.
Neyse ki Caddy’nin güncellenmiş dosyayı yüklemesi inanılmaz derecede basit ve tek yapmamız gereken Ubuntu sisteminizde aşağıdaki komutu çalıştırmak.
sudo systemctl reload caddy
21. Caddy web sunucusu yeniden yüklemeyi tamamladığında, tek yapmanız gereken favori web tarayıcınızda belirlediğiniz alan adına gitmektir.Her şey düzgün çalıştıysa ve geçerli bir alan adı belirlediyseniz, Caddy otomatik olarak size geçerli bir SSL sertifikası da getirmiş olmalıdır.
https://<DOMAINNAME>
22. Aşağıda, web sunucusunun daha önce kaydettiğimiz son derece basit HTML dosyasını nasıl sunduğunu görebilirsiniz. Bu, Caddy’nin Ubuntu’da düzgün çalıştığını gösterir.
Yazının orijinalini buradan okuyabilirisniz.