Apache'de HTTPS sitesini yayınlamak için 443 portunda dinleyen bir sanal konak (VirtualHost) tanımlayıp sertifikayı ve özel anahtarı bu konağa bağlamanız gerekir. Doğru kurulum, tek IP üzerinde birden fazla siteyi de güvenle barındırır.
Ön koşullar
- Sertifika dosyanız (alanadi.crt), özel anahtarınız (alanadi.key) ve ara sertifikalar (CA bundle).
- mod_ssl etkin olmalı.
- Güvenlik duvarında 443 portu açık olmalı.
Adımlar (Debian/Ubuntu örneği)
- Modülü etkinleştirin:
a2enmod ssl - Sertifika ve zinciri birleştirin (sertifika önce, ara sertifika sonra):
cat alanadi.crt ara.crt > alanadi-fullchain.crt - Sanal konağı oluşturun, örneğin
/etc/apache2/sites-available/alanadi-ssl.conf:
<VirtualHost *:443>
ServerName alanadi.com
ServerAlias www.alanadi.com
DocumentRoot /var/www/alanadi
SSLEngine on
SSLCertificateFile /etc/ssl/certs/alanadi-fullchain.crt
SSLCertificateKeyFile /etc/ssl/private/alanadi.key
SSLProtocol -all +TLSv1.2 +TLSv1.3
</VirtualHost>
<VirtualHost *:80>
ServerName alanadi.com
Redirect permanent / https://alanadi.com/
</VirtualHost>
- Siteyi etkinleştirip sınayın:
a2ensite alanadi-ssl && apachectl configtest - Yeniden yükleyin:
systemctl reload apache2
RHEL/CentOS tabanlı sistemlerde modül mod_ssl paketiyle gelir ve yapılandırma genellikle /etc/httpd/conf.d/ altındadır.
Not: SSLCertificateChainFile
Apache 2.4.8 ve sonrasında ara sertifikaları doğrudan SSLCertificateFile dosyasına eklemek önerilir; ayrı SSLCertificateChainFile kullanımı kaldırılmıştır.
Doğrulama ve sık hatalar
openssl s_client -connect alanadi.com:443 -servername alanadi.comile zinciri görün.- Anahtar ile sertifika uyumsuzluğu:
openssl x509 -noout -modulus -in cert | openssl md5veopenssl rsa -noout -modulus -in key | openssl md5çıktıları aynı olmalı. - Başlatma hatası çoğunlukla yanlış dosya yolu veya anahtar izni kaynaklıdır.
Sertifika temini için SSL sertifikaları, isteği hazırlamak için CSR oluşturucu ve son kontrol için SSL Checker kullanılabilir.