Let's Encrypt ile Ücretsiz SSL Sertifikası Kurulumu (Certbot Rehberi)

Let's Encrypt ile Ücretsiz SSL Sertifikası Kurulumu (Certbot Rehberi)

Let's Encrypt ile ücretsiz SSL kurulumu, bugün bir web sitesini HTTPS'e geçirmenin en hızlı ve en yaygın yoludur. Kâr amacı gütmeyen Let's Encrypt sertifika otoritesi, tarayıcıların tamamı tarafından tanınan sertifikaları ücretsiz dağıtır; resmi istemci Certbot ise alma ve yenileme sürecini birkaç komuta indirger. Bu rehberde Ubuntu/Debian tabanlı bir sunucuda Nginx ve Apache için kurulumu adım adım yapacağız.

Başlamadan Önce Gerekenler

  • Sunucuya root veya sudo yetkili SSH erişimi.
  • Alan adınızın A kaydının sunucunuzun IP adresine yönlendirilmiş olması (Let's Encrypt, doğrulama sırasında alan adınıza erişir).
  • Güvenlik duvarında 80 ve 443 portlarının açık olması. UFW kullanıyorsanız: sudo ufw allow 80,443/tcp
Let's Encrypt sertifikaları 90 gün geçerlidir. Bu kısa süre bilinçli bir tasarım kararıdır: otomatik yenilemeyi teşvik eder ve ele geçirilen anahtarların etki süresini kısaltır. Certbot yenilemeyi otomatikleştirdiği için pratikte ek iş çıkarmaz.

Adım 1: Certbot Kurulumu

Ubuntu ve Debian'da en basit yol, dağıtım deposundan kurmaktır. Nginx kullanıyorsanız:

sudo apt update
sudo apt install certbot python3-certbot-nginx

Apache kullanıyorsanız eklenti paketini değiştirin:

sudo apt install certbot python3-certbot-apache

Certbot ekibinin önerdiği alternatif kurulum yöntemi snap'tir; daha güncel sürüm ister ve dağıtımınızda snap varsa şu şekilde kurabilirsiniz:

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Adım 2: Nginx için Sertifika Alma

Tek komut hem sertifikayı alır hem de Nginx yapılandırmanızı HTTPS için otomatik düzenler:

sudo certbot --nginx -d alanadi.com -d www.alanadi.com

Komut çalışırken sizden bir e-posta adresi ister (yenileme ve güvenlik bildirimleri için), kullanım koşullarını onaylamanızı bekler ve HTTP isteklerinin HTTPS'e yönlendirilip yönlendirilmeyeceğini sorar. Yönlendirmeyi seçmeniz önerilir. İşlem bittiğinde https://alanadi.com adresine girip tarayıcıdaki kilit simgesini kontrol edin; sertifika ayrıntılarında verenin (issuer) Let's Encrypt olduğunu görmelisiniz.

Arka planda olan şudur: Certbot, ACME protokolü üzerinden Let's Encrypt sunucularına başvurur; Let's Encrypt de alan adınızın gerçekten sizin kontrolünüzde olduğunu doğrulamak için http://alanadi.com/.well-known/acme-challenge/ altında Certbot'un oluşturduğu geçici bir dosyayı okur. Bu yüzden alan adının sunucunuza yönelmiş ve 80 portunun açık olması şarttır.

Certbot'un Nginx eklentisi, server_name yönergesi alan adınızla eşleşen sunucu bloğunu bulur; ssl_certificate ve ssl_certificate_key satırlarını otomatik ekler. Sertifika dosyaları /etc/letsencrypt/live/alanadi.com/ dizininde tutulur.

Adım 3: Apache için Sertifika Alma

Apache'de süreç birebir aynıdır, yalnızca eklenti adı değişir:

sudo certbot --apache -d alanadi.com -d www.alanadi.com

Certbot, ilgili sanal konak (VirtualHost) yapılandırmasını bulup SSL yönergelerini ekler ve isteğe bağlı HTTP-HTTPS yönlendirmesini kurar.

Alternatif: Webroot Yöntemi

Web sunucusu yapılandırmanıza Certbot'un dokunmasını istemiyorsanız, yalnızca sertifika dosyalarını alıp yapılandırmayı kendiniz yapabilirsiniz:

sudo certbot certonly --webroot -w /var/www/alanadi.com -d alanadi.com -d www.alanadi.com

Burada -w ile verdiğiniz dizin, sitenizin kök dizinidir; Certbot doğrulama dosyasını buradaki .well-known/acme-challenge/ yoluna yazar. Komut tamamlandığında sertifika yollarını Nginx yapılandırmanıza elle eklersiniz:

ssl_certificate /etc/letsencrypt/live/alanadi.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/alanadi.com/privkey.pem;

Adım 4: Otomatik Yenilemeyi Doğrulayın

Paket kurulumları, yenilemeyi otomatik çalıştıran bir systemd zamanlayıcısı veya cron görevi ekler. Önce zamanlayıcının aktif olduğunu kontrol edin:

systemctl list-timers | grep certbot

Ardından yenileme sürecini gerçek sertifikaya dokunmadan test edin:

sudo certbot renew --dry-run

Komut hatasız tamamlanıyorsa kurulumunuz tamamdır; sertifikalar süresi yaklaştığında kendiliğinden yenilenir. Mevcut sertifikalarınızı ve kalan günleri görmek için:

sudo certbot certificates

Joker (Wildcard) Sertifikalar ve DNS-01 Doğrulaması

*.alanadi.com biçiminde, tüm alt alan adlarını kapsayan joker sertifika almak da mümkündür; ancak bu sertifikalar yalnızca DNS-01 doğrulama yöntemiyle verilir. DNS-01'de Certbot, alan adınızın DNS'ine _acme-challenge adında geçici bir TXT kaydı eklemenizi ister:

sudo certbot certonly --manual --preferred-challenges dns -d "*.alanadi.com" -d alanadi.com

Elle TXT kaydı eklemek her 90 günde bir tekrarlanması gereken zahmetli bir iştir; bu yüzden joker sertifika kullanacaksanız DNS sağlayıcınız için bir Certbot DNS eklentisi (örneğin Cloudflare için python3-certbot-dns-cloudflare) kurup süreci tamamen otomatikleştirmeniz önerilir. Yalnızca birkaç alt alan adınız varsa, joker yerine hepsini -d parametreleriyle tek sertifikada toplamak çoğu zaman daha pratiktir.

Sık Karşılaşılan Sorunlar

  • Doğrulama hatası (challenge failed): Alan adının A kaydı henüz sunucunuza yönelmemiş veya 80 portu kapalı olabilir. dig +short alanadi.com çıktısının sunucu IP'nizi gösterdiğinden emin olun.
  • Hız limiti (rate limit): Let's Encrypt, aynı alan adı için haftalık sertifika sayısını sınırlar. Denemelerinizi --dry-run ile yapın; üst üste başarısız gerçek istek göndermekten kaçının.
  • Karışık içerik (mixed content) uyarısı: Sayfa HTTPS yüklendiği hâlde içindeki resim veya betikler http:// ile çağrılıyordur. Kaynak adreslerini https:// olarak güncelleyin.
  • www ve kök alan adı uyumsuzluğu: Sertifikayı alırken -d parametresiyle kullandığınız tüm varyantları (kök ve www) eklemeyi unutmayın.
  • Kurulum Sonrası Küçük Dokunuşlar

    Sertifika çalıştıktan sonra sitenizdeki tüm dahili bağlantıların https:// kullandığını doğrulayın, varsa CDN ve harici servis ayarlarındaki adresleri güncelleyin. HTTP'den HTTPS'e kalıcı (301) yönlendirmenin aktif olduğunu test edin. WordPress gibi bir CMS kullanıyorsanız Ayarlar > Genel bölümündeki site adreslerini de https:// olarak güncellemeyi unutmayın.

    Daha sıkı güvenlik isteyenler, tarayıcıya siteye her zaman HTTPS ile bağlanmasını söyleyen HSTS başlığını ekleyebilir; ancak bu başlığı yayınlamadan önce tüm alt alan adlarınızın HTTPS üzerinden sorunsuz çalıştığından emin olun, çünkü tarayıcılar bu tercihi belirttiğiniz süre boyunca hatırlar.

    Bu rehberdeki adımlarla Let's Encrypt SSL kurulumu çoğu sunucuda 15 dakikayı geçmez; karşılığında hem ziyaretçi güvenliği hem tarayıcı uyumluluğu hem de arama motoru algısı açısından kalıcı kazanım elde edersiniz. Sertifika otoritesinin çalışma modeli ve ACME protokolü hakkında daha fazla bilgi için letsencrypt.org adresindeki belgeleri inceleyebilirsiniz.

    Sıkça Sorulan Sorular

    Let's Encrypt sertifikası gerçekten ücretsiz mi?
    Evet. Let's Encrypt, kâr amacı gütmeyen Internet Security Research Group (ISRG) tarafından işletilen ücretsiz bir sertifika otoritesidir. Sertifika almak, kullanmak ve yenilemek için hiçbir ücret ödemezsiniz.
    Sertifikanın süresi ne kadar?
    Let's Encrypt sertifikaları 90 gün geçerlidir. Certbot kurulumla birlikte otomatik yenileme zamanlayıcısı eklediği için pratikte süreyi takip etmeniz gerekmez; yenileme arka planda kendiliğinden yapılır.
    Sertifika alırken 80 portu neden açık olmalı?
    En yaygın doğrulama yöntemi olan HTTP-01, Let's Encrypt sunucularının alan adınıza 80 portundan erişip doğrulama dosyasını okumasını gerektirir. Güvenlik duvarınızda 80 ve 443 portlarının açık olduğundan emin olun.
    WxDigitals
    WxDigitals

    WebTeknoloji.net editör ekibi; web geliştirme, SEO, hosting ve yapay zeka alanlarında üretilen içeriklerin araştırma, test ve yayın süreçlerini yürütür. Tüm incelemeler gerçek kullanım deneyimine, karşılaştırmalar ise resmi dokümantasyon ve güncel fiyatlandırma sayfalarına dayanır.

    Bu içeriği faydalı bulduysanız…

    Haftalık teknoloji & SEO rehberlerimize katılın, 38 maddelik Teknik SEO Kontrol Listesi PDF'ini hediye olarak hemen indirin.

    Yorumlar (0)

    Henüz yorum yapılmamış. İlk yorumu siz yapın!

    Yorum Yazın