Kurulum

Kullanacağımız certbot paketi resmi centos yansılarında yer almamaktadır. Bu yüzden önce epel deposunu aktif hale getirmeliyiz.

sudo dnf install epel-release

Epel tamamlandıktan sonra kuruluma geçebiliriz.

sudo dnf install certbot python3-certbot-nginx

Bu komut Certbot istemcisini ve Nginx plugini kuracaktır. Kurulum esnasında size GPG key içeri aktarma sorulduğunda onaylayın.

Let’s Encrypt istemcisi kuruldu ancak sertifikayı almadan önce gerekli portların açık olduğundan emin olmamız gerekiyor. Bunun için firewall ayarlarına bakmalıyız.

Firewall Ayarları

Hangi servislerin erişime açık olduğunu öğrenmek için:

sudo firewall-cmd --permanent --list-all

Şuna benzer bir çıktı alacaksınız:

  public
    target: default
    icmp-block-inversion: no
    interfaces:
    sources:
    services: cockpit dhcpv6-client http ssh
    ports:
    protocols:
    masquerade: no
    forward-ports:
    source-ports:
    icmp-blocks:
    rich rules:

Services bölümünde http görmüyorsanız, aktif hale getirmek için:

sudo firewall-cmd --permanent --add-service=http

Güvenli katman https trafiği için:

sudo firewall-cmd --permanent --add-service=https

Değişiklikleri aktif hale getirmek için servisi yeniden yükleyin:

sudo firewall-cmd --reload

Sertifika İsteği

Certbot Let’s Encrypt nginx için SSL sertifikası oluştururken, varsayılan parametreler ile yeni bir SSL sertifikası alacak ve yükleyecektir. Birden çok alan adı veya alt alan adı için geçerli olan tek bir sertifika yüklemek istiyorsanız, bunları komuta ek parametreler olarak ekleyebilirsiniz.

sudo certbot --nginx -d example.com -d www.example.com

Subdomain kullanmadan ssl oluşturmak isterseniz, aşağıdaki komut işinizi görecektir:

sudo certbot --nginx -d example.com

Kurulum menüsü, sertifika seçeneklerinizi özelleştirmek için adım adım ilerleyen bir kılavuz sağlayacaktır. Kayıp anahtar kurtarma ve bildirimler için bir e-posta adresi vermenizi ve hizmet şartlarını kabul etmenizi isteyecek.

Daha iyi güvenlik için, Certbot tüm trafiği 443 ssl portuna yönlendirmeyi otomatik olarak yapacaktır. Sitenizi açtığınızda direkt ssl yönlendirmesi alacaksınız. Eskisi gibi .htaccess dosyası ile uğraşmaya gerek yok.

Kurulum tamamlandığında aşağıdaki bilgilendirme yazısı gelecek.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2021-02-26. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Oluşturulan serfika ve diğer dosyalar /etc/letsencrypt/live/example.com dizinine kaydedildi.

Sertifika kurulumunu test etmek için SSL Labs web sitesini kullanabilirsiniz. 1 Ocak itibariyle, varsayılan kurulum en yüksek olan A puanı alıyordu.

LetsEncrypt sertifikaları 3 ay geçerli olmak üzere yayınlanıyor. Süreyi uzatmak için tek yapmanız gereken alttaki komutu vermek ve otomatik olarak üç ay daha uzatılacaktır.

sudo certbot renew