Merhaba arkadaşlar.
Bugün sizlere let’s encrypt free ssl nasıl kurulur.Nasıl otomatik yenileme yapılır onu anlatacağim.
Elimizde bulunan sunucuya ssh ile bağlanıyoruz.
Sunucumuzda git kurulu değilse git i sunucumuza kuruyoruz.
Let’s encrypt GitHub deposundan klon oluşturuyoruz.
sudo git clone https://github.com/certbot/certbot /opt/letsencrypt(Siz kendinizin kullanmak istediği yolu yazabilirisiniz.)
Klon oluşturduktan sonra klon oluşturduğumuz dizine geçiyoruz.
cd /opt/letsencrypt
Kurulum için aşağıdaki komutu kullanıyoruz.
./certbot-auto certonly --standalone
küçük bir yükleme yapacak sonra size mail adresinizi ve ssl oluşturmak istediğiniz site adresini soruyor.Buraya kullanmak istediğiniz alan adını yazın.
Örnek
example.com, www.example.com
Oluşturulan keyleri
/etc/letsencrypt/live/domain ismi/
dizininin altına oluşturuyor.
Daha sonra kullandığınız webserver a göre ayarlarınızı yapmanız gerekiyor.
Örnek olarak nginx de şu şekilde yapılır.
server { #http ye geln istekleri https e yönlendiriyoruz. listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; root /var/www/example.com; index index.php; # location / { try_files $uri /index.php; } location ~ /.well-known{ allow all; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Ayarlarımızı yaptıktan sonra webserver restart ediyoruz.
Sitemize tekrar giriş yaptığımızda https ile bağlantı yaptığımızı göreceksiniz.
Gelelim ssl sertifikasının yenilenme ayarlarının yapılmasına.
web serverimizda location izni veriyoruz.
location ~ /.well-known{ allow all; }
Aşağıdaki kodu kullanarak ayar dosyasının örneğini kopyalıyoruz.
cp /opt/letsencrypt/examples/cli.ini /usr/local/etc/le-renew-webroot.ini
Daha sonra editor ile ayar dosyamızı açıyoruz.
nano /usr/local/etc/le-renew-webroot.ini
içeriği şu şekilde olmalı
rsa-key-size = 4096 email = [email protected](buraya sizin mail adresiniz gelecek) domains = example.com, www.example.com(Buraya sizin sertifika oluşturduğunuz domainler) webroot-path = /var/www/example.com(Buraya websitenizin dizini gelecek)
Dizin olarak letsencrypt i indirdiğimiz dizine geçiyoruz.
cd /opt/letsencrypt/
Aşağıdaki komutu çalıştırıyoruz.
./letsencrypt-auto certonly -a webroot --renew-by-default --config /usr/local/etc/le-renew-webroot.ini
Kontrol yapacak dosyayı curl ile indiriyoruz.
curl -L -o /usr/local/sbin/le-renew-webroot http://do.co/le-nginx-renew
Çalışma izni verelim.
chmod +x /usr/local/sbin/le-renew-webroot
Kaç gün kaldığını control etmek için indirdimiz komut dosyasını kullanacağız.
le-renew-webroot
Bunu cron la otomatik hale getirelim.
crontab -e 30 2 * * 1 le-renew-webroot >> /var/log/le-renewal.log
Cron servisini tekrar başlatıyoruz.
service cron restart
işlemimiz tamamlanmıştır.
yararlı olması dileğiyle.