Let's Encrypt ile Ücretsiz SSL: Otomatik Yenileme Rehberi

z

zafer ak

Yazar

28 December 2025 3 dakika okuma 373 görüntülenme
Let's Encrypt ile Ücretsiz SSL: Otomatik Yenileme Rehberi
Let's Encrypt ile ücretsiz SSL sertifikası alma ve otomatik yenileme. Certbot kurulumu, wildcard sertifika ve çoklu domain yapılandırması.

Let's Encrypt, ücretsiz, otomatik ve açık bir Sertifika Otoritesidir (CA). Web sitelerinize kolayca SSL sertifikası ekleyebilirsiniz.

SSL Security

Let's Encrypt Avantajları

  • Ücretsiz: Tamamen ücretsiz DV sertifikaları
  • Otomatik: Certbot ile otomatik kurulum ve yenileme
  • Güvenilir: Tüm modern tarayıcılar tarafından tanınır
  • 90 gün geçerlilik: Otomatik yenileme ile sorunsuz
  • Wildcard desteği: *.example.com sertifikaları

Certbot Kurulumu

# Ubuntu/Debian
sudo apt update
sudo apt install certbot

# Nginx için
sudo apt install python3-certbot-nginx

# Apache için
sudo apt install python3-certbot-apache

# CentOS/RHEL
sudo dnf install certbot python3-certbot-nginx

Nginx ile SSL Kurulumu

# Otomatik kurulum
sudo certbot --nginx -d example.com -d www.example.com

# Interaktif sorular:
# - Email adresi
# - Hizmet şartları kabul
# - HTTP-HTTPS yönlendirme

# Sadece sertifika al (manuel yapılandırma)
sudo certbot certonly --nginx -d example.com
SSL Certificate

Apache ile SSL Kurulumu

# Apache SSL modülünü etkinleştir
sudo a2enmod ssl

# Certbot ile kurulum
sudo certbot --apache -d example.com -d www.example.com

# Manuel kurulum
sudo certbot certonly --apache -d example.com

Standalone Mode

Web sunucusu yoksa veya farklı kullanım için:

# Port 80'in boş olması gerekir
sudo certbot certonly --standalone -d example.com

# Webroot mode (sunucu çalışırken)
sudo certbot certonly --webroot -w /var/www/html -d example.com

Wildcard Sertifika

# Wildcard için DNS-01 challenge gerekli
sudo certbot certonly --manual --preferred-challenges dns \
  -d example.com -d *.example.com

# DNS TXT kaydı ekleyin:
# _acme-challenge.example.com

# Doğrulama sonrası Enter'a basın

# Cloudflare DNS ile otomatik:
sudo apt install python3-certbot-dns-cloudflare

# ~/.secrets/cloudflare.ini
dns_cloudflare_api_token = YOUR_API_TOKEN

chmod 600 ~/.secrets/cloudflare.ini

sudo certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
  -d example.com -d *.example.com

Otomatik Yenileme

# Yenileme testi
sudo certbot renew --dry-run

# Certbot timer durumu
sudo systemctl status certbot.timer

# Manuel cron (gerekirse)
# /etc/cron.d/certbot
0 0,12 * * * root certbot renew --quiet

# Yenileme sonrası hook
sudo certbot renew --post-hook "systemctl reload nginx"
HTTPS Secure

Sertifika Yolları

# Sertifika dosyaları
/etc/letsencrypt/live/example.com/
├── cert.pem       # Domain sertifikası
├── chain.pem      # Intermediate sertifikalar
├── fullchain.pem  # cert.pem + chain.pem (genelde bu kullanılır)
└── privkey.pem    # Private key

# Nginx yapılandırması
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

# Apache yapılandırması
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

Sertifika Yönetimi

# Mevcut sertifikaları listele
sudo certbot certificates

# Sertifikayı sil
sudo certbot delete --cert-name example.com

# Sertifikayı genişlet (domain ekle)
sudo certbot certonly --expand -d example.com -d www.example.com -d blog.example.com

# Sertifikayı zorla yenile
sudo certbot renew --force-renewal

Sorun Giderme

# Rate limit hatası
# 7 gün içinde 5 sertifika limiti
# Staging ortamı kullanın:
sudo certbot --staging -d example.com

# Firewall sorunu
# Port 80 açık olmalı
sudo ufw allow 80
sudo ufw allow 443

# DNS doğrulama
dig +short example.com
dig +short _acme-challenge.example.com TXT

Sonuç

Let's Encrypt, web güvenliğini demokratikleştiren önemli bir projedir. Certbot ile kolayca kurulum yapabilir ve otomatik yenileme ile endişesiz kullanabilirsiniz.

İlgili Yazılar