Apache2 SSL Sertifika Yüklenmesi

Apache2'ye bir SSL Sertifikası yüklemek, web sunucunuz ve tarayıcınız arasında güvenli bir bağlantı sağlar. İnternet üzerinden iletilen verileri yalnızca hedeflenen alıcı tarafından görülebilecek şekilde şifreler. Bu kılavuzda, basit bir şekilde Apache2'ye nasıl SSL sertifikası yükleyeceğimizi göreceğiz.
Daha fazla bilgi için bakınız:
Bu kılavuz, zaten bir sertifika imzalama isteği oluşturduğunuzu ve bir Sertifika Yetkilisi (CA) tarafından verilen SSL sertifikanızı aldığınızı varsayar.
Ön Gereksinimler
- Alan adınız için, sertifika yetkilisi tarafından verilen bir sunucu sertifikası
- Intermediate certificates (.crt, .pem vb.)
- private key dosyası
- Apache2 yüklü bir sistem
- sudo yetkilerine sahip bir kullanıcı
Apache2 SSL Yapılandırma
Elimizdeki sertifika dosyalarının nerede olduğunu belirtmemiz gerekmektedir. Bunun için Apache2 sunucusu içinde web sitenizin virtualhost dosyasını yapılandırmamız gerekiyor. Aşağıdaki işlemleri kendi web sitenizin virtualhost dosyasında gerçekleştirebilirsiniz.
Apache2 varsayılan VirtualHost dosyasını /etc/apache2/sites-available/000-default.conf dosyası olarak tanımlanmaktadır.
vHost düzenlemeden önce yapılacak işlemleri anlamakta fayda vardır. Aşağıdaki açıklamaları okumanız gerekmektedir.
- <VirtualHost *:443> Sunucunun 443 dinleme bağlantı noktasını belirtin.
- ServerName Sanal Ana Bilgisayarın adına atıfta bulunur.
- ServerAdmin Uygulamanın server adı.
- SSLEngine on SSL Aktif
- SSLCertificateFile /etc/perls/cer.crt SSL sertifikasının yolunu tanımlayın. (pem, crt)
- SSLCertificateKeyFile /etc/perls/private.key SSL sertifika anahtarının yolunu tanımlayın. (key)
- SSLCertificateChainFile /etc/perls/chain.crt SSL sertifika bundle yolunu tanımlayın. (crt)
- DocumentRoot Web site dosyalarının yolu
- ErrorLog: Başarısız erişim, sistem günlük dosyalarının yolunu içerir.
- CustomLog: Başarılı erişim, sistem günlük dosyalarının yolunu içerir.
Değişiklikleri yapmak için kullandığımız, virtualhost dosyasını editör ile açalım.
sudo vim /etc/apache2/sites-enabled/mehmetoz.com
Yapılandırmayı aşağıdan kopyalayıp ve içeriği düzenleyebilirsiniz. Yapılandırma dosyası aşağıdakine benzer görünmelidir.
<VirtualHost *:443>
ServerName mehmetoz.onkoloji.gov.tr
ServerAdmin mehmetoz.onkoloji.gov.tr
SSLEngine on
SSLCertificateFile /etc/perls/cer.crt
SSLCertificateKeyFile /etc/perls/private.key
#SSLCertificateChainFile /etc/perls/chain.crt
DocumentRoot /var/www/mehmetoz.com/html/
<Directory /var/www/html>
Options -Indexes
AllowOverride All
</Directory>
ErrorLog /var/log/ssl-error.log
CustomLog /var/log/ssl-access.log common
</VirtualHost>

Dosyayı kaydedin ve çıkın.
:wq!
Bir çok sistemde, Apache'nin SSL modu etkin gelmemektedir. Etkinleştirmek için aşağıdaki komutu çalıştırın.
sudo a2enmod ssl
Servisi yeniden başlatmadan önce yapılan değişiklerde bir syntax ve konfigürasyon kontrolü gerçekleştirelim.
sudo apachectl -t
Cevap olarak Sözdizimi OK döndürülmelidir.

Yapılandırma değişikliklerinizin gerçekleşmesi için Apache2 servisini yeniden başlatılması gerekmektedir. Bunu yapmak için şu komutu çalıştırın.
sudo systemctl restart apache2
Alan adımız dış dünyaya açık olmadığı için, içeride test edeceğim. Bilgisayarımızın alan adını tanıması için, hosts dosyamıza bir kayıt ekleyelim. Aşağıdaki yola gidelim ve hosts dosyasını açalım.
hosts dosyasını masaüstüne alabilir veya notepad ++ gibi bir editör ile yönetici olarak açıp düzenleyebilirsiniz.
C:\Windows\System32\drivers\etc

Web sunucu ip adresini ve alan adını ekleyiniz.
192.168.168.130 mehmetoz.onkoloji.gov.tr

Son olarak, alan adımızın çözümlenebildiğini doğrulayalım.

Sanal Ana Bilgisayarın yapılandırması başarılıysa, SSL sertifikasının artık sunucunuzda kurulduğunu doğrulayan kilitli bir asma kilit görmelisiniz.

NOT: Güvenlik için, SSL Sertifikanızın bulunduğu yolun izinlerini kısıtlayınız.