Ana içeriğe geç

🛡️ Ubuntu 20.04 Üzerinde Apache Self-Signed SSL Sertifikası Kurulumu

Kendinden imzalı (Self-Signed) SSL sertifikaları; geliştirme, test ortamları veya dahili ağlarda şifreli bağlantı sağlamak için en hızlı çözümlerden biridir. Bu rehberde Ubuntu 20.04 üzerinde Apache için tamamen güvenli bir HTTPS yapılandırması oluşturacak, sertifikanızı tanımlayacak ve HTTP’den otomatik yönlendirme kuracaksınız.


📌 Ön Gereksinimler

  • Ubuntu 20.04 kurulu sunucu

  • Sudo yetkisine sahip kullanıcı

  • Apache kurulu (sudo apt install apache2)

  • Güvenlik duvarında HTTPS izni:

    sudo ufw allow 'Apache Full'

⭐ 1. Adım — SSL Modülünü Etkinleştirin

  1. Apache’nin şifreleme işlemlerini yapabilmesi için SSL modülü aktif olmalıdır.

sudo a2enmod ssl
sudo systemctl restart apache2

Bu işlem, Apache'nin HTTPS bağlantılarını işleyebilmesi için gereklidir.


⭐ 2. Adım — Self-Signed SSL Sertifikanızı Oluşturun

  1. Aşağıdaki komut ile 2048 bit RSA anahtar ve 365 gün geçerli bir sertifika oluşturun:

sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt

Komut çalışınca sertifika bilgilerini girmeniz istenecektir.


  • En önemli kısım: Common Name → alan adınız veya IP’niz.

Örnek giriş:


Country Name: TR
State: Istanbul
Locality: Sisli
Organization Name: Image Ofis
Organizational Unit: Cloud
Common Name: test.example.com
Email Address: [email protected]

⭐ 3. Adım — Apache İçin SSL VirtualHost Oluşturun

  1. Yeni bir SSL yapılandırma dosyası oluşturun:

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

  1. çine şu yapılandırmayı ekleyin:

<VirtualHost *:443>
ServerName test.example.com
DocumentRoot /var/www/test.example.com

SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost>

  1. Web dizinini oluşturun:

sudo mkdir -p /var/www/test.example.com

  1. Test sayfası ekleyin:

sudo nano /var/www/test.example.com/index.html

  1. İçerik:

<h1>Self-Signed SSL Başarıyla Çalışıyor!</h1>

  1. Siteyi etkinleştirin:

sudo a2ensite test.example.com.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
  • Tarayıcınızda → https://sunucu-ip-adresi adresine gidin. Self-Signed olduğu için tarayıcı uyarı gösterebilir.

⭐ 4. Adım — HTTP → HTTPS Yönlendirmesi Ekleyin


  • Aynı yapılandırma dosyasının altına ekleyin:

<VirtualHost *:80>
ServerName test.example.com
Redirect / https://test.example.com/
</VirtualHost>

  1. Servisi yeniden yükleyin:

sudo systemctl reload apache2

Artık tüm HTTP istekleri otomatik olarak HTTPS'e yönlendirilir.


❓ Sıkça Sorulan Sorular

1. Tarayıcı neden güvenlik uyarısı veriyor? Self-Signed sertifikalar bilinen sertifika otoriteleri tarafından imzalanmadığı için. Şifreleme yine de çalışır.


2. Canlı sitelerde kullanılabilir mi? Hayır. Canlı sistemler için Let’s Encrypt kullanın.


3. IP adresi için Self-Signed sertifika oluşturabilir miyim? Evet, Common Name alanına IP yazabilirsiniz.


4. Sertifika süresi dolunca ne olur? Sertifika geçersiz olur. Yeniden oluşturmanız gerekir.


🎉 Sonuç

Bu rehberde:

SSL modülünü aktifleştirdiniz

Kendinden imzalı SSL sertifikası oluşturdunuz

Apache SSL yapılandırmasını tamamladınız

HTTP → HTTPS yönlendirmesi eklediniz

Artık Ubuntu 20.04 üzerinde çalışan Apache sunucunuz güvenli HTTPS desteği sunuyor. Siz de bu kurulumu Rabisu Bulut platformunda hızlı bir şekilde deneyebilirsiniz.