Yazı Boyutu:

Giriş

Güvenli veri iletişimi sağlamak için SSL (Secure Sockets Layer) veya günümüzdeki adıyla TLS (Transport Layer Security), sunucular için vazgeçilmez bir güvenlik katmanıdır. Bu makalede, AlmaLinux 8 üzerinde Apache ve Nginx gibi popüler web sunucularına ücretsiz Let's Encrypt SSL sertifikası kurulumunu ve yapılandırmasını adım adım anlatacağız.


1. Ön Gereksinimler

  • AlmaLinux 8 yüklü ve çalışan bir sunucu

  • Bir alan adı (örnek: example.com)

  • Alan adının sunucunun IP adresine yönlendirilmiş olması

  • Root yetkileri


2. Certbot’un Kurulumu (Let's Encrypt İstemcisi)

EPEL (Extra Packages for Enterprise Linux) ve Certbot’u Yükleyin:

dnf install epel-release -y dnf install certbot python3-certbot-apache -y

Eğer Nginx kullanıyorsanız, python3-certbot-nginx paketini yükleyin.

dnf install python3-certbot-nginx -y

3. Apache Sunucusu İçin SSL Kurulumu

Adım 1: Apache'nin kurulu ve çalışır durumda olduğundan emin olun:

systemctl status httpd

Adım 2: SSL Sertifikasını Alın:

certbot --apache

Sistem size alan adınızı, e-posta adresinizi soracaktır. İstediğiniz alan adı için sertifika oluşturup Apache konfigürasyon dosyalarını otomatik düzenleyecektir.

Adım 3: SSL Sertifikasının Yenilenmesini Otomatize Edin

echo "0 0 * * * root certbot renew --quiet" >> /etc/crontab

4. Nginx Sunucusu İçin SSL Kurulumu

Adım 1: Nginx'in kurulu olduğundan emin olun:

systemctl status nginx

Adım 2: SSL Sertifikasını Alın:

certbot --nginx

Certbot, Nginx yapılandırma dosyalarını analiz ederek gerekli SSL ayarlarını otomatik olarak yapacaktır.


5. Manuel SSL Yapılandırması (İsteğe Bağlı)

Eğer sertifikaları manuel olarak kurmak isterseniz, Let's Encrypt sertifikaları şu dizinlere kaydolur:

  • Sertifika: /etc/letsencrypt/live/example.com/fullchain.pem

  • Özel anahtar: /etc/letsencrypt/live/example.com/privkey.pem

Apache Manuel SSL Ayarı

/etc/httpd/conf.d/ssl.conf ya da özel bir vhost dosyasında şu ayarları yapabilirsin:

<VirtualHost *:443> ServerName example.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem </VirtualHost>

Nginx Manuel SSL Ayarı

server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { root /usr/share/nginx/html; index index.html; } }

6. HTTP'den HTTPS'e Yönlendirme

Apache

<VirtualHost *:80> ServerName example.com Redirect permanent / https://example.com/ </VirtualHost>

Nginx

server { listen 80; server_name example.com; return 301 https://$host$request_uri; }

7. Sertifikanın Durumunu Kontrol Etme

certbot certificates

Bu komut, kurulu sertifikaların süresini ve geçerlilik durumunu gösterir.


Sonuç

AlmaLinux 8 üzerinde SSL kurulumu, özellikle Let's Encrypt gibi ücretsiz ve güvenilir servislerle oldukça kolaydır. Yukarıdaki adımları takip ederek web sunucunuzu HTTPS üzerinden güvenli hale getirebilir, veri güvenliğini sağlayabilirsiniz.