sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa SSL & Güvenlik Let's Encrypt SSL Sertifikası Kurulumu ve Yenil...
🔒 SSL & Güvenlik

Let's Encrypt SSL Sertifikası Kurulumu ve Yenileme Rehberi

Let's Encrypt ücretsiz SSL sertifikası sağlar. Certbot ile Ubuntu/Debian, cPanel AutoSSL ve Plesk entegrasyonu için rehber.

📅 29 Aralık 2024 👁 50 görüntülenme ⏱ 5 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Let's Encrypt Nedir?

Let's Encrypt, Internet Security Research Group (ISRG) tarafından yönetilen, ücretsiz, otomatik ve açık kaynaklı bir SSL/TLS Sertifika Yetkilisidir (CA). 2016 yılında kamuya açık hale getirilen bu servis, HTTPS şifrelemesini yaygınlaştırma misyonuyla kurulmuş olup günümüzde dünya üzerindeki yüz milyonlarca web sitesine sertifika sağlamaktadır.

Let's Encrypt sertifikaları 90 günlük geçerlilik süresine sahiptir ve otomatik yenileme özelliği sayesinde manuel müdahale gerektirmez. ACME protokolü üzerinden çalışan Certbot, en yaygın kullanılan istemcidir. Sertifikalar alan adı doğrulaması (DV - Domain Validation) sınıfında olup web sunucunuzun alan adınıza sahip olduğunuzu kanıtlamasıyla verilir. Kurumsal EV sertifikalarının aksine Let's Encrypt sertifikaları için ödeme veya bürokratik süreç gerekmez.


Ön Gereksinimler

  • Alan adı bir IP adresine doğru şekilde yönlendirilmiş olmalıdır.
  • Port 80 (HTTP) açık olmalıdır (ACME HTTP-01 doğrulaması için).
  • Certbot'un çalışacağı sunucuda Python yüklü olmalıdır.
  • Root veya sudo yetkisine sahip olunmalıdır.
  • Wildcard sertifika için DNS-01 doğrulaması ve DNS API erişimi gereklidir.

Kurulum Adımları

Ubuntu/Debian'da Certbot ile Nginx

Nginx kullanan Ubuntu veya Debian tabanlı sunucularda Certbot kurulumu ve SSL aktivasyonu.

# Certbot ve Nginx eklentisini yükle
sudo apt update
sudo apt install certbot python3-certbot-nginx -y

# SSL sertifikası al ve Nginx'i otomatik yapılandır
sudo certbot --nginx -d siteniz.com -d www.siteniz.com

# Yalnızca sertifika al (Nginx'i elle yapılandır)
sudo certbot certonly --nginx -d siteniz.com -d www.siteniz.com

# Sertifika dosyaları şu konuma kaydedilir:
# /etc/letsencrypt/live/siteniz.com/fullchain.pem
# /etc/letsencrypt/live/siteniz.com/privkey.pem

# Nginx SSL konfigürasyonu
sudo nano /etc/nginx/sites-available/siteniz.com
server {
    listen 443 ssl;
    server_name siteniz.com www.siteniz.com;

    ssl_certificate /etc/letsencrypt/live/siteniz.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/siteniz.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/html;
    index index.php index.html;
}

server {
    listen 80;
    server_name siteniz.com www.siteniz.com;
    return 301 https://$host$request_uri;
}
sudo nginx -t && sudo systemctl reload nginx

Ubuntu/Debian'da Certbot ile Apache

Apache web sunucusu kullananlar için Certbot Apache eklentisi ile kurulum.

sudo apt install certbot python3-certbot-apache -y

# SSL sertifikası al ve Apache'yi otomatik yapılandır
sudo certbot --apache -d siteniz.com -d www.siteniz.com

# Apache mod_ssl ve mod_rewrite aktif mi?
sudo a2enmod ssl rewrite
sudo systemctl restart apache2

# Sertifika yenileme testi
sudo certbot renew --dry-run

CentOS/AlmaLinux/RHEL'de Certbot Kurulumu

RHEL tabanlı dağıtımlarda Certbot kurulum yöntemi farklıdır.

# EPEL deposunu ekle
sudo dnf install epel-release -y

# Certbot kur (snap önerilir)
sudo dnf install snapd -y
sudo systemctl enable --now snapd.socket
sudo snap install core && sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# Nginx için sertifika al
sudo certbot --nginx -d siteniz.com

# Firewall portlarını aç
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Wildcard Sertifika (DNS-01 Doğrulaması)

*.siteniz.com gibi wildcard sertifikalar için DNS doğrulaması gerekir.

# DNS-01 doğrulamasıyla wildcard sertifika
sudo certbot certonly --manual --preferred-challenges=dns \
     -d siteniz.com -d *.siteniz.com

# Certbot size bir DNS TXT kaydı değeri verecek:
# _acme-challenge.siteniz.com TXT "rastgele-deger"
# Bu kaydı DNS panelinize ekleyin ve Enter'a basın

# Cloudflare DNS API ile otomatik wildcard (daha iyi yöntem)
sudo pip3 install certbot-dns-cloudflare
sudo certbot certonly --dns-cloudflare \
     --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
     -d siteniz.com -d *.siteniz.com

cPanel AutoSSL ile (Hosting)

cPanel hosting hesaplarında SSL yönetimi AutoSSL veya Let's Encrypt eklentisi üzerinden yapılır.

# cPanel > Security > SSL/TLS Status
# "Run AutoSSL" butonuna tıklayın
# Let's Encrypt sertifikası otomatik olarak kurulur ve yenilenir

# WHM üzerinden (Reseller/VPS):
# WHM > SSL/TLS > Manage AutoSSL
# Provider: Let's Encrypt seçin
# "Install" ve ardından "Run AutoSSL for All Users"

Plesk Ortamında Let's Encrypt

Plesk panel üzerinde Let's Encrypt entegrasyonu eklenti ile kolayca kurulabilir.

# Plesk > Extensions > Let's Encrypt eklentisini yükle
# Plesk > Domains > siteniz.com > SSL/TLS Certificates
# Let's Encrypt seçin, alan adını girin, "Get it free" tıklayın

# SSH ile Plesk CLI:
sudo /usr/local/psa/bin/extension --exec letsencrypt cli.php \
     --domains siteniz.com,www.siteniz.com -e admin@siteniz.com

Sertifika Yenileme ve Otomatik Görev

Certbot, sisteme kurulduğunda otomatik yenileme için bir cron veya systemd timer ekler.

# Otomatik yenileme timer'ını kontrol et
sudo systemctl status certbot.timer
sudo systemctl list-timers | grep certbot

# Yenilemeyi manuel olarak test et
sudo certbot renew --dry-run

# Cron alternatifi
sudo crontab -e
# 0 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"

# Sertifika geçerlilik süresini kontrol et
sudo certbot certificates

# openssl ile sertifika bilgisi
echo | openssl s_client -connect siteniz.com:443 2>/dev/null | openssl x509 -noout -dates

Özet ve Önleyici Tedbirler

  • Sertifika yenileme başarısızlıklarını e-posta ile almak için certbot'u --email admin@siteniz.com seçeneğiyle kurun.
  • Sertifika 90 gün geçerli; 30 gün kala yenileme başlar. Yenileme işini cron/systemd ile otomatikleştirin.
  • Port 80'i kapatmayın; HTTP-01 doğrulaması için açık olmalıdır veya DNS-01'e geçin.
  • Wildcard sertifikalar için DNS API entegrasyonu (Cloudflare, Route53) kurun.
  • HSTS başlığını ekleyerek HTTPS'i zorunlu kılın: add_header Strict-Transport-Security "max-age=31536000";
  • SSL Labs (ssllabs.com/ssltest) ile sertifika ve SSL yapılandırmanızı düzenli test edin.

İlgili Makaleler

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al
Etiketler: #ssl #cpanel #linux #let-s-encrypt

Yorumlar

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

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.