Bu makalemizde ubuntu nginx kurulumu ve ssl aktif etme işlemine rehberlik edilecektir. İşlemler tamamlandığında güvenle nginx servisini kullanabileceksiniz.
Bu rehberde sıfırdan ilerliyoruz:
✅ Ubuntu’da Nginx kurulumu
✅ Firewall ayarları
✅ Domain yönlendirme kontrolü
✅ Let’s Encrypt SSL sertifikası
✅ Otomatik yenileme (renew) ayarı
1) Sunucuya SSH ile Bağlan
Windows için PuTTY veya Terminal ile bağlanabilirsin:
ssh root@SUNUCU_IP
Bağlandıktan sonra ilk iş sunucu paketlerini güncelleyelim.
2) Ubuntu Güncelleme (Önerilen)
apt update -y && apt upgrade -y
3) Nginx Kurulumu
Ubuntu’da Nginx kurulumu tek komut:
apt install nginx -y
Kurulum tamamlandıktan sonra Nginx servisini kontrol et:
systemctl status nginx
Eğer “active (running)” görüyorsan tamamdır.
4) Firewall (UFW) Üzerinden HTTP/HTTPS Açma
Eğer UFW aktifse HTTP/HTTPS portlarını izinli hale getirmelisin:
ufw allow 'Nginx Full'
ufw enable
ufw status
“Nginx Full” otomatik olarak 80 (HTTP) ve 443 (HTTPS) portlarını açar.
5) Domain DNS Ayarlarını Kontrol Et
SSL kurabilmek için domain’in sunucu IP’sine doğru yönlenmesi şart.
✅ A Kaydı şu şekilde olmalı:
@ -> SUNUCU_IPwww -> SUNUCU_IP
Kontrol etmek için:
ping domain.com
Doğru IP dönüyorsa hazırız.
6) Nginx’e Site (Server Block) Tanımlama
Önce site klasörü:
mkdir -p /var/www/domain.com/html
Test dosyası oluşturalım:
nano /var/www/domain.com/html/index.html
İçine şunu koy:
<h1>Nginx Çalışıyor - domain.com</h1>
Nginx config dosyası:
nano /etc/nginx/sites-available/domain.com
İçine bunu yapıştır:
server {
listen 80;
server_name domain.com www.domain.com;
root /var/www/domain.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Aktif edelim:
ln -s /etc/nginx/sites-available/domain.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Artık tarayıcıdan şunu aç:
✅ http://domain.com
7) Let’s Encrypt ile Ücretsiz SSL Kurulumu (HTTPS Açma)
Certbot yükleyelim:
apt install certbot python3-certbot-nginx -y
SSL’i otomatik kurdur:
certbot --nginx -d domain.com -d www.domain.com
Kurulum sonunda Certbot sana sorar:
✅ HTTPS zorunlu olsun mu?
➡️ 2 (Redirect) seçmeni öneririm.
8) SSL Otomatik Yenileme (En Önemli Kısım)
Let’s Encrypt sertifikaları 90 günlüktür. Otomatik yenileme aktif olmazsa bir gün site “güvensiz” olur.
Test edelim:
certbot renew --dry-run
Sorunsuzsa tamamdır.
9) SSL Kurulumu Başarılı mı? Kontrol Et
Tarayıcıdan aç:
✅ https://domain.com
Kilidi görüyorsan SSL aktif ✅
İstersen teknik doğrulama:
openssl s_client -connect domain.com:443 -servername domain.com