Bir web sunucusu çalıştırıyorsanız, bunu HTTPS ile güvence altına almak temel bir standarttır. ACME (Automated Certificate Management Environment) protokolü sayesinde, Certbot gibi araçlar aracılığıyla SSL sertifikası verme ve yenileme işlemlerini otomatikleştirebilirsiniz.

Bu kılavuzda, farklı Linux dağıtımlarında Certbot kullanarak Apache ve NGINX’e bir ACME sertifikasının nasıl kurulacağını öğreneceksiniz. Debian tabanlı ve RHEL tabanlı sistemleri kapsayacak, gerektiğinde açıklamalar ekleyecek ve kurulumdan otomatik yenilemeye kadar her şeyde size yol göstereceğiz.
Başlamadan Önce
Başlamadan önce şunu kontrol edin:
- Sunucunuza sudo veya root erişiminiz var
- Alan adınız DNS aracılığıyla sunucunuzun genel IP adresini gösterir
- Güvenlik duvarınızda veya bulut sağlayıcısı güvenlik grubunuzda 80 ve 443 numaralı bağlantı noktaları açık
- Sisteminiz güncel ve destekleniyor
Adım 1 – Certbot’u İşletim Sisteminize Kurun
Certbot, SSL sertifikalarını talep etmek ve yenilemek için kullanacağımız ACME istemcisidir. Desteklenen her işletim sistemi için kurulum talimatlarını gözden geçireceğiz. Sunucunuza uygun olanı seçin.
APT ile Ubuntu LTS sürümleri
Paketleri güncelleyin ve Certbot’u tercih ettiğiniz web sunucusu eklentisi ile yükleyin:
Apaçi:
sudo apt update
sudo apt install certbot python3-certbot-apache
NGINX:
sudo apt update
sudo apt install certbot python3-certbot-nginx
APT destekli Debian sistemleri
Ubuntu ile aynı işlem:
sudo apt update
sudo apt install certbot python3-certbot-apache # for Apache
sudo apt install certbot python3-certbot-nginx # for NGINX
Debian sistemlerinde, Certbot’u APT aracılığıyla yüklemek en kolay seçenektir. Snap kullanmayı tercih ediyorsanız (en son sürüm için), aşağıdaki Snap bölümüne ilerleyin.
AlmaLinux veya Rocky Linux (RHEL uyumlu)
Önce EPEL deposunu etkinleştirin:
sudo dnf install epel-releasesudo dnf update
Ardından Certbot’u seçtiğiniz eklenti ile yükleyin:
Apaçi:
sudo dnf install certbot python3-certbot-apache
NGINX:
sudo dnf install certbot python3-certbot-nginx
Alternatif: Certbot’u Snap aracılığıyla yükleyin (Tüm Sistemler)
En son sürümü doğrudan kaynaktan almak istiyorsanız Snap’i kullanın.
1. Snap’i yükleyin (henüz yüklenmemişse):
sudo apt install snapd # Ubuntu/Debian
sudo dnf install snapd # AlmaLinux/Rocky
2. Certbot’u kurun ve bağlayın:
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
İsteğe bağlı: Certbot’u pip ile yükleyin (özel kurulumlar için)
Bu yöntem, Snap veya OS paketlerinin mevcut olmadığı ileri düzey kullanıcılar veya özel ortamlar için tasarlanmıştır. Yalnızca aşağıdaki durumlarda kullanmalısınız:
- Certbot’u sanal bir ortamda çalıştırıyorsunuz
- Minimum konteyner ile çalışıyorsunuz
- İşletim sisteminiz snapd, apt veya dnf’yi temiz bir şekilde desteklemiyor
Certbot’u pip kullanarak yüklemek için:
python3 -m pip install --upgrade certbot
Bu, çekirdek Certbot aracını yükler, ancak otomatik yenilemeyi ayarlamaz ve Apache veya NGINX eklentilerini yüklemez. Her şeyi manuel olarak yapılandırmanız gerekir
Bunun ne anlama geldiğinden emin değilseniz, geri dönün ve bunun yerine APT, DNF veya Snap talimatlarını kullanın.
Ayrıca pip kullanarak eklentileri (NGINX gibi) yükleyebilirsiniz:
python3 -m pip install certbot-nginx
Pip’i yalnızca sistem ortamınız tam kontrol veya izolasyon gerektiriyorsa kullanın.
Adım 2 – ACME Sertifikanızı Talep Edin ve Kurun
İki ana yaklaşım vardır: EAB (Harici Hesap Bağlama) kimlik bilgilerini kullanarak tam otomatik veya sağlayıcıya özel. Her ikisi de aşağıda ele alınmıştır.
Seçenek A: Tam Otomatik (Standart ACME)
Certbot’un her şeyi halletmesine izin verin – sunucu yapılandırmanızı isteyin, doğrulayın, yükleyin ve yeniden yükleyin.
Apaçi:
sudo certbot --apache
NGINX:
sudo certbot --nginx
Sana soracaklar:
- Hangi alan(lar)ın güvenliğinin sağlanacağı
- Tüm HTTP trafiğinin HTTPS’ye yönlendirilip yönlendirilmeyeceği
- Yenileme hatırlatmaları için e-posta adresiniz
Certbot, perde arkasında doğrulama ve web sunucusu yapılandırmasıyla ilgilenir.
Seçenek B: EAB ile Harici ACME Sağlayıcısı (örn. Sectigo) kullanın
Sağlayıcınız Harici Hesap Bağlama gerektiriyorsa, bu yöntemi kullanın:
sudo certbot --nginx \
--non-interactive \
--agree-tos \
--email [email protected] \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--domain example.com \
--domain www.example.com \
--cert-name my-website-cert
Apache kurulumu için --nginx adresini --apache ile değiştirin.
Bir ACME hesabına kaydolurken sertifika sağlayıcınızdan --eab-kid ve --eab-hmac-key adreslerini alırsınız.
Seçenek C: Certbot’u Manuel Modda Kullanın
Certbot’un web sunucusu yapılandırmanızı değiştirmesini istemiyorsanız veya özel bir kurulum kullanıyorsanız, manuel olarak bir sertifika isteyebilirsiniz.
Webroot yöntemini kullanarak bunu nasıl yapacağınız aşağıda açıklanmıştır:
sudo certbot certonly --webroot \
-w /var/www/html \
-d example.com \
-d www.example.com \
--email [email protected] \
--agree-tos \
--non-interactive
- –certonly Certbot’a sertifikayı vermesini ancak yüklememesini söyler
- -w web sitenizin kök dizinini belirtir (80 numaralı bağlantı noktası üzerinden herkes tarafından erişilebilir olmalıdır)
Verildikten sonra, web sunucunuzu içinde bulunan sertifika dosyaları ile manuel olarak yapılandırın:
/etc/letsencrypt/live/yourdomain.com/
Not: Bu yol, gelişmiş bayrakları (–config-dir, –work-dir) kullanarak depolama dizinini geçersiz kılmadığınız sürece, hangi ACME sağlayıcısını seçerseniz seçin kullanılır.
Sertifika yollarını yapılandırmanıza uyguladıktan sonra web sunucunuzu yeniden yüklediğinizden emin olun.
Adım 3 – Her Şeyin Çalıştığını Kontrol Edin
Alan adınızı bir tarayıcıda ziyaret edin. Güvenli asma kilidi veya Chrome’da sadece başarılı sayfa yüklemesini görmelisiniz. Sunucunun çalıştığını iki kez kontrol etmek için:
sudo systemctl status apache2 # Debian/Ubuntu (Apache)
sudo systemctl status httpd # AlmaLinux/Rocky (Apache)
sudo systemctl status nginx # All systems (NGINX)
Ve terminalden sertifikayı incelemek için:
openssl s_client -connect yourdomain.com:443
Çıktıda geçerli tarihleri ve sağlayıcınızın CA adını arayın.
Adım 4 – Otomatik Yenilemeyi Kurun
ACME protokolü otomatik sertifika yenilemeyi destekler ve Certbot bunu yerleşik bir systemd zamanlayıcı veya cron işi aracılığıyla sorunsuz bir şekilde işlemek için tasarlanmıştır. Ancak, yenileme davranışı sertifika sağlayıcınıza bağlıdır:
Ücretsiz CA’lar (Let’s Encrypt gibi) 90 gün geçerli sertifikalar yayınlar ve sık sık yenileme kontrollerini destekler.
Ticari CA’lar (Sectigo veya Digicert gibi) genellikle ACME aracılığıyla 1 yıl geçerli sertifikalar yayınlar, ancak yine de ACME yenileme sürecini takip eder. Certbot bunları da otomatik olarak işler, sadece daha az sıklıkla.
Yenilemenin Planlanmış Olduğunu Kontrol Edin
Certbot varsayılan olarak bir sistem zamanlayıcısı veya cron işi kurar. Aktif olduğunu şu şekilde onaylayabilirsiniz:
systemctl list-timers | grep certbot
Bu, Certbot’un sertifikalarınızı düzenli olarak (genellikle günde iki kez) kontrol etmesini ve yalnızca yenileme penceresi içindeyken (genellikle sona ermeden 30 gün önce) yenilemesini sağlar.
Son Sözler
Certbot ve ACME protokolü SSL yönetimini basitleştirir. Bu kılavuz, otomatik yenileme, net doğrulama ve gerektiğinde tam kontrol ile Apache ve NGINX’e bir ACME sertifikası yüklemek için ihtiyacınız olan her şeyi size sunar.
Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!
Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

