Debian 10 Apache Let's Encrypt SSL Kurulumu
Debian 10 üzerinde çalışan bir Apache web sunucusuna ücretsiz Let's Encrypt SSL sertifikası kurmak istiyorsanız bu rehber size baştan sona eksiksiz bir kurulum süreci sunar.
Bu dokümanda yalnızca SSL kurulumu değil, aynı zamanda:
- HTTPS yönlendirmesi
- Certbot otomatik yenileme
- Apache VirtualHost doğrulaması
- UFW güvenlik duvarı ayarları
- Ek HTTPS güvenlik önerileri
gibi gerçek üretim ortamlarında gerekli olan tüm adımlar ele alınmaktadır.
Ön Koşullar
Kuruluma başlamadan önce aşağıdaki gereksinimlerin hazır olduğundan emin olun:
- Debian 10 kurulu bir sunucu (VPS / VDS / Dedicated / Cloud)
sudoyetkisine sahip bir kullanıcı- Alan adınızın sunucu IP adresine yönlendirilmiş olması
Örnek domain:
rabisu.cloud
www.rabisu.cloud
Ayrıca Apache VirtualHost dosyanızın oluşturulmuş olması gerekir.
Örnek dosya yolu:
/etc/apache2/sites-available/rabisu-cloud.conf
1. Certbot Kurulumu (Snap ile)
Debian 10 depolarındaki Certbot sürümü eski olduğu için Snap üzerinden güncel Certbot kurulumu yapılması önerilir.
1.1 Sistem paketlerini güncelle
sudo apt update
1.2 Snapd paketini kur
sudo apt install snapd
1.3 Snap core paketini güncelle
sudo snap install core
sudo snap refresh core
1.4 Certbot kurulumu
sudo snap install --classic certbot
1.5 Global Certbot bağlantısı oluştur
sudo ln -s /snap/bin/certbot /usr/bin/certbot
2. Apache VirtualHost Yapılandırmasını Kontrol Etme
SSL kurulumu öncesinde Apache VirtualHost yapılandırmasının doğru olması gerekir.
VirtualHost dosyasını açın:
sudo nano /etc/apache2/sites-available/rabisu-cloud.conf
Dosya içerisinde aşağıdaki satırın bulunduğundan emin olun:
ServerName rabisu.cloud
Apache yapılandırmasını test edin:
sudo apache2ctl configtest
Herhangi bir hata yoksa Apache servisini yeniden yükleyin:
sudo systemctl reload apache2
3. UFW Güvenlik Duvarı Ayarları
Let's Encrypt doğrulaması için HTTP (80) ve HTTPS (443) portlarının açık olması gerekir.
UFW durumunu kontrol edin:
sudo ufw status
Apache için tam profil izni verin:
sudo ufw allow 'WWW Full'
Eski HTTP kuralını kaldırabilirsiniz:
sudo ufw delete allow 'WWW'
4. Let's Encrypt SSL Sertifikası Alma
Certbot Apache eklentisi ile SSL sertifikasını kolayca kurabilirsiniz.
sudo certbot --apache -d rabisu.cloud -d www.rabisu.cloud
Kurulum sırasında sizden aşağıdaki bilgiler istenir:
E-posta adresi
Let's Encrypt kullanım şartları onayı
HTTP → HTTPS yönlendirmesi tercihi
Kurulum tamamlandıktan sonra sitenizi şu adres üzerinden test edebilirsiniz:
https://rabisu.cloud
Tarayıcıda kilit simgesi görünüyorsa SSL başarıyla kurulmuştur.
5. Certbot Otomatik Sertifika Yenileme
Let's Encrypt sertifikaları 90 gün geçerlidir.
Certbot otomatik yenileme görevini sistem cron görevlerine ekler.
Yenileme işlemini test etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo certbot renew --dry-run
Test başarılıysa sertifikalar otomatik olarak yenilenecektir.
Ek HTTPS Güvenlik Önerileri
HTTP → HTTPS Zorunlu Yönlendirme
.htaccess dosyanıza aşağıdaki kuralları ekleyebilirsiniz:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
HSTS Güvenlik Başlığı
Apache VirtualHost içerisine aşağıdaki satırı ekleyerek HSTS etkinleştirebilirsiniz.
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Sertifika Dosyalarının Konumu
Let's Encrypt sertifikaları aşağıdaki dizinde saklanır:
/etc/letsencrypt/live/alanadiniz/
Bu klasörü silmemeniz ve düzenli olarak yedeklemeniz önerilir.
Sıkça Sorulan Sorular
Certbot neden Snap ile kuruluyor?
Debian 10 paket deposundaki Certbot sürümü eski olabilir. Snap üzerinden kurulum yaparak en güncel ve güvenli Certbot sürümünü kullanabilirsiniz.
SSL sertifikaları nerede saklanır?
Sertifikalar şu dizinde bulunur:
/etc/letsencrypt/live/alanadiniz/
HTTP → HTTPS yönlendirmesi otomatik yapılmadıysa ne yapılmalı?
Apache VirtualHost dosyasına veya .htaccess dosyasına bir RewriteRule ekleyerek yönlendirme yapılabilir.
SSL çalışmıyorsa ne kontrol edilmeli?
Aşağıdaki kontrolleri yapmanız önerilir:
443 portu açık mı,
Apache yapılandırması hatasız mı,
apache2ctl configtest
Domain DNS A kaydı doğru IP adresine yönleniyor mu?
Sonuç
Bu rehber ile Debian 10 üzerinde Apache Let's Encrypt SSL kurulumu tamamlanmış olur. Artık web siteniz HTTPS üzerinden güvenli bir şekilde yayın yapmaktadır.
Let's Encrypt ve Certbot sayesinde SSL sertifikaları otomatik olarak yenilenir ve ücretsiz olarak kullanılabilir.