Apache Web Server: Installation and Performance Optimization from A to Z (with PHP-FPM & FastCGI)
İçindekiler
GİRİŞ: Apache Nedir?
Apache HTTP Server, dünyanın en yaygın kullanılan açık kaynaklı web sunucusudur. Modüler yapısı, esnekliği ve geniş topluluk desteği ile Linux tabanlı sistemlerde en çok tercih edilen web sunucularından biridir.
BÖLÜM 1 – Kurulum Öncesi Hazırlıklar
1.1 Sistem Gereksinimleri
-
Linux Dağıtımı: Ubuntu 20.04+, Debian 10+, CentOS 7+, AlmaLinux 8+
-
Minimum: 1 GB RAM (PHP-FPM için en az 2 GB önerilir)
-
Root veya sudo yetkisi
1.2 Paket Güncellemeleri
BÖLÜM 2 – Apache Kurulumu
2.1 Apache Web Sunucusunu Yükleme
Ubuntu/Debian:
CentOS/AlmaLinux:
2.2 Apache’yi Başlatma ve Etkinleştirme
BÖLÜM 3 – PHP Kurulumu (PHP-FPM ve FastCGI Yapısı)
Apache ile PHP entegrasyonu için iki ana yöntem vardır:
Yöntem | Açıklama |
---|---|
mod_php | Apache'ye gömülü PHP modülü (kolay ama performansı düşüktür) |
PHP-FPM | Apache'nin PHP işlemlerini bir havuzda yönettiği, daha performanslı yöntem |
FastCGI | FPM’e benzer yapı, ama daha esnek yapılandırma ve bazı sistemlerde daha verimli |
BÖLÜM 4 – PHP-FPM ile Apache Yapılandırması
4.1 PHP-FPM Kurulumu
Ubuntu/Debian:
CentOS/AlmaLinux:
4.2 Apache Modüllerini Aktif Et
4.3 Virtual Host Ayarı (PHP-FPM ile)
Aktifleştir:
BÖLÜM 5 – FastCGI Kullanımı (Alternatif)
5.1 mod_fcgid Kurulumu
CentOS’ta:
5.2 FastCGI VirtualHost Örneği
BÖLÜM 6 – PHP-FPM Havuz Yapılandırması
6.1 PHP-FPM Ayar Dosyasını Düzenle
Ayarlanabilecek önemli parametreler:
Not: Sunucunun RAM miktarına göre bu değerleri ayarlayın.
6.2 PHP.ini Optimizasyonu
Önerilen değerler:
BÖLÜM 7 – Güvenlik ve Performans Ayarları
7.1 gzip Aktifleştirme
/etc/apache2/conf-available/deflate.conf
dosyasına aşağıyı ekleyin:
7.2 HTTP/2 Aktifleştirme
Virtual host içine şunu ekleyin:
7.3 KeepAlive Ayarları
Değiştirin:
BÖLÜM 8 – Apache Performans Modülleri
8.1 mod_cache
Sayfa önbelleklemesi sağlar:
VirtualHost içine ekleyin:
8.2 mod_expires
Tarayıcı önbelleği:
VirtualHost içinde:
BÖLÜM 9 – Güvenlik Ayarları
9.1 Server Signature ve Token Gizleme
Şu satırları düzenleyin:
9.2 .htaccess Güvenliği
BÖLÜM 10 – SSL ve HTTPS Kurulumu
Let’s Encrypt (Certbot)
Otomatik yenileme kontrolü:
BÖLÜM 11 – Apache Performans Testi
Apache Bench (ab)
htop / atop ile İzleme
FPM işlemleri için RAM ve CPU gözlemleyin.
SONUÇ
Apache ile birlikte PHP-FPM veya FastCGI kullanmak, klasik mod_php’ye göre çok daha iyi kaynak yönetimi ve performans sunar. Özellikle:
-
PHP-FPM ile yüksek trafikte daha az RAM tüketilir
-
FastCGI ile esnek handler ayarları yapılabilir
-
gzip, expires ve cache modülleri ile cevap süresi azaltılır
-
HTTP/2 ve KeepAlive gibi ayarlarla daha modern protokoller desteklenir
-
Certbot entegrasyonu ile kolay SSL kurulumu sağlanır