🚀 Linux ve Windows sunucularda yeni müşterilere özel %20 indirim! Kod: ILK20  |  Hemen sipariş ver →
shield Sunucu Güvenliği & Sıkılaştırma

acme.sh Kullanımı: SSL Sertifikası Yönetimi

acme.sh ile ücretsiz Let's Encrypt SSL sertifikaları nasıl kurulur, yenilenir ve yönetilir? Pratik komutlar ve güvenlik ipuçlarıyla adım adım rehber.

person
Editör
(Güncellendi: 27 Tem 2026) schedule 4 dk okuma visibility 27 görüntülenme

SSL sertifikaları, web sitenizin güvenliği için olmazsa olmazdır. Özellikle Let's Encrypt gibi ücretsiz sertifika otoriteleri sayesinde herkes kolayca HTTPS’e geçebiliyor. İşte bu noktada acme.sh, tamamen shell üzerinde çalışan, hızlı ve esnek bir ACME istemcisi olarak öne çıkıyor. Bu yazıda acme.sh’in kurulumundan sertifika yönetimine kadar her şeyi anlatacağım.

acme.sh Nedir ve Neden Tercih Edilmeli?

acme.sh, Let's Encrypt ve diğer ACME uyumlu sertifika otoriteleriyle çalışan, bash tabanlı bir istemcidir. Rakibi Certbot’a göre daha hafif, bağımlılığı az ve özellikle wildcard sertifikaları için DNS doğrulamasını çok kolaylaştırır. Ayrıca cron ile otomatik yenileme, çoklu domain desteği ve 90’dan fazla DNS API entegrasyonu sunar.

Kurulumu tek satır: curl https://get.acme.sh | sh

Bu komut, acme.sh’i home dizininize kurar ve gerekli alias’ları ekler. Kurulumdan sonra terminali yeniden başlatın veya source ~/.bashrc ile alias’ı aktif edin.

Sertifika Alma: Webroot ve Standalone Yöntemleri

En yaygın kullanım, webroot yöntemidir. Web sitenizin dosya yolunu belirterek doğrulama yaparsınız. Örneğin Apache veya Nginx kullanıyorsanız:

acme.sh --issue -d ornek.com -w /var/www/html

Eğer web sunucunuz kapalıysa standalone mod kullanabilirsiniz (geçici olarak 80. portu açar):

acme.sh --issue -d ornek.com --standalone

Tabii port 80’in açık olduğundan emin olun. Bu yöntem özellikle geliştirme ortamlarında işe yarar.

Wildcard Sertifikaları ve DNS Doğrulaması

Wildcard (joker) sertifikalar, *.ornek.com şeklinde tüm alt alan adlarını kapsar. Bunun için DNS doğrulaması gerekir. acme.sh, Cloudflare, DigitalOcean, Godaddy gibi popüler DNS sağlayıcılarıyla doğrudan entegre çalışır. Örneğin Cloudflare için API token’ınızı ayarlayıp şu komutu kullanabilirsiniz:

export CF_Token="sizin_tokeniniz" acme.sh --issue -d '*.ornek.com' --dns dns_cf

Bu yöntemle sunucunuzda 80. portu açmanıza gerek kalmaz. Sadece DNS kaydını API üzerinden ekler. İşlem tamamlandıktan sonra kayıt otomatik silinir.

Sertifikaları Kurulum ve Yenileme

acme.sh sertifikaları ~/.acme.sh/ dizininde saklar. Bunları web sunucunuza kopyalamak için --install-cert parametresini kullanabilirsiniz. Örneğin Nginx için:

acme.sh --install-cert -d ornek.com \ --key-file /etc/nginx/ssl/key.pem \ --fullchain-file /etc/nginx/ssl/cert.pem \ --reloadcmd "nginx -s reload"

Yenileme işlemi otomatiktir. acme.sh, cron’a bir görev ekler ve sertifikanın süresi dolmadan 60 gün kala yeniler. Yine de manuel olarak test etmek isterseniz:

acme.sh --renew -d ornek.com --force

Güvenlik İpuçları ve Sık Yapılan Hatalar

  • API anahtarlarınızı güvende tutun. Özellikle DNS API’leri için kullandığınız token’ları environment variable olarak ayarlayın, script içine yazmayın.
  • Firewall ayarlarını kontrol edin. Standalone mod kullanıyorsanız 80. portun erişilebilir olduğundan emin olun.
  • Rate limit’e dikkat. Let's Encrypt haftada 50 sertifika limiti uygular. Gereksiz yere yenileme yapmayın.
  • Yedekleme. ~/.acme.sh klasörünü yedekleyin. Sertifikalarınızı ve hesap bilgilerinizi kaybetmeyin.

En sık karşılaşılan hata, “Domain not found” veya “Invalid response”tır. Bunun için DNS kayıtlarınızın doğru yayıldığından emin olun. Ayrıca webroot yolunu yanlış belirtmek de sık görülen bir hatadır.

Sonuç

acme.sh, SSL sertifikası yönetimini son derece basitleştiriyor. Özellikle DNS API entegrasyonu sayesinde wildcard sertifikaları almak çocuk oyuncağı. Script yapısı sayesinde sunucu kaynaklarını minimum tüketiyor. Siz de hemen deneyin, web sitenizi ücretsiz ve güvenli hale getirin. Unutmayın, HTTPS artık bir lüks değil, zorunluluk.

Bu Makaleyi Paylaş

İlgili Yazılar