PHP

Wamp Server SSL Aktifleştirme

Herkese merhaba, PHP yazı serimizin ikinci yazısıyla beraberiz. Bu yazımda Wamp Server’da SSL aktif etmeyi anlatacağım. Hadi başlayalım !

Wamp Server kurulumunu şu yazımızda anlatmıştık, kurulumu ilgili yazıyı okuyarak yapabilirsiniz. Wamp Server kurulumunu başka bir yazıda anlattığımız için bu yazımızda Wamp Server’i kurduğunuzu varsayarak ilerleyeceğiz. Wamp Server kurmadıysanız kurulum yazımızı okuduktan sonra buradan devam edebilirsiniz.

Bildiğiniz üzere Wamp Server ile Apache, PHP ve MySql kurmuş ve hem PHP hemde MySql işlemlerimizi yapabiliyorduk. Fakat günümüz dünyasında web sitelerinin çok büyük kısmı artık HTTPS desteğine geçiş yaptı fakat Wamp gibi lokal bir sunucuda HTTPS yani SSL aktif olmamakta. Bunun sebebi Wamp’tan kaynaklı değil aslında. Bunun sorumlusu işletim sistemi yani Windows. Windows, ön tanımlı olarak SSL’yi aktif etmemekte ve SSL bağlantılarını kapatmakta fakat işte tamda bu yazımızda lokal bilgisayarınızda SSL’yi nasıl aktif edeceğinizi anlatacağım.

İlk olarak OpenSSL kurulumu ile başlayacağız. OpenSSL, SSL’yi aktifleştirmemizi sağlayacak. Tabi Wamp tarafında da düzenlemeler yapacağız ve sonuç olarak SSL aktif olacaktır. OpenSSL’yi Windows bilgisayarınıza kurmak için buraya tıklayabilirsiniz. Şuanda OpenSSL 3.0.2 sürümü güncel ve bu sürümü indirmenizi tavsiye ediyorum. Bilgisayarınızın mimarisine göre (x64 yada x86) ilgili OpenSSL setup dosyasını indirerek başlıyoruz. OpenSSL kurulumu Next Next Next Finish olarak adlandırdığımız ve Windows bilgisayarlarda program kurulumunu yaptığımız yöntem ile yapılmakta. Yani kurulum dosyasını çalıştırdıktan sonra doğrudan tüm sayfalarda Next, son sayfada ise Install seçeneğini seçerek kurulumu yapabilirsiniz.

OpenSSL’yi kurduğumuza göre artık OpenSSL’yi kullanarak SSL’yi aktifleştirebiliriz. İlk olarak OpenSSL’yi kurduğumuz yola CMD ile geçiş yapıyoruz (kurulum esnasında değiştirmediyseniz OpenSSL c:/program files/openssl-win64/bin/ yoluna kuruluyor). CMD ile OpenSSL kurulum yoluna geçmek için, ilgili yola geçip dosya yöneticisinin adres barına cmd yazabilir yada CMD açarak cd /openssl/yolu gibi bir komut ile geçiş yapabilirsiniz. Tabi CMD’yi yönetici olarak açmanız gerekmekte, çünkü işletim sistemi bazında değişiklikler yapacağız.

İlk olarak private key adını verdiğimiz SSL şifrelemesi için key oluşturmamız gerekiyor. Bunun için CMD ekranından

openssl genrsa -aes256 -out private.key 2048

komutunu girmeliyiz. Bu komutu girdikten sonra sizden PEM pass phrase adında bir şifreleme anahtarı isteyecek. Buraya istediğiniz birşey yazabilirsiniz ve ne yazdığınızın önemi yok, yani sonradan unutabilirsiniz 🙂 Fakat böyle dedim diye klavyeden rastgele tuşlara basmayın çünkü ilk girişinizin ardından doğrulamak için aynı değeri tekrardan girmenizi istiyor. Yani arka arkaya iki kere girmeniz gerekeceği için kısa süreliğine de olsa unutmamanızda fayda var 🙂

Bu komutun ardından birde RSA şifrelemesi için bir key oluşturmamız gerekecek. Bunun içinde yine CMD ekranından

openssl rsa -in private.key -out private.key

komutunu girmeniz gerek. Yine aynı şekilde sizden şifreleme anahtarını isteyecek ve ister ilk yazdığınızdan farklı bir değer girin, ister aynı. Her iki işlemde birbirinden bağımsız işlem ve yine sizden doğrulamak için tekrardan isteyeceğinden unutmamanızda fayda var.

Şimdi de oluşturduğumuz bu iki farklı key değerine göre bir tane sertifika oluşturmamız gerekiyor. Sonuçta dış bağlantılara dokunuşlar yapacağımız için bu bağlantının bir sertifika üzerinden olması gerekiyor. İşte şimdiki adımda bu sertifikayı oluşturacağız. Sertifika oluşturmak için CMD ekranından

openssl req -new -x509 -nodes -sha1 -key private.key -out certificate.crt -days 36500

komutunu girelim. Aynı şekilde arka arkaya iki kez doğrulama keyi girelim ve bu keyin diğer iki key ile aynı olması şartı yok.

Eveeett sertifikayı da oluşturduğumuza göre artık OpenSSL ile işimiz bitti, şimdi geçelim Wamp tarafına. İlk olarak Wamp’ın içerisinde bulunan Apache’nin konfigürasyon dosyalarının bulunduğu yol altında key adında bir klasör oluşturalım. Yani wamp_kurulu_olduğu_yol/bin/apache/apache_apachesürümü.conf yolunda olacak. wamp_kurulu_olduğu_yol, Wamp’ın kurulu olduğu yolu (değiştirmediyseniz c:/wamp64), apachesürümü ise Apache sürümünüzü temsil etmektedir. Örneğin benim bilgisayarımda Apache 2.4.51 sürümü var ve Wamp c:/wamp64 yolunda kurulu. Yani benim için :/wamp64/bin/apache/apache2.4.51/conf klasörü altında key adında bir klasör oluşturacağım. Sizde bu yola göre kendi yolunuzu bulun 🙂 Ve az önce oluşturduğumuz private.key ve certificate.crt dosyalarını bu yeni yola taşıyın. Bu dosyalar nerede diye soracak olursanız C:\Program Files\OpenSSL-Win64\bin yolu altında bulabilirsiniz 🙂 Şimdi c:/wamp64/bin/apache/apache_apachesürümü/conf/httpd.conf dosyasını açalım ve aşağıda bulunan 3 satırı bularak yorum satırı olmaktan çıkaralım. httpd.conf dosyası bir konfigürasyon dosyası ve burda yorum satırından kaldırmak için satırın başında bulunan # işaretini kaldırabilirsiniz. # işareti yoksa o zaman öylece bırakın, zaten yorum satırında değildir demektir.

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Bu satırları ayrı ayrı olarak yorum satırından kaldırdıktan sonra c:/wamp64/bin/apache/apache_apachesürümü/conf/extra/httpd-ssl.conf dosyasını açarak aşağıda bulunan satırları teker teker bulun ve değiştirin.

DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
SSLCertificateFile "${SRVROOT}/conf/key/certificate.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/key/private.key"
CustomLog "${SRVROOT}/logs/ssl_request.log"

Yani httpd-ssl.conf dosyasında ServerName ile başlayan satırı bulacak ve o satırı ServerName localhost:443 yapacaksınız. Tabi yorum satırında bulunuyorsa yorum satırından çıkarmanız gerekiyor. Eveett Wamp ilede işimiz bitti. Son olarak Wamp’ı tekrardan başlatarak değişikliklerin geçerli olmasını sağlayalım. Sonrasında doğrudan SSL olan bi projenize giderek test edebilirsiniz. Eğer anlattığım şeyleri doğru ve sıralı bir şekilde yaptıysanız işlem başarılı olacak ve lokal bilgisayarınızda SSL şifrelemesi aktif olacaktır. Bundan sonra projelerinizde SSL kullanabilirsiniz.

Eveett yazımızın da sonuna geldik tabiki. Tüm PHP yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu