Ubuntu, Apache SSL Kurulumu
Hazırladığım bir proje üzerinde verilerimizi ssl üzerinden transfer etmem gerekiyordu, daha önce ssl kurulumu üzerine herhangi bir çalışma yapmamıştım. Şu an problemsiz olarak apache https üzerinden çalışıyor, kısaca yaptıklarımı buradan aktarmak istiyorum.
Başlangıç olarak apache2 paketini kurulu olduğunu ve apache2 nin bilgisayarınızda çalışıyor olduğunu varsayıyorum, eğer yok ise,
sudo aptitude install apache2
komutu ile bilgisayarınıza apache2 web sunucusunu kurabilirsiniz. Ardından ssl modülünü aktive etmemiz gerekiyor.
sudo a2enmod ssl
komutu ile apache’nin ssl modülümü aktive etmiş oluyoruz
Ardından sunucumuzda kullanmak üzere ssl sertifikalarını üreteceğimiz ssl-cert paketini kurmamız gerekiyor.
sudo aptitude install ssl-cert
Daha sonra kullanacağımız ssl sertifikasını saklayacağımız dizini /etc/apache2 dizini altında ssl-certs adıyla oluşturalım.
sudo mkdir /etc/apache2/ssl-certs
Şimdi kullanacağımız ssl sertifikasını /usr/share/ssl-cert/ dizini altındaki varsayılan SSLeay örnek dosyası olan ssleay.cnf dosyasını kullanarak oluşturalım
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl-certs/apache.pem
Bu komutun ardından konsoldan sertifikanın hangi host isminde kullanılacağını soran bir ekran gelecek. Burayı varsayılan olan “localhost” ile geçelim.
Bu adımın ardından /etc/apache2/ssl-certs dizininde apache.pem adıyla sertifika dosyamız oluşacaktır.
Sertifikamızı oluşturduk. Şimdi oluşturduğumuz sertifikayı apache2 sunucusuna tanıtmak için bir sanal host tanımlamamız gerekiyor.
Öncelikle /etc/apache2/sites-available dizinine giderek default-ssl isimli dosyayı /etc/apache2/sites-enabled dizinine kopyalayalım ya da kısa yoldan default-ssl dosyasını aktive etmek için
sudo a2ensite default-ssl
komutunu verelim
Daha sonra kopyaladığımız bu dosyayı düzenlemek üzere açalım
sudo nano /etc/apache2/sites-enabled/default-ssl
Açtığımız dosya içerisindeki SSLEngine on yazan satırı bulalım hemen altında bulunan SSLCertificateFile ve SSLCertificateKeyFile değişkenlerini bizim bilgisayarımıza uygun olanlarla değiştirelim. Kendi oluşturduğumuz sertifika dosyalarını /etc/apache2/ssl-certs dizininde tutuyoruz, öncelikle ne gibi dosyaların oluştuğuna bir bakalım
metoikos@rocko:/etc/apache2/ssl-certs$ ls -all total 12 drwxr-xr-x 2 root root 4096 2009-02-02 13:16 . drwxr-xr-x 8 root root 4096 2009-02-02 13:15 .. lrwxrwxrwx 1 root root 10 2009-02-02 13:16 9f129ada -> apache.pem -rw------- 1 root root 1510 2009-02-02 13:16 apache.pem
Çıktıda görüntülenen apache.pem dosyası bizim oluşturduğumuz sertifika dosyası, yine çıktıda görüntülenen 9f129ada isimli dosya oluşturduğumuz sertifika dosyasına ait bir kısayol. Ayar dosyasına geri dönerek SSLEngine on yazan satırını takip eden satırları şu şekilde düzenleyelim.
SSLEngine on SSLCertificateFile /etc/apache2/ssl-certs/apache.pem SSLCertificateKeyFile /etc/apache2/ssl-certs/9f129ada SSLProtocol all SSLCipherSuite HIGH:MEDIUM
dosyayı kaydedip kapatalım. Ardından apache2 sunucusunu yeniden başlatalım.
sudo /etc/init.d/apache2 restart
Ardından https://localhost olarak sunucumuzun anadizinini ziyaret ettiğimizde, normal olarak ssl sertifikasının geçerli olmadığına dair bir mesaj alacaksınız, tebrik ederiz artık apache2 ssl ile birlikte çalışıyor. Bu sertifikayı onaylayarak geçtiğinizde, https protokolü üzerinden sayfalarınızı host edebilirsiniz.









Yorumlar
Çok teşekkür ederim, elinize sağlık. Anlatım çok güzel.
Cheers mate.
Merhabalar,
Makalenizi inceleyerek ssl kurulumunu yaptım.Kurulumu yaptığım gün her şey normal olarak yolundaydı.
Ama bugün https://localhost'u denediğimde
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
şeklinde hata aldım.Bu konuda yardımcı olursanız çok sevinirim.
sudo a2ensite default-ssl komutunu verdiğinizden emin misiniz? Genellikle apache default-ssl etkin olmadığında ortaya çıkan bir hata sizin aldığınız. http://beginlinux.com/blog/2009/01/ssl-on-ubuntu-810-apache2/ ve https://www.servertastic.com/support/KB/a36/error-code-ssl-error-rx-record-too-long.aspx adreslerinde konu ile ilgili bilgiler bulabilirsiniz, kolay gelsin.