Ubuntu sunucularında Apache web sunucusunu SSL ile güvence altına almak, web sitelerinizin güvenliğini artırarak veri trafiğini şifreler ve kullanıcı güvenini pekiştirir. Bu kurulum rehberi, kurumsal ortamlar için adım adım talimatlar sunarak, yeni başlayanlardan deneyimli sistem yöneticilerine kadar herkesin Apache’ye SSL sertifikası entegre etmesini sağlar. Özellikle Let’s Encrypt gibi ücretsiz sertifika sağlayıcılarını kullanarak hızlı ve otomatik bir süreç izleyeceğiz. Bu işlem, Ubuntu 20.04 veya 22.04 LTS sürümlerinde test edilmiş olup, firewall ayarları ve otomatik yenileme gibi pratik detayları da kapsar. Kurulum tamamlandığında, siteniz HTTPS protokolüyle erişilebilir hale gelecek ve arama motorlarında daha iyi sıralama elde edecektir.
İlk aşamada, Ubuntu sunucunuzu güncelleyerek en son güvenlik yamalarını uygulamak esastır. Terminal erişimiyle şu komutları sırayla çalıştırın: sudo apt update ve sudo apt upgrade -y. Bu, sistem paketlerini senkronize eder ve olası uyumsuzlukları önler. Ardından Apache2’yi yükleyin: sudo apt install apache2 -y. Kurulum sonrası servisi etkinleştirin: sudo systemctl enable apache2 ve sudo systemctl start apache2. Durumunu kontrol etmek için sudo systemctl status apache2 komutunu kullanın; “active (running)” mesajı başarıyı doğrular.
Firewall yapılandırması kritik öneme sahiptir. UFW (Uncomplicated Firewall) etkinse, HTTP ve HTTPS trafiğini açın: sudo ufw allow 'Apache Full' ve sudo ufw reload. Bu, hem 80 hem de 443 portlarını açar. Apache’nin varsayılan sayfasını test etmek için sunucu IP’nizi tarayıcıda girin; “Apache2 Ubuntu Default Page” görünürse kurulum tamamdır. Bu temel adımlar, SSL entegrasyonu için sağlam bir zemin oluşturur ve olası bağlantı sorunlarını minimize eder. Yaklaşık 5-10 dakika süren bu süreç, sunucunuzun kararlılığını sağlar.
Ücretsiz ve otomatik SSL sertifikaları için Certbot aracını Snap ile yükleyin. Önce Snap’i güncelleyin: sudo snap install core; sudo snap refresh core. Sonra Certbot’u kurun: sudo snap install --classic certbot ve root eklenti iznini verin: sudo snap set core trust-plugin-with-root=ok. Sertifika alma işlemi için domain’inizi işaret eden A kaydının sunucuya çözümlendiğinden emin olun. Ardından sudo certbot --apache -d orneksite.com -d www.ornek.com komutunu çalıştırın. Certbot, e-posta doğrulaması isteyecek ve otomatik olarak sertifika oluşturacaktır.
Certbot varsayılan olarak HTTP-01 challenge kullanır, bu da 80 portunun açık olmasını gerektirir. DNS-01 challenge için --manual --preferred-challenges dns ekleyin; bu, büyük kurumsal domainler için uygundur ancak manuel TXT kaydı gerektirir. Doğrulama sonrası, sertifikalar /etc/letsencrypt/live/orneksite.com/ dizininde saklanır: fullchain.pem (tam zincir) ve privkey.pem (özel anahtar). Bu dosyalar 90 gün geçerlidir ve otomatik yenileme cron job’uyla yönetilir.
Yenileme için sudo certbot renew --dry-run ile test edin; hata yoksa cron’a ekleyin: sudo crontab -e ve satıra 0 12 * * * /usr/bin/certbot renew --quiet ekleyin. Bu, günlük kontrol yapar ve yenileme gerektiğinde Apache’yi yeniden yükler. Kurumsal ortamlarda, bu cron job’unu systemd timer ile yönetmek daha güvenilirdir, böylece loglar merkezi olarak izlenebilir.
Sertifika alındıktan sonra Apache konfigürasyonunu düzenleyin. Varsayılan site dosyasını etkinleştirin: sudo a2enmod ssl rewrite. Ana konfigürasyon /etc/apache2/sites-available/000-default.conf içinde SSL blokunu ekleyin. Örnek blok: <VirtualHost *:443> ServerName orneksite.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/letsencrypt/live/orneksite.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/orneksite.com/privkey.pem </VirtualHost>. HTTP’den HTTPS’ye yönlendirme için 000-default.conf’a Redirect permanent / https://orneksite.com/ ekleyin.
Ek güvenlik için /etc/apache2/apache2.conf‘a HSTS başlığını ekleyin: Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains". Mod_headers etkinleştirin: sudo a2enmod headers. Konfigürasyon sintaksını test edin: sudo apache2ctl configtest; “Syntax OK” alırsanız yeniden başlatın: sudo systemctl restart apache2. Bu ayarlar, MITM saldırılarını önler ve PCI DSS uyumluluğunu artırır.
Tüm değişiklikler sonrası tarayıcıda HTTPS erişimini doğrulayın; kilit simgesi görünmeli. SSL Labs testi gibi araçlarla A+ derecesi hedefleyin. Hata durumunda logları inceleyin: sudo tail -f /var/log/apache2/error.log.
Bu kurulumla Ubuntu sunucunuzda Apache SSL tamamen hazır hale gelir. Düzenli yenileme ve güncellemelerle uzun vadeli güvenlik sağlar, kurumsal web uygulamalarınızı korur. Pratik adımları takip ederek, dakikalar içinde HTTPS’e geçiş yapabilirsiniz; bu, kullanıcı deneyimini iyileştirirken yasal uyumluluk sağlar.