Bogahost Blog | Güncel Hosting, Sunucu ve Yazılım Rehberi
Müşteri Paneli
Blog

Let's Encrypt ile Ücretsiz SSL Kurulumu

HTTPS artık tarayıcıların "güvenli değil" uyarısından kaçınmak için bir tercih değil, zorunluluk. Let's Encrypt'in ücretsiz ve otomatik sertifikaları sayesinde küçük bir blog da, yüksek trafikli bir e-ticaret sitesi de aynı kriptografik güvene kavuşabiliyor. Aşağıda farklı senaryolar için kurulum adımlarını, sık yapılan hataları ve yenileme mantığını uçtan uca ele alıyoruz.

Let's Encrypt Nasıl Çalışır?

Let's Encrypt, ISRG (Internet Security Research Group) tarafından işletilen, ACME (Automatic Certificate Management Environment) protokolü üzerinden çalışan bir sertifika otoritesidir. Süreç kabaca şöyle ilerler: istemci, sunucuda barındırdığınız alan adının gerçekten sizin kontrolünüzde olduğunu kanıtlar (domain validation), CA bunu doğrular ve genellikle 90 gün geçerli bir sertifika imzalar. Kısa ömür, otomasyonu teşvik etmek için bilinçli bir tercihtir.

Doğrulama iki temel yöntemle yapılır:

İmzalama sırasında istemci, sunucuda yerel olarak ürettiği bir özel anahtara karşılık gelen CSR (Certificate Signing Request) gönderir. Özel anahtar hiçbir zaman Let's Encrypt sunucularına ulaşmaz; bu, sürecin güvenlik açısından en kritik detaylarından biridir.

Kurulum Öncesi Hazırlık

Kuruluma başlamadan önce birkaç şeyin yerinde olması işinizi kolaylaştırır. Alan adının A/AAAA kaydının sunucunuzun gerçek IP adresine işaret etmesi gerekir; aksi halde HTTP-01 doğrulaması başarısız olur. Sunucuda root ya da sudo yetkisi, açık 80 ve 443 portları ve güncel bir web sunucusu (Nginx veya Apache) bulunmalı.

Certbot ile Kurulum (Nginx)

Certbot, EFF'in geliştirdiği en yaygın ACME istemcisidir. Çoğu dağıtımda snap üzerinden kurmak, en güncel sürümü almanın güvenli yoludur. Aşağıdaki örnek Ubuntu/Debian üzerinde Nginx için tam bir akış sunar:

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

# Nginx eklentisiyle sertifika al ve konfigürasyonu otomatik düzenle
sudo certbot --nginx -d example.com -d www.example.com \
  --agree-tos -m admin@example.com --redirect

# Yenilemenin sorunsuz çalışacağını kuru çalıştırmayla test et
sudo certbot renew --dry-run

--nginx parametresi sanal sunucu bloğuna ssl_certificate ve ssl_certificate_key satırlarını kendisi ekler, --redirect ile de 80 portundan 443'e kalıcı yönlendirme kurulur. Apache kullanıyorsanız aynı işi --apache eklentisi yapar.

acme.sh ile Daha Hafif Bir Alternatif

Python bağımlılığı olmayan, saf shell ile yazılmış acme.sh, paylaşımlı ortamlarda ve özel kurulumlarda esneklik sunar. DNS-01 ile wildcard sertifika almak için DNS sağlayıcınızın API anahtarını ortam değişkeni olarak vermeniz yeterlidir:

curl https://get.acme.sh | sh -s email=admin@example.com

export CF_Token="cloudflare_api_token"
~/.acme.sh/acme.sh --issue --dns dns_cf \
  -d example.com -d '*.example.com'

~/.acme.sh/acme.sh --install-cert -d example.com \
  --key-file /etc/ssl/example.com.key \
  --fullchain-file /etc/ssl/example.com.cer \
  --reloadcmd "systemctl reload nginx"

--reloadcmd sayesinde sertifika her yenilendiğinde web sunucusu otomatik olarak yeniden yüklenir; manuel müdahaleye gerek kalmaz. acme.sh, varsayılan olarak kendi cron kaydını da kurar, dolayısıyla ayrı bir zamanlayıcı tanımlamanıza çoğu durumda gerek olmaz. DNS API'sini desteklemeyen bir sağlayıcı kullanıyorsanız, TXT kaydını elle ekleyip --yes-I-know-dns-manual-mode-enough-go-ahead-please parametresiyle ilerleyebilirsiniz; ancak bu yöntem otomatik yenilemeyi devre dışı bıraktığı için üretim ortamında önerilmez.

cPanel ve Paylaşımlı Hosting Senaryosu

Komut satırına erişiminiz yoksa endişelenmeyin. Modern cPanel sürümlerinde AutoSSL özelliği, hesabınızdaki alan adları için Let's Encrypt ya da Sectigo sertifikalarını arka planda otomatik kurar ve yeniler. "SSL/TLS Status" ekranından bir alan adı için Run AutoSSL diyerek süreci elle de tetikleyebilirsiniz. Bogahost'un web hosting paketlerinde sunulan otomatik SSL desteği, panel üzerinden tek tıkla devreye girer ve yenilemeyi sizin yerinize üstlenir.

Kurumsal projelerde EV/OV doğrulamalı veya garanti kapsamı geniş çözümler gerekiyorsa, farklı seviyelerdeki SSL sertifikası seçenekleri arasından ihtiyacınıza uygun olanı seçmek daha doğru olur.

Otomatik Yenileme ve İzleme

90 günlük ömür, yenilemenin asla unutulmaması gerektiği anlamına gelir. Certbot snap kurulumu sistemd timer'ı kendiliğinden ekler; systemctl list-timers | grep certbot ile doğrulayabilirsiniz. Manuel cron tercih edenler için günde iki kez çalışan bir kayıt yeterlidir:

0 3,15 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"

Sertifikanın gerçek bitiş tarihini dışarıdan teyit etmek için şu komut işinizi görür:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -dates

Yenilemenin sessizce başarısız olması en sinsi sorundur; bu yüzden yalnızca cron'a güvenmek yerine harici bir izleme kurmak akıllıca olur. Uptime izleme servislerinin çoğu sertifika geçerlilik süresini takip edip bitişe yaklaşıldığında uyarı gönderebilir. Kendi sunucunuzda hızlı bir kontrol için certbot certificates komutu, kurulu tüm sertifikaları kalan günleriyle birlikte listeler.

İstemci Yöntemlerinin Karşılaştırması

YöntemEn İyi KullanımWildcardOtomatik Yenileme
Certbot (snap)VPS / dedike sunucuDNS-01 ile evetsystemd timer
acme.shMinimal / özel kurulumEvet, kolayYerleşik cron
cPanel AutoSSLPaylaşımlı hostingHayırPanel otomatik

Bogahost Önerisi: Sertifikayı kurduktan sonra yapılandırmanızı SSL Labs gibi bir araçla test edin ve eski TLS 1.0/1.1 protokollerini kapatıp yalnızca TLS 1.2 ve 1.3'ü açık bırakın; HSTS başlığını eklemeden önce ise tüm alt alan adlarınızın HTTPS'e hazır olduğundan emin olun.

Sık Karşılaşılan Hatalar

Özetle

Doğru istemciyi seçip otomatik yenilemeyi yapılandırdığınızda Let's Encrypt, neredeyse hiç bakım gerektirmeyen sağlam bir HTTPS altyapısı sunar. Sunucu türünüze uygun yöntemi belirleyin, yenileme zamanlayıcısını mutlaka test edin ve TLS ayarlarınızı güncel tutarak ziyaretçilerinize kesintisiz güvenli bir bağlantı sağlayın.

Web Siteniz Hızlansın!

Blogumuzu beğendiniz mi? Web siteniz için yüksek performanslı ve %99.9 uptime garantili hosting paketlerimize göz atın.

Paketleri İncele →