Linux sunucusunda web hizmeti sunmak isteyenler için Apache, en popüler ve güçlü web sunucusu yazılımlarından biridir. Açık kaynaklı yapısı, geniş eklenti desteği ve esnek yapılandırma seçenekleri ile dünya çapında tercih edilmektedir. Bu makalede, Linux tabanlı bir sunucuda Apache web sunucusunun nasıl kurulacağı, yapılandırılacağı ve optimize edileceği detaylı bir şekilde anlatılmaktadır.
Ubuntu/Debian Tabanlı Sistemler İçin:
CentOS için:
Apache'nin ana yapılandırma dosyası aşağıdaki yollar altında bulunur:
Birden fazla web sitesi barındırmak için sanal host yapılandırabilirsiniz. Örnek bir yapılandırma:
Bu dosyayı
Kullanılmayan modülleri devre dışı bırakmak sunucunun performansını artırabilir. Örneğin:
b. KeepAlive Ayarı
1. Apache Nedir? Neden Apache Seçmelisiniz?
Apache, HTTP web sunucusu olarak bilinir ve web sitelerini kullanıcıların erişimine sunmak için tasarlanmıştır. Esnek ve modüler yapısı sayesinde hem küçük projeler hem de büyük ölçekli web uygulamaları için uygundur. Avantajları şunlardır:- Açık kaynaklıdır ve ücretsizdir.
- Çeşitli işletim sistemleri ile uyumludur (Linux, Windows, macOS).
- SSL/TLS entegrasyonu gibi güvenlik özelliklerine sahiptir.
- Geniş kullanıcı ve geliştirici topluluğu vardır.
2. Gerekli Ön Hazırlıklar
Apache kurulumu öncesinde sunucunuzda aşağıdaki işlemleri gerçekleştirin:- Sunucunuzda root yetkilerinin bulunduğundan emin olun.
- Güncel bir Linux dağıtımı kullanıyorsanız, yazılım paketlerini güncelleyin:
Bash:sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y # CentOS/RHEL
3. Apache Kurulumu
Apache kurulumu Linux dağıtımınıza bağlı olarak değişiklik gösterebilir. İşte popüler dağıtımlara göre kurulum adımları:Ubuntu/Debian Tabanlı Sistemler İçin:
- Apache'yi yükleyin:
Bash:sudo apt install apache2 -y
- Servisin çalışıp çalışmadığını kontrol edin:
Bash:sudo systemctl status apache2
- Apache (httpd) paketini yükleyin:
Bash:sudo yum install httpd -y
- Servisi başlatın ve etkinleştirin:
Bash:sudo systemctl start httpd sudo systemctl enable httpd
4. Firewall Ayarları
Apache'nin düzgün çalışabilmesi için sunucunuzun güvenlik duvarında gerekli portları açmanız gerekir:- HTTP (80) ve HTTPS (443) portlarını etkinleştirin.
Bash:
sudo ufw allow 'Apache Full'
sudo ufw reload
Bash:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
5. Apache'nin Test Edilmesi
Kurulum tamamlandıktan sonra web tarayıcınızda sunucunuzun IP adresini yazın (örneğin:http://192.168.1.1
). Eğer Apache doğru şekilde çalışıyorsa "Apache2 Ubuntu Default Page" veya benzeri bir sayfa görünecektir.6. Apache Yapılandırması
a. Apache Ana Konfigürasyon DosyasıApache'nin ana yapılandırma dosyası aşağıdaki yollar altında bulunur:
- Ubuntu/Debian:
/etc/apache2/apache2.conf
- CentOS/RHEL:
/etc/httpd/conf/httpd.conf
Birden fazla web sitesi barındırmak için sanal host yapılandırabilirsiniz. Örnek bir yapılandırma:
Bash:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sites-available
(Ubuntu) veya conf.d
(CentOS) klasörüne ekleyip etkinleştirin.7. Apache'nin Optimize Edilmesi
a. Modüllerin YönetimiKullanılmayan modülleri devre dışı bırakmak sunucunun performansını artırabilir. Örneğin:
Bash:
sudo a2dismod status # Ubuntu/Debian
KeepAlive
özelliğini etkinleştirerek bağlantı sürekliliğini artırabilirsiniz:
Bash:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
8. Apache'yi Güvenli Hale Getirme
- SSL Sertifikası Ekleyin:
Let's Encrypt gibi ücretsiz araçlarla HTTPS sağlayabilirsiniz.
Bash:sudo apt install certbot python3-certbot-apache # Ubuntu sudo certbot --apache
- Güvenlik Başlıkları:
Web sitenizi korumak için güvenlik başlıklarını ekleyin:
Bash:Header always set X-Frame-Options "DENY" Header always set X-Content-Type-Options "nosniff"