AlmaLinux 9'da Apache için Ücretsiz Let's Encrypt SSL

2 min
VPS/VDS Hosting

Tarayıcılar ve arama motorları HTTPS bekler, Let's Encrypt ise sertifikaları ücretsiz verir. AlmaLinux 9 çalışan bir VPS Linux Infrawire üzerinde Certbot sertifikayı alabilir, Apache yapılandırmasını düzenleyebilir ve sertifikayı kendisi yenileyebilir. Aynı adımlar Rocky Linux 9 için de geçerlidir.

📋 Ön koşullar

  • root veya sudo erişimli bir AlmaLinux 9 VPS (IP ve parola müşteri alanınızda).
  • A kaydı (ve IPv6 için AAAA) VPS_IP adresine işaret eden bir alan adı, example.com. Önce DNS yayılımını bekleyin.
  • Siteyi 80 numaralı portta HTTP ile sunan Apache (httpd).

1. Apache'yi kurma ve güvenlik duvarını açma

Apache kurulu değilse kurun ve başlatın. Ardından firewalld'de HTTP ve HTTPS'i açın; Let's Encrypt doğrulaması için 80 numaralı port gereklidir.

Bash
dnf install -y httpd systemctl enable --now httpd firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload firewall-cmd --list-services

2. Alan adınız için sanal konak oluşturma

Certbot alan adınızla eşleşen bir ServerName arar, bu yüzden ayrı bir sanal konak oluşturun.

Bash
mkdir -p /var/www/example.com/public_html echo "Hello" > /var/www/example.com/public_html/index.html

/etc/httpd/conf.d/example.com.conf dosyasını oluşturun:

Apache
1<VirtualHost *:80> 2 ServerName example.com 3 ServerAlias www.example.com 4 DocumentRoot /var/www/example.com/public_html 5</VirtualHost>

Sözdizimini kontrol edip yeniden yükleyin:

Bash
apachectl configtest systemctl reload httpd

3. Certbot ve mod_ssl kurulumu

Certbot EPEL deposundan gelir. mod_ssl, Apache TLS modülünü ve httpd'nin 443 numaralı portu dinleyebilmesi için gereken varsayılan sertifikayı sağlar.

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

4. Sertifikayı isteme

Certbot'u Apache eklentisiyle çalıştırın. Alan adını HTTP üzerinden doğrular, yeni bir *-le-ssl.conf sanal konağı yazar ve HTTP'den HTTPS'e yönlendirmeyi ekleyebilir.

Bash
certbot --apache -d example.com -d www.example.com

Gerçek bir e-posta adresi girin (süre sonu uyarıları için kullanılır), şartları kabul edin ve sorulduğunda yönlendirme seçeneğini seçin. -d ile verilen her ad bu sunucuya çözülmelidir, aksi hâlde doğrulama başarısız olur.

SELinux enforcing modundaysa (varsayılan), standart bir kurulum için özel bir şey gerekmez. Bir hatayı aşmak için SELinux'u kapatmayın.

5. Otomatik yenilemeyi kontrol etme

Let's Encrypt sertifikaları 90 gün geçerlidir. AlmaLinux 9'da paket, günde iki kez çalışan ve yalnızca süresi yaklaşan sertifikaları yenileyen bir systemd zamanlayıcısı kurar.

Bash
systemctl list-timers | grep certbot systemctl status certbot-renew.timer

Zamanlayıcı listede yoksa etkinleştirin:

Bash
systemctl enable --now certbot-renew.timer

Gerçek sertifikaya dokunmadan yenilemeyi simüle edin:

Bash
certbot renew --dry-run

Son satır, simüle edilen tüm yenilemelerin başarılı olduğunu söylemelidir. Gerçek bir yenilemeden sonra Apache otomatik olarak yeniden yüklenir.

Doğrulama

Bash
certbot certificates curl -I https://example.com curl -I http://example.com

İlk komut alan adlarını ve bitiş tarihini listeler. HTTPS isteği 200 döndürmeli, HTTP isteği ise HTTPS adresine 301 ile yanıt vermelidir. Tarayıcıda kilit simgesi, Let's Encrypt tarafından verilmiş geçerli bir sertifika göstermelidir. Tüm zinciri görmek için openssl s_client -connect example.com:443 -servername example.com çalıştırabilirsiniz.

Sorun giderme

  • Doğrulama sırasında sınama başarısız oldu veya zaman aşımı: DNS henüz sunucuya işaret etmiyor ya da 80 numaralı port engelli. dig +short example.com, firewall-cmd --list-services ve VPS'in önündeki olası güvenlik duvarlarını kontrol edin.
  • Certbot eşleşen bir sanal konak bulamıyor: /etc/httpd/conf.d/ içindeki ServerName veya ServerAlias, verdiğiniz alan adıyla uyuşmuyor. Düzeltin, apachectl configtest çalıştırın ve tekrar deneyin. Ayrıca certbot certonly --apache kullanıp yolları kendiniz yapılandırabilirsiniz.
  • Çok fazla sertifika veya başarısız doğrulama (hız sınırı): Let's Encrypt tekrarlanan denemeleri sınırlar. Önce certbot --apache --dry-run ile test edin ve yeniden denemeden önce bekleyin.
  • Kurulumdan sonra site 443 üzerinden erişilemiyor: HTTPS firewalld'de açık değil ya da httpd yeniden yüklenmedi. firewall-cmd --permanent --add-service=https, firewall-cmd --reload ve systemctl restart httpd komutlarını çalıştırın.

🔐 AlmaLinux 9 üzerindeki Apache siteniz artık HTTPS sunuyor ve sertifikasını kendisi yeniliyor.

En yeni teklifler, indirimler ve özel promosyonlardan haberdar olun.

Promosyonları gör

Çerez kullanıyoruz

Sitemizdeki deneyiminizi iyileştirmek için analiz çerezleri kullanıyoruz. Hiçbir veri üçüncü taraflara satılmaz. Daha fazlasını şurada öğrenin: gizlilik politikası.