Localhost için SSL seltifika oluşturma

Bu anlatımımda sizlere Localhost üzerinde SSL seltifika oluşturarak kullanmayı anlatacağım. Bu sayede 443 portu ile localhost bağlantısı kurabileceksiniz. Anlatımımı Ubuntu 16.04 versiyonunda oluşturduğumu belirtmek isterim.

Anlatıma başlamadan önce sistemimizde LAMP kurulu olması gerekmektedir. Kurulu değilse altta ki anlatımımdan yararlanabilirsiniz:

Linux’te LAMP (Linux + Apache + Mysql + Php) Server Kurulumu

Lamp kurulumu tamamlandıktan sonra işlemlere başlayabiliriz.

Adım 1: SSL modülünü aktif etme

SSL modülü ubuntu 14.04’ten sonra sistemde varsayılan olarak yüklü gelmektedir. Yapmamız gereken sadece aktif etmek:

sudo apt-get update
sudo a2enmod ssl
sudo service apache2 restart 

Adım 2: SSL seltifikamızı oluşturma

Apache klasörümüzün altında SSL klasörü oluşturuyoruz.

sudo mkdir /etc/apache2/ssl

SSL seltifikamızı oluşturalım:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Sorduğu sorulara cevap verelim. İlk önce sizden ssl şifresi oluşturmanızı isteyecek daha sonra tekrar aynı şifreyi soracak. Ardından kırmızı olarak belirttiğim yerleri kendinize göre düzenleyerek girişlerinizi tamamlayın.

Country Name (2 letter code) [AU]:TR
State or Province Name (full name) [Some-State]:Ankara
Locality Name (eg, city) []:Ankara
Organization Name (eg, company) [Internet Widgits Pty Ltd]:sirket adi
Organizational Unit Name (eg, section) []:bolum
Common Name (e.g. server FQDN or YOUR name) []:domainadresiniz.com
Email Address []:eposta@domain.com

Adım 3:  SSL kullanımı için Apache ayarları yapma

Conf dosyasını açıyoruz

sudo nano /etc/apache2/sites-available/default-ssl.conf

İçerisinde ki tüm içeriği siliyoruz ve ardından aşağıda ki kırmızı ile belirttiğim alanları düzenleyerek kaydediyoruz.

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin sabo@domain.com
        ServerName localhost:443
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </VirtualHost>
</IfModule>

Adım 4: SSL sanal sunucuyu aktif etme

sudo a2ensite default-ssl.conf
sudo service apache2 restart

Adım 5:  Bağlantıyı kontrol etme

https://ip_adresiniz_ya_da_localhost

Bu adrese giriş yaptığınızda altta ki görüntüyü alıyor iseniz kurulumu başarı ile tamamlamış bulunmaktasınız. Sayfaya erişmek için ayrıcalık tanımanız yeterlidir.