Ana içeriğe geç

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)
  • sudo yetkisine 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.