Ubuntu sunucularında SSL sertifikası kurmak, web sitenizin güvenliğini artırmak ve HTTPS protokolünü etkinleştirmek için kritik bir adımdır. Bu işlem, kullanıcı verilerini şifreleyerek korur ve arama motorlarında daha iyi sıralama sağlar. Özellikle Let’s Encrypt gibi ücretsiz servisler sayesinde, bu kurulum artık oldukça erişilebilir hale gelmiştir. Bu makalede, Ubuntu 20.04 veya 22.04 LTS sürümlerinde Nginx web sunucusu kullanan bir ortamda SSL sertifikası kurulumunu adım adım ele alacağız. Kurumsal ortamlar için güvenli ve otomatik yenilenebilir bir yapı oluşturacağız, böylece bakım yükünüz minimuma iner.
SSL kurulumuna başlamadan önce sunucunuzun hazır olması şarttır. İlk olarak, sisteminizi güncelleyin ki en son güvenlik yamaları uygulansın. Terminali açın ve şu komutları sırayla çalıştırın: sudo apt update ve sudo apt upgrade -y. Bu işlem, paket yöneticisini yeniler ve olası uyumsuzlukları önler. Ardından, Nginx’i kurun eğer yüklü değilse: sudo apt install nginx -y. Nginx’in varsayılan sayfa dosyasını silin (sudo rm /var/www/html/index.nginx-debian.html) ve kendi sitenizin HTML dosyasını yerleştirin, örneğin basit bir index.html ile test edin.
Sunucunuzun alan adı (domain) yönlendirmesini ayarlayın. DNS kayıtlarınızda A kaydının sunucu IP’sine işaret ettiğinden emin olun. Firewall kurallarını yapılandırın: UFW ile HTTP ve HTTPS portlarını açın (sudo ufw allow 'Nginx Full' ve sudo ufw enable). Bu adımlar, Certbot’un sunucuya erişmesini sağlar ve Nginx’in düzgün çalışmasını garanti eder. Yaklaşık 10-15 dakika süren bu hazırlık, sonraki aşamaları sorunsuz kılar ve olası hataları minimize eder.
Let’s Encrypt’in resmi aracı Certbot’u kurmak için Snap paket yöneticisini kullanın, çünkü bu yöntem en güncel sürümü sağlar. Önce Snap’i etkinleştirin: sudo apt install snapd -y, ardından sudo snap install --classic certbot. Nginx eklentisini ekleyin: sudo snap set certbot trust-plugin-with-root=ok ve sudo snap install certbot-dns-nginx. Bu kurulum, Certbot’un Nginx yapılandırmasını otomatik yönetmesini sağlar. Kurulum sonrası certbot --version ile doğrulayın; sürüm 1.0 veya üzeri olmalıdır. Bu araç, ACME protokolüyle Let’s Encrypt’ten sertifika talep eder ve 90 günlük geçerlilik sunar.
Sertifika almak için sudo certbot --nginx -d orneksite.com -d www.orneksite.com komutunu çalıştırın (alan adlarınızı değiştirin). Certbot, sunucuda HTTP-01 challenge yapar, Nginx’i otomatik yapılandırır ve sertifikayı /etc/letsencrypt/live/orneksite.com/ dizinine kaydeder. E-posta adresi sorulursa kurumsal adresinizi girin ve terms of service’i kabul edin. İşlem tamamlandığında, bir başarı mesajı göreceksiniz. Bu otomatik süreç, manuel sertifika imzalamadan kurtarır ve HSTS gibi güvenlik başlıklarını ekler. Test için tarayıcıda sitenizi ziyaret edin; kilit simgesi görünmelidir.
Nginx yapılandırmasını inceleyin: sudo nginx -t ile syntax kontrolü yapın ve sudo systemctl reload nginx ile yeniden yükleyin. Sertifika dosyaları fullchain.pem (zincir) ve privkey.pem (özel anahtar) olarak saklanır. Otomatik yenileme için Certbot’un cron job’unu etkinleştirin: sudo crontab -e ile 0 12 * * * /usr/bin/certbot renew --quiet satırını ekleyin. Bu, her gün öğle vakti sertifikayı kontrol eder ve 30 günden az kalanları yeniler.
Kurulumu test etmek için sudo certbot renew --dry-run çalıştırın; hata vermemelidir. SSL Labs gibi araçlarla (manuel test edin) A+ derecesi hedefleyin. Nginx conf dosyanızda (/etc/nginx/sites-available/default) ssl_protocols TLSv1.2 TLSv1.3; ve ssl_ciphers HIGH:!aNULL:!MD5; gibi ayarlar ekleyin. Logları izleyin: sudo tail -f /var/log/nginx/error.log. Bu adımlar, kurumsal standartlarda güvenli bir HTTPS sunar ve kesinti riskini ortadan kaldırır. Düzenli bakım ile sertifikanız her zaman güncel kalır.
Bu kurulumla Ubuntu sunucunuzda tam güvenli bir HTTPS ortamı oluşturmuş olursunuz. Pratik adımlar sayesinde, ekip üyeleriniz kolayca uygulayabilir ve ölçeklenebilir bir yapı elde edersiniz. Düzenli güncellemeler ve testlerle güvenliği maksimize edin; böylece kullanıcı güvenini pekiştirin ve uyumluluk gereksinimlerini karşılayın.