Etiket arşivi: letsencrypt nginx

LetsEncrypt ile sitelerinize ssl yükleyin

SSL YÜKLEYİN! Ssl önemlidir arkadaşlar. Sizinle sunucu arasındaki trafiği şifreler. Ki bu da çok önemli birşeydir. Baya önemli ama.

Yıllar öncesinde ssl oldukça pahalı bir üründü. Ve anlaması güçtü. Belki de sadece benim için böyleydi bilmiyorum :) Fakat bugün günümüzde ssl kurulumu 2-3 tıklamaya kadar düştü. Bu yüzden ssl yüklemeyi ihmal etmeyin. Kişisel bloga da ssl mi yüklenirmiş demeyin, yükleyin.

Ve artık bunun için LetsEncrypt kullanabilirsiniz. Tamamen ücretsiz.

Nasıl?

Ssh bağlantımızı yapalım ve ilk önce LetsEncrypt dosyalarını sistemimize yükleyip letsencrypt klasörüne geçelim.

git clone https://github.com/letsencrypt/letsencrypt && cd letsencrypt

Aşağıdaki komutu çalıştırarak LetsEncrypt için gerekli dosyaların sisteme yüklenmesini sağlayalım.

./letsencrypt-auto –help

Eğer LetsEncrypt komut listesini görüyorsanız kurulum başarıyla tamamlanmış demektir. Eğer göremiyorsanız bir sorun var demektir. Ki ne olduğunu bilmiyorum.

Sertifika Oluşturma

Sertifika oluşturma için birden fazla yöntem mevcut. Hatta sertifikanın oluşturulup apache ve nginx için konfigürasyonların otomatik yapıldığını söyleyen bazı komutlar da var. Ancak ben otomatik konfigürasyon yapanı henüz beceremedim. Bu yüzden size kendi kullandığım komutu göstereceğim:

./letsencrypt-auto certonly –webroot –webroot-path /var/www/site.tld/web/public –email [email protected] –agree-tos –renew-by-default –text -d site.tld

Bu komut webroot yöntemiyle yalnızca sertifika dosyalarını oluşturuyor. Webroot yönteminde site doğrulaması letsencrypt’in otomatik oluşturup doğrulama yaptığı bir yöntemdir. –webroot-path ile tanımladığınız klasöre bir doğrulama dosyası oluşturur. Daha sonra bu dosyanın http://site.tld/olusturulandosya şeklinde kontrolü yapılır LetsEncrypt tarafından. Eğer dosyaya erişim sağlanamazsa sertifika dosyaları oluşmaz. (Zaten LetsEncrypt Domain Validation Ssl oluşturur. Yani domain doğrulama sertifikası)

–agree-tos komutu, kullanım şartlarını otomatik kabul etmenizi sağlar. –renew-by-default ise 1 yıl sonra otomatik yenilenmesini sağlar. Ya da öyle olmasını umut ediyoruz.

Eğer herşey yolunda giderse “Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/site.tld/fullchain.pem.” şeklinde bir mesajla karşılaşırsınız. Yani artık sertifika dosyalarınız kullanıma hazırdır. Peki nasıl kullanacaksınız?

Nginx

Ssl anahtarlarınızı vhost dosyanızda tanımlamanız gerekiyor. /etc/nginx/sites-available/site.tld dosyanızı favori editörünüz ile açın. Eğer dosyanız bu değilse, vhost dosyanızı bulun!

Şu 3 satırı uygun olduğunu düşündüğünüz bir yere ekleyin.

listen 443 ssl;
ssl_certificate    /etc/letsencrypt/live/site.tld/cert.pem;
ssl_certificate_key    /etc/letsencrypt/live/site.tld/privkey.pem;

Son olarak nginx servisini reload etmeyi unutmayın. Eğer reload ederken bir hata almazsanız, sitenizi https:// ile kullanabilirsiniz demektir. İnternetteki örneklerle vhosts dosyanızı oluşturduğunuz varsayarsak, vhost dosyanız en son eklemeden sonra şunun gibi görünecektir: https://gist.github.com/shibby/450e32d7a5a2ef86904d

Apache2

Hiç bir fikrim yok nasıl ekleneceğine dair. LetsEncrypt’in apache için default gelen modülünü kullanmayı deneyin. Başarırsanız bana da öğretin.

  • LetsEncrypt Resmi Web Sitesi: https://letsencrypt.org/
  • LetsEncrypt Github Sayfası: https://github.com/letsencrypt/letsencrypt
  • EFF’ye bağış yapın! https://supporters.eff.org/donate

 

Karşılaştığım sorunlar:

Kurulum esnasında hata alıyorsak ve bu hata içerisinde “Cannot allocate memory” gibi bir şey geçiyorsa (python paketleri yüklerken), sunucunun ram’i yetmiyor demektir. Ama ram arttırmadan önce swap var mı bir kontrol edin. Eğer swap yoksa çok kolay bir biçimde dosya-swap eklemesi yapabilirsiniz: http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/