Ana içeriğe geç

🔐 Debian 10 Üzerinde Apache Let's Encrypt Kurulumu ve SSL Güvenliği

Debian 10 üzerine Apache kurulumunu, güvenlik ayarlarını ve ücretsiz SSL sertifikası eklemeyi adım adım anlatan kapsamlı rehber.


📌 1. Giriş

Bu rehber Debian 10’da Apache kurulumu yaparak web sunucunuzu hem performans hem de güvenlik açısından en doğru şekilde yapılandırmanıza yardımcı olur.


📌 2. Gereksinimler

Debian 10 çalışır durumda olmalı, root erişimi bulunmalı ve alan adınız sunucunuza yönlenmiş olmalıdır.

  • Güncel Debian 10
  • SSH veya terminal erişimi
  • DNS yönlendirilmiş bir domain

📌 3. Sistem Güncellemeleri

Temel güncellemeler sunucunuzun stabil ve güvenli çalışması için önemlidir.

apt update && apt upgrade -y

📌 4. Apache Kurulumu

Debian’ın resmi reposundan Apache kurulumu yapılır.


apt install apache2 -y

📌 5. Güvenlik Modüllerinin Aktif Edilmesi

  • Ek güvenlik modülleri Apache’yi daha stabil ve saldırılara dayanıklı hale getirir.

a2enmod rewrite ssl headers
systemctl restart apache2

📌 6. Sanal Host (VirtualHost) Yapılandırması

Alan adınızın doğru şekilde çalışması için bir sanal host yapısı gereklidir.


nano /etc/apache2/sites-available/example.com.conf

  • İçerik:

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
AllowOverride All
</Directory>
</VirtualHost>
  1. Siteyi etkinleştir:

a2ensite example.com.conf
systemctl reload apache2

📌 7. Certbot ile Let's Encrypt SSL Kurulumu

  • Certbot, ücretsiz SSL sertifikası almanızı sağlayan resmi Let's Encrypt aracıdır.

7.1 Certbot kurulumu:


apt install certbot python3-certbot-apache -y
  • SSL alma komutu:

certbot --apache -d example.com -d www.example.com

📌 8. SSL Otomatik Yenileme (Renewal)

Let’s Encrypt sertifikaları 90 günde bir yenilenir, Certbot bunu otomatik yapar.

  • Yenilemeyi test etmek için:

certbot renew --dry-run

📌 9. HTTPS Zorunlu Yönlendirme

HTTP’den HTTPS’e otomatik yönlendirme güvenlik için kritik öneme sahiptir.

  1. Virtualhost içine ekleyin:

RewriteEngine On
RewriteCond %&#123;HTTPS&#125; !=on
RewriteRule ^/?(.*) https://%&#123;SERVER_NAME&#125;/$1 [R=301,L]

📌 10. Firewalld veya UFW ile Port Açma

Güvenlik duvarı açık ise HTTP/HTTPS portları izinli olmalıdır.

  1. UFW için:

ufw allow 'Apache Full'
  1. Firewalld için:

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

📌 11. SSL Testi ve Doğrulama

SSL’in doğru çalıştığını doğrulamak için SSL Labs gibi araçlar kullanılabilir.

  • Test komutu:

apache2ctl configtest

📌 Sıkça Sorulan Sorular (SSS)

1: exit-code hatası alıyorum, SSH servisi başlamıyor. Ne yapmalıyım?
Bu hata genellikle /etc/ssh/sshd_config dosyasında bir yazım hatası olduğunda ortaya çıkar. Özellikle Port, ListenAddress ve Protocol 2 satırlarını kontrol edin. Küçük bir karakter hatası bile SSH’nin açılmasını engelleyebilir.


2: Neden apt install phpmyadmin ile kurmadık?
Rehber hazırlanırken phpMyAdmin, Debian 10’un varsayılan depolarında bulunmuyordu. Bu nedenle en güncel sürümü elde etmek ve tam yapılandırma kontrolünü sağlamak için kaynaktan kurulum tercih edilmiştir.


3: blowfish_secret anahtarını kaybetmek sorun yaratır mı?
Hayır. Bu anahtar, phpMyAdmin’in çerezleri şifrelemek için kullandığı dahili bir anahtardır.
Yeni bir anahtar tanımlayabilirsiniz; sadece daha önce oluşturulan oturum çerezleri geçersiz olur.


4: LAMP yığını kurarken neden MariaDB kullanılıyor? MySQL kullanabilir miyim?
MariaDB, MySQL'in topluluk sürümü olan bir fork'tur.
phpMyAdmin her ikisiyle de tamamen uyumludur.
İstersen MySQL kullanabilirsin — hiçbir sorun çıkarmaz.


5: Kurulumdan sonra 404 Not Found hatası alıyorum. Neden?
Genelde Adım 4’teki Apache yapılandırmasının aktif edilmemesinden kaynaklanır.
Aşağıdaki komutla yapılandırmanın etkin olduğundan emin ol:

sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2

📌 Sonuç

Bu rehberde Debian 10 üzerinde phpMyAdmin’i kaynaktan güvenli bir şekilde kurup yapılandırmayı tamamladın. Ek olarak .htaccess yardımıyla arayüzü yetkisiz erişime karşı daha da güvenli hale getirdin.

Artık MariaDB veritabanlarını:

tablo oluşturma

veri düzenleme

kullanıcı yönetimi

yedekleme/geri yükleme

gibi tüm işlemleri komut satırına girmeden kolayca yönetebilirsin.

Bu güçlü ve güvenli kurulumu, Rabisu Bulutplatformunda oluşturduğun Debian sunucularında hemen deneyebilirsin.