VDS Sunucuya SSH ile Bağlanma Rehberi (PuTTY & Terminal)
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Let's Encrypt ile ücretsiz SSL/TLS sertifikası kurulumu, Certbot kullanımı, Nginx ve Apache yapılandırması, otomatik yenileme ve sık karşılaşılan sorunların çözümü.
SSL/TLS sertifikaları, web siteniz ile ziyaretçileriniz arasındaki iletişimi şifreler. HTTPS protokolü artık SEO sıralaması, tarayıcı güveni ve kullanıcı güvenliği açısından zorunlu hale gelmiştir. Let's Encrypt, ücretsiz, otomatik ve açık kaynaklı bir sertifika otoritesidir.
SSL (Secure Sockets Layer) ve onun modern halefi TLS (Transport Layer Security), ağ üzerinden iletilen verileri şifreleyen protokollerdir. Bir web sitesinde HTTPS kullanıldığında:
Modern tarayıcılar HTTP sitelerini "Güvenli Değil" olarak işaretler. Google, HTTPS'i sıralama faktörü olarak kullanır. REXE sunucularında SSL kurulumu ücretsiz ve kolaydır.
Certbot, Let's Encrypt sertifikalarını otomatik olarak alan ve yenileyen resmi araçtır.
# Sistem güncellemesi
sudo apt update && sudo apt upgrade -y
# Certbot ve Nginx eklentisini kur
sudo apt install certbot python3-certbot-nginx -y
# Apache kullanıyorsanız
sudo apt install certbot python3-certbot-apache -y
# EPEL deposunu ekle
sudo dnf install epel-release -y
# Certbot kur
sudo dnf install certbot python3-certbot-nginx -y
# Snap'i kur
sudo apt install snapd -y
# Certbot'u snap ile kur
sudo snap install --classic certbot
# Sembolik link oluştur
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# Sürümü kontrol et
certbot --version
Sertifika almadan önce:
# Domain yönlendirmesini kontrol et
nslookup example.com
# Port durumunu kontrol et
sudo ufw status
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Certbot Nginx eklentisi ile sertifika al ve yapılandır
sudo certbot --nginx -d example.com -d www.example.com
# Sadece sertifika al, yapılandırmayı kendin yap
sudo certbot certonly --nginx -d example.com -d www.example.com
# Wildcard sertifika (DNS doğrulama gerektirir)
sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com" -d example.com
Certbot kurulum sırasında e-posta adresinizi ve HTTPS yönlendirme tercihini sorar:
Enter email address: admin@example.com
Agree to terms: Y
Share email with EFF: N
Redirect HTTP to HTTPS: 2 (Redirect)
# Nginx sanal host dosyasını düzenle
sudo nano /etc/nginx/sites-available/example.com
# HTTP'yi HTTPS'e yönlendir
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
# HTTPS sunucu bloğu
server {
listen 443 ssl http2;
server_name example.com www.example.com;
# Let's Encrypt sertifika dosyaları
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Güvenli SSL ayarları
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
# HSTS (6 ay)
add_header Strict-Transport-Security "max-age=15768000" always;
root /var/www/example.com/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
# Yapılandırmayı test et
sudo nginx -t
# Nginx'i yeniden yükle
sudo systemctl reload nginx
# SSL modülünü etkinleştir
sudo a2enmod ssl
sudo a2enmod rewrite
# Certbot Apache eklentisi ile sertifika al
sudo certbot --apache -d example.com -d www.example.com
# Sadece sertifika al
sudo certbot certonly --apache -d example.com
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# Güvenli protokoller
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
Header always set Strict-Transport-Security "max-age=15768000"
</VirtualHost>
# HTTP yönlendirme
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
Let's Encrypt sertifikaları 90 gün geçerlidir. Certbot otomatik yenileme için bir systemd timer veya cron job kurar.
# Otomatik yenilemeyi test et
sudo certbot renew --dry-run
# Mevcut timer'ı kontrol et
sudo systemctl status certbot.timer
# Manuel yenileme
sudo certbot renew
# Yenileme sonrası Nginx'i yeniden yükle
sudo certbot renew --post-hook "systemctl reload nginx"
# Crontab düzenle
sudo crontab -e
# Her gün 2 kez kontrol et (Let's Encrypt önerisi)
0 0,12 * * * certbot renew --quiet --post-hook "systemctl reload nginx"
# Tüm sertifikaları listele
sudo certbot certificates
# Sertifika son kullanma tarihini kontrol et
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
# SSL yapılandırmasını test et
curl -vI https://example.com 2>&1 | grep -E "SSL|TLS|certificate"
# Firewall kontrolü
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# REXE Path Panel'den de portları açın
# Nginx çalışıyor mu?
sudo systemctl status nginx
# DNS propagasyonunu kontrol et
nslookup example.com 8.8.8.8
dig example.com +short
# Sunucu IP'si ile eşleşiyor mu?
curl -4 ifconfig.me
# Detaylı log ile yenile
sudo certbot renew --dry-run -v
# Log dosyasını incele
sudo tail -f /var/log/letsencrypt/letsencrypt.log
Let's Encrypt rate limit uygular: haftada 5 başarısız deneme sonrası 1 saat beklemeniz gerekir. Test için --staging flag'ini kullanın.
# Test ortamında sertifika al (rate limit yok)
sudo certbot --nginx --staging -d example.com
Let's Encrypt ve Certbot ile SSL/TLS sertifikası kurulumu artık dakikalar içinde tamamlanabilir. Otomatik yenileme sayesinde sertifika süresi dolma endişesi ortadan kalkar. REXE sunucularında HTTPS kullanmak hem güvenlik hem de SEO açısından kritik öneme sahiptir.
Evet, Let's Encrypt tamamen ücretsizdir. Sertifikalar 90 gün geçerlidir ve Certbot aracı ile otomatik olarak yenilenir. Ticari sertifikalardan tek farkı, organizasyon doğrulaması (OV) veya genişletilmiş doğrulama (EV) sunmamasıdır.
Wildcard sertifika (*.example.com) için DNS doğrulama gereklidir: 'sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com"'. Certbot size bir TXT kaydı verir, bunu DNS yöneticinize ekledikten sonra doğrulama tamamlanır.
Certbot, sertifika süresi dolmadan 30 gün önce yenileme yapar. Systemd timer veya cron job ile günde 2 kez kontrol edilir. 'sudo certbot renew --dry-run' komutu ile yenileme sürecini test edebilirsiniz.
Evet, SAN (Subject Alternative Names) sertifikası ile mümkündür: 'sudo certbot --nginx -d example.com -d www.example.com -d api.example.com'. Tek bir sertifikaya en fazla 100 domain eklenebilir.
Tarayıcı önbelleğini temizleyin. Nginx/Apache yapılandırmasında HTTP'den HTTPS'e yönlendirme (301 redirect) eklendiğinden emin olun. 'sudo nginx -t && sudo systemctl reload nginx' komutunu çalıştırın.
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Windows Server VDS sunucunuza Uzak Masaüstü (RDP) ile bağlanma adımları, NLA güvenlik ayarları, Path Panel firewall kuralı ve sorun giderme rehberi.
REXE panel üzerinden VDS sunucunuzun işletim sistemini değiştirme adımları, yedekleme önerileri, desteklenen Linux ve Windows Server sürümleri.