Let's Encrypt ile Bedava SSL Alma ve Nginx Ayarı


Gün geçtikçe Google web sitlelerini https kullanmaya zorluyor. https bize daha güvenli gezinmeyi sağlıyor ve verilerimizi şifreleyerek istemciye iletiyor. Bizde bu rehberimizde kendimize ait bir web sitesini Let’s Encrypt ile ücretsiz olarak ssl geçirmeyi anlatıyoruz.

  • Yapılan işlemler

  • Ubuntu üzerine Let’s Encrypt indirilmesi yüklenmesi ve kurulması
  • Nginx Let’s Encrypt ayarı
  • Nginx http’yi, https’ye yönlendirme
  • Nginx https ayarı
  • Let’s Encrypt ile bedava (ücretsiz) ssl alma
  • Sunucuya ait sertifika üretme
  • Let’s Encrypt otomatik olarak kendiliğinden yenilenmesini sağlayacak komut ve ayarlar
  • Cloudflare ssl ayarının nasıl yapıldığının anlatımı
  • WordPress phpmyadmin üzerineden gerekli olan http https geçirme (taşıma,değiştirme) yapılması.
  • WordPress wp-admin üzerinden https ayarlarının yapılması.

Kurulum

  • İlk olarak ubuntu (debian) sunucumuzun deposunu güncelleyelim.

apt-get update
  • Daha sonrasında git ve bc programlarını sunucumuza kuralım.

1

apt-get -y install git bc
  • Let’s Encrypt aşağıdaki komut yardımı ile sunucumuza indirelim.

2

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
  • Sitemizin Nginx üzerindeki ayarına girelim ve altaki kodları ekleyelim . Bu kodlar Let’s Encrypt’in sunucumuzu doğrulamak için kullanılacak.

6

 location ~ /.well-known { allow all; } 
  • Nginx yeniden başlatalım .

ng


service nginx restart
  • Let’s Encrypt ile sertifikamızı oluşturalım .Resimde kırmızı ile belirtilen konumu ve domaini kendinize göre değiştirin.

3

 cd /opt/letsencrypt
./letsencrypt-auto certonly -a webroot --webroot-path=/web/sitem -d sitem.com -d www.sitem.com 
  • Let’s Encrypt anahtarımızı olumsuz bir durumda kurtarmak için mail isteyecek. Mail adresimizi yazalım.

4

  • Bizden anlaşmayı onaylamamızı isteyecek. Şartlar size uyuyor ise kabul edin.

5

  • İşlem tamamlanınca karşımıza bilgilendirme çıkıyor.

7

  • Let’s Encrypt oluşturduğu şifreleri görmek için aşağıdaki komutu yazabilirsiniz.

8


ls -l /etc/letsencrypt/live/sitem.com
  • Openssl ile sunucuya ait sertifikayı üretiyoruz. Bu işlem zaman alabilir.

9


openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
  • Daha sonrasında web sitesinin Nginx üzerindeki ayarı (/etc/nginx/sites-enabled/sitem.com) üzerinde http yi https yönlendiriyoruz ve https için gerekli olan ayarları ekliyoruz.  Pembe ile işaretli kısmı kendi sitemizin ismine göre değiştiriyoruz. Mavi kutu içindeki kısmı kaldırmayı unutmayın.

10-new
 


server {
    listen 80;
    server_name sitem.com www.sitem.com;
    return 301 https://$host$request_uri;
}
listen 443 ssl;
        ssl_certificate /etc/letsencrypt/live/sitem.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/sitem.com/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_stapling on;
        ssl_stapling_verify on;
        add_header Strict-Transport-Security max-age=15768000;
  • Nginx web sunucumuzu yeniden başlatıyoruz.

service nginx restart
  • Sertifikalarımızın otomatik olarak yenilenmesi için crontab -e komutu ile yeni bir zamanlanmış görev ekliyoruz.

15


crontab -e
#### crontab eklenecek kodlar
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
35 2 * * 1 /etc/init.d/nginx reload
  • Sunucu https çevirdik şimdi CloudFlare kullanıcıları için yapılması gereken ayar var . Crypto kısmında ssl yi full olarak seçiyoruz.

13

  • WordPress kullanan kullanıcılar phpmyadmin üzerinden arama kısmından kendi sitelerinin isimlerini yazacaklar. (http://sitem.com) daha sonra tüm tablo içindeki tüm sütunları seçerek arama yapıyoruz.

11

  • Çıkan sonuçtan wp_options gözat diyoruz.

12

  • Sayfa içinde http://sitem.com olarak gördüğümüz kısımları https://sitem.com olarak değiştiriyoruz.

16

  • WordPress içinden de ayarları değiştirmek için https://sitem.com/wp-admin/options-general.php sayfasına giderek resimde işaretli kısmı değiştirin.

17
 
İşlemlerimiz tamamlandı. Bir sonraki rehberimizde görüşmek üzere 🙂 sunucunuzun bol bol yedek almayı unutmayın .


Ahmet ÖZER
Dijitaller'in Sunucu ve Ağ altyapısını kuran, düzenleyen. Genel olarak teknoloji ve bilim ile uğraşmayı severim . Detaylı bilgi için https://ahmetozer.org. Lütfen sorularınızı Dijitaller.com Yorumlar veya Twitter üzerinden iletin.

3 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    1. hepsini çevirmeye ihtiyacımız yok sadece ayarlar kısmı yeterli . Rehberimizde http yi https yönlendiren kod da eklemiş bulunuyoruz.