Apache2 SSL Sertifika Yüklenmesi

How to Install SSL Certificate in Apache Web Server?

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:

https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html

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.

Blog'a Dön