Otomatik Yenilenen SSL: Linux Sunucuda certbot ile Kurulum
Bu rehber, Otomatik Yenilenen SSL (ACME) aboneliğinizi Linux sunucunuzda certbot ile nasıl kullanacağınızı anlatır. Kurulumu bir kez yaparsınız; bundan sonra sertifika süresi dolmadan otomatik yenilenir.
Başlamadan önce
- Aboneliğinizi başlatmış olmanız gerekir: müşteri panelinde hizmet sayfanızda Şimdi ayarla düğmesiyle alan adlarınızı yazın.
- Sertifika alacağınız alan adı bu sunucunun IP adresini göstermeli ve sunucunun 80 numaralı portu internete açık olmalı. Güvenlik duvarı kullanıyorsanız 80 ve 443 portlarına izin verin.
- Komutları root olarak ya da
sudoile çalıştırın. Örneklerde Nginx kullanılmıştır; Apache kullanıyorsanıznginxgeçen yerlereapacheyazın.
1. certbot'u kurun
Debian ve Ubuntu:
sudo apt update
sudo apt install certbot python3-certbot-nginx
AlmaLinux, Rocky Linux ve RHEL: certbot EPEL deposundan kurulur. Bu sistemlerde otomatik yenileme görevi kapalı gelir; son satır onu açar.
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx
sudo systemctl enable --now certbot-renew.timer
Sürüm 10'da ikinci komut nothing provides … cryptography hatası verirse, EPEL deposu sisteminizden yeni bir sürüm için paket veriyordur. Komutu sisteminizin sürümünü (ör. 10.2) yazarak çalıştırın:
sudo dnf install certbot python3-certbot-nginx --setopt=epel.metalink='https://mirrors.fedoraproject.org/metalink?repo=epel-10.2&arch=x86_64'
2. Kurulum komutlarını panelden alın
Müşteri panelinde Hizmetler > SSL Sertifikaları altında aboneliğinizi açın ve Kurulum komutları düğmesine basın. Açılan pencerenin Linux seçeneğinde iki komut vardır; her birinin yanındaki Kopyala düğmesiyle kopyalayabilirsiniz. Komutlar aboneliğinize özeldir: içindeki anahtarları kimseyle paylaşmayın.
3. certbot'u aboneliğinize bağlayın
Penceredeki ilk komutu sunucunuzda bir kez çalıştırın. Komut şu biçimdedir:
certbot register \
--server https://one.digicert.com/mpki/api/v1/acme/v2/directory \
--eab-kid HESAP_ANAHTARINIZ \
--eab-hmac-key HMAC_ANAHTARINIZ
certbot sizden bir e-posta adresi ister ve kullanım koşullarını onaylamanızı sorar. Bu adım yalnızca bir kez yapılır.
4. Sertifikanızı alın
Penceredeki ikinci komut, aboneliğinizdeki alan adları için sertifikayı alır ve Nginx'e kurar:
sudo certbot --nginx --server https://one.digicert.com/mpki/api/v1/acme/v2/directory \
-d firma.com \
-d www.firma.com
--server kısmını silmeyin; yazmazsanız certbot başka bir sağlayıcıdan sertifika almaya çalışır. www.firma.com, firma.com'u eklediğinizde aboneliğinize otomatik ve ücretsiz eklenir; komutta da yer alır. Sertifikaya yalnızca abonelikte bulunan adları yazabilirsiniz.
5. Otomatik yenilemeyi kontrol edin
Debian ve Ubuntu'da certbot yenileme görevini kurulurken kendisi açar. AlmaLinux, Rocky Linux ve RHEL'de 1. adımdaki systemctl enable --now certbot-renew.timer satırıyla açılır. Sertifikalarınızı ve bitiş tarihlerini şu komutla görebilirsiniz:
sudo certbot certificates
Yenileme görevinin çalıştığını görmek için:
systemctl list-timers | grep certbot
Bu komut bir satır göstermiyorsa certbot yenilemeyi cron ile yapıyor olabilir: ls /etc/cron.d/ | grep certbot
Wildcard sertifika
*.firma.com gibi wildcard alan adları dosya ile doğrulanamaz, DNS kaydıyla doğrulanır. Otomatik yenilemenin çalışması için DNS sağlayıcınızın certbot eklentisini (ör. Cloudflare için python3-certbot-dns-cloudflare) kullanmanız gerekir. --manual ile elle yaptığınız DNS doğrulaması otomatik yenilenmez.
Sık karşılaşılan sorunlar
- Connection refused, Timeout ya da Unauthorized: alan adı bu sunucuyu göstermiyor ya da 80 numaralı port kapalı. DNS kaydını ve güvenlik duvarınızı kontrol edin.
- Invalid KID: 3. adımdaki komutta hesap anahtarı eksik ya da yanlış. Komutu paneldeki pencereden yeniden kopyalayın.
- Server requires external account binding: 3. adım yapılmamış. Önce penceredeki ilk komutu çalıştırın.
- Unable to process new order request (domain_not_allowed): komuttaki alan adlarından biri abonelikte yok. Alan adını önce panelde aboneliğinize ekleyin.
- Sertifika Let's Encrypt'ten geldi: komutta
--servereksik kalmış. 4. adımı--serverile yeniden çalıştırın.
Takıldığınız bir adım olursa panelden destek talebi açabilirsiniz.