Apache HTTP Server, dünyada en çok kullanılan açık kaynaklı web sunucularından biridir. Hem güvenilirliği hem de geniş modül desteği sayesinde, küçük projelerden yüksek trafikli sitelere kadar yaygın olarak tercih edilir. Bu yazıda, Ubuntu sunucuda Apache kurulumu, temel yapılandırmalar ve güvenlik ayarları adım adım anlatılmaktadır.
1. Ön Hazırlık
Sistemi Güncelleme
Apache’yi kurmadan önce sunucudaki paketleri güncellemek, hem güvenlik hem de uyumluluk açısından önemlidir:
sudo apt update && sudo apt upgrade -y
Root veya Sudo Yetkisi – Bu işlemleri yapabilmek için root veya sudo yetkisine sahip olmanız gerekir.
2. Apache Kurulumu
Ubuntu’nun resmi depolarında Apache hazır olarak bulunur. Kurmak için:
sudo apt install apache2 -y
Kurulum tamamlandıktan sonra Apache otomatik olarak başlar. Servis durumunu kontrol etmek için:
sudo systemctl status apache2
Çıktıda active (running) görüyorsanız Apache çalışıyor demektir.
3. Güvenlik Duvarı (UFW) Ayarları
Eğer sunucunuzda UFW etkinse, HTTP ve HTTPS trafiğine izin vermeniz gerekir:
sudo ufw allow 'Apache Full'
sudo ufw reload
4. Kurulumun Doğrulanması
Sunucu IP adresinizi tarayıcıda açarak kurulumun başarılı olduğunu kontrol edin:
http://SUNUCU_IP_ADRESI
Varsayılan Apache karşılama sayfasını görüyorsanız kurulum tamamdır.
5. Temel Apache Yapılandırmaları
Apache’nin ana yapılandırma dosyası:
/etc/apache2/apache2.conf
Sanal host dosyaları ise:
/etc/apache2/sites-available/
Örnek Sanal Host Dosyası
<VirtualHost *:80>
ServerAdmin admin@siteadiniz.com
ServerName siteadiniz.com
ServerAlias www.siteadiniz.com
DocumentRoot /var/www/siteadiniz
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Bu dosyayı siteadiniz.conf olarak kaydedin, ardından etkinleştirin:
sudo a2ensite siteadiniz.conf
sudo systemctl reload apache2
6. Modül Yönetimi
Apache’de modülleri etkinleştirmek veya devre dışı bırakmak kolaydır.
• Modül etkinleştirme:
sudo a2enmod rewrite
• Modül devre dışı bırakma:
sudo a2dismod rewrite
Değişikliklerden sonra Apache’yi yeniden yükleyin:
sudo systemctl reload apache2
7. Güvenlik ve Performans İpuçları
- Dizin Listelemeyi Kapatma Options -Indexes satırını sanal host veya .htaccess dosyanıza ekleyin.
- Gereksiz Modülleri Kapatma Kullanmadığınız modülleri devre dışı bırakmak hem güvenliği hem de performansı artırır.
- HTTPS Kullanımı Let’s Encrypt ile ücretsiz SSL sertifikası kurabilirsiniz:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache
8. Apache Servis Yönetimi
- Servisi başlatma:
sudo systemctl start apache2
• Servisi durdurma:
sudo systemctl stop apache2
• Servisi yeniden başlatma:
sudo systemctl restart apache2
• Yapılandırma değişikliklerini yükleme:
sudo systemctl reload apache2
9. Log Kayıtlarını İzleme
Apache logları:
- Erişim logları: /var/log/apache2/access.log
- Hata logları: /var/log/apache2/error.log
Anlık log izlemek için:
sudo tail -f /var/log/apache2/access.log
Sonuç
Bu rehberde Ubuntu sunucuya Apache kurulumunu, temel ayarlarını, sanal host yapılandırmasını ve güvenlik önlemlerini detaylıca gördük. Doğru yapılandırılmış bir Apache sunucusu, hem performans hem de güvenlik açısından uzun süre sorunsuz hizmet verecektir.