DirectAdmin’de Let’s Encrypt SSL ve Otomatik Yenileme
DirectAdmin'de Let's Encrypt SSL kurulumu: kullanıcı arayüzü, admin toplu SSL, acme.sh CLI ve otomatik yenileme cron ayarları.
Let's Encrypt SSL Nedir?
Let's Encrypt, İnternet Güvenlik Araştırmaları Grubu (ISRG) tarafından yönetilen ücretsiz, otomatikleştirilmiş ve açık bir Sertifika Otoritesi'dir (CA). 2015'ten bu yana milyonlarca web sitesine ücretsiz SSL/TLS sertifikası sağlamaktadır. Sertifikalar 90 gün geçerlidir ve otomatik yenileme ile sürekli aktif tutulur. DirectAdmin, Let's Encrypt'i doğrudan destekler ve panel arayüzünden kolayca kullanılabilir.
Let's Encrypt'in Avantajları
- Tamamen ücretsiz
- Otomatik yenileme ile manuel işlem gerektirmez
- Tüm modern tarayıcılar tarafından güvenilir
- Wildcard sertifika desteği (DNS-01 challenge ile)
- ACME protokolü standartı
Kullanıcı Seviyesi SSL Kurulumu
DirectAdmin kullanıcı hesabından tek bir domain için SSL kurmak çok kolaydır:
- DirectAdmin kullanıcı paneline giriş yapın
- SSL Certificates → Free & automatic certificate from Let's Encrypt
- Domain adını ve www subdomain'ini seçin
- Save butonuna tıklayın
DirectAdmin, Let's Encrypt'in HTTP-01 challenge'ını kullanarak domainin DNS'e bağlı olduğunu doğrular ve sertifikayı otomatik olarak kurar. Yenileme de tamamen otomatiktir.
Admin Seviyesinde Toplu SSL Kurulumu
Sunucudaki tüm domainler için toplu SSL kurmak için:
- Admin panelinde Admin SSL Certificates menüsüne gidin
- Replace all certificates with Let's Encrypt seçeneğini aktifleştirin
- Hangi domainlerin dahil edileceğini seçin (tümü veya belirli domainler)
# CLI ile toplu SSL kurulumu
/usr/local/directadmin/scripts/letsencrypt.sh request_single domain.com 4096
/usr/local/directadmin/scripts/letsencrypt.sh request_all
acme.sh ile Komut Satırından Kurulum
acme.sh, ACME protokolünü destekleyen güçlü bir shell script istemcisidir. DirectAdmin'in dahili Let's Encrypt desteği çalışmadığında veya wildcard sertifika gerektiğinde kullanılabilir:
acme.sh Kurulumu
curl https://get.acme.sh | sh -s email=admin@example.com
source ~/.bashrc
HTTP-01 ile Sertifika Alma
acme.sh --issue -d example.com -d www.example.com \
--webroot /home/user/public_html/
# Sertifikayı DirectAdmin formatında kur
acme.sh --install-cert -d example.com \
--cert-file /usr/local/directadmin/data/users/user/domains/example.com.cert \
--key-file /usr/local/directadmin/data/users/user/domains/example.com.key \
--ca-file /usr/local/directadmin/data/users/user/domains/example.com.cacert \
--reloadcmd "service directadmin restart"
DNS-01 ile Wildcard Sertifika
# Cloudflare API token ile (DNS-01 challenge)
export CF_Token="cloudflare_api_token"
export CF_Zone_ID="zone_id"
acme.sh --issue --dns dns_cf -d example.com -d "*.example.com"
Otomatik Yenileme Cron Ayarı
DirectAdmin'in dahili yenileme mekanizması cron job olarak çalışır. Yenileme durumunu kontrol etmek için:
# Mevcut cron job'ları listele
crontab -l | grep letsencrypt
# Manuel yenileme testi
/usr/local/directadmin/scripts/letsencrypt.sh renew example.com
acme.sh Otomatik Yenileme
# acme.sh kurulum sırasında otomatik cron ekler, kontrol:
crontab -l | grep acme
# Varsayılan cron (her 60 günde bir):
# 0 0 */60 * * "/root/.acme.sh/acme.sh" --cron --home "/root/.acme.sh" > /dev/null
# Tüm sertifikaları yenile
acme.sh --renew-all
# Belirli domain yenile
acme.sh --renew -d example.com --force
SSL Sertifikası Kontrolü
# SSL sertifikası bilgilerini görüntüle
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
| openssl x509 -noout -dates -subject
# Sertifika son kullanma tarihini kontrol et
echo | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -enddate
Sık Karşılaşılan Sorunlar
- Domain doğrulaması başarısız: Domain'in sunucu IP'sine A kaydıyla işaret ettiğini doğrulayın. HTTP-01 challenge için port 80 açık olmalıdır.
- Rate limit aşıldı: Let's Encrypt, aynı domain için haftada 5 başarısız denemeye izin verir.
--stagingbayrağıyla test edin. - Sertifika yenilenmedi:
journalctl -u directadminile log inceleyin; acme.sh için~/.acme.sh/acme.sh.logdosyasını kontrol edin. - Mixed content uyarısı: WordPress'te
define('FORCE_SSL_ADMIN', true);ve .htaccess'te HTTP→HTTPS yönlendirme ekleyin.
İlgili Makaleler
- DirectAdmin Kurulumu ve İlk Yapılandırma: AlmaLinux Üzerinde Rehber
- Let's Encrypt SSL Sertifikası Kurulumu ve Yenileme Rehberi
- SSL Sertifikası Nasıl Kurulur? Let's Encrypt ve cPanel Rehberi
- SSL Sertifikası Süresi Dolmuş (ERR_CERT_DATE_INVALID) Nasıl Çözülür?
- Let's Encrypt Wildcard SSL Nasıl Kurulur? Certbot ile DNS Challenge Rehberi
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!