Web sitesi yöneticileri için hız, güvenlik ve verimlilik her şey demektir. Eğer Apache kullanıyorsanız, doğru yapılandırma ve optimizasyon, web sitenizin performansını zirveye taşıyabilir. Bu yazımızda, Apache web sunucusunu daha hızlı, güvenli ve verimli hale getirmek için kullanabileceğiniz 10 ileri seviye yapılandırma ipucunu keşfedeceğiz. Hazırsanız, başlayalım!
1. Apache Yapılandırma Dosyalarını Doğru Şekilde Düzenleyin
Apache'nin performansını artırmanın ilk adımı, yapılandırma dosyalarındaki gereksiz kodlardan kurtulmak ve doğru ayarları yapmaktır. Apache'nin ana yapılandırma dosyası genellikle `httpd.conf` veya `apache2.conf` adlarıyla bulunur. Bu dosyada, özellikle *Listen* direktifi ile sunucunun hangi IP'ye ve port’a hizmet vereceğini belirleyebilirsiniz. Gereksiz veya yanlış yapılandırılmış ayarlar, sunucunun performansını olumsuz etkileyebilir.
# Apache'nin dinlediği IP ve portu belirleyin
Listen 80
Bu, Apache'nin dinlediği portu belirler ve gereksiz bağlantıların önüne geçilmesini sağlar.
2. KeepAlive Özelliği ile Bağlantı Sürekliliğini Optimize Edin
Apache'nin KeepAlive özelliği, aynı istemciden gelen birden fazla isteğin tek bir bağlantı üzerinden işlenmesini sağlar. Bu özellik, özellikle dinamik içerik sunan web sitelerinde oldukça önemlidir. Ancak, fazla uzun tutulması da sunucunun fazla kaynak harcamasına yol açabilir. KeepAlive'ı etkinleştirirken doğru parametreleri belirlemek kritik önem taşır.
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Burada, `MaxKeepAliveRequests` parametresiyle bir istemciden gelen maksimum istek sayısını belirleyebilirsiniz. `KeepAliveTimeout` ise, bağlantıların ne kadar süreyle açık tutulacağını belirler.
3. URL Optimizasyonu için mod_rewrite ve .htaccess Kullanımı
Web sitenizin SEO performansı, doğru yapılandırılmış URL’lerle doğrudan ilişkilidir. Apache'nin mod_rewrite modülü, URL'leri daha anlamlı hale getirmek için mükemmel bir araçtır. .htaccess dosyasına ekleyeceğiniz birkaç basit kural ile URL'lerinizi arama motorları için optimize edebilirsiniz.
RewriteEngine On
RewriteRule ^/eski-url$ /yeni-url [R=301,L]
Bu şekilde, eski URL'ler doğru bir şekilde yönlendirilir ve SEO kaybı yaşanmaz.
4. Önbellekleme Teknikleri ve Hız Artırma Yöntemleri
Apache’nin `mod_cache` ve `mod_file_cache` gibi modüllerini kullanarak sayfa önbellekleme yapabilirsiniz. Bu sayede, sıkça görüntülenen sayfalar daha hızlı yüklenir. Ayrıca, Apache'nin `mod_expires` modülünü kullanarak içeriklerin ne kadar süreyle önbelleğe alınacağını belirlemek, sunucu yükünü hafifletir.
# Sayfa önbellekleme için mod_expires kullanımı
ExpiresActive On
ExpiresDefault "access plus 1 month"
5. SSL/TLS Yapılandırması ve Güvenlik İyileştirmeleri
Web sunucularında güvenlik çok önemlidir. Apache'deki SSL/TLS yapılandırması, verilerin şifrelenmesi ve güvenli bir bağlantı sağlanması için gereklidir. Modern şifreleme protokollerine geçmek, hem güvenliği artırır hem de SEO açısından olumlu etkiler yaratır.
SSLEngine On
SSLCipherSuite HIGH:!aNULL:!MD5
Bu ayar, sadece güçlü şifreleme algoritmalarını kullanmanıza olanak tanır.
6. mod_deflate ile Sayfa Hızını Artırma
Sayfa yükleme hızını artırmanın bir yolu da içerikleri sıkıştırmaktır. Apache’nin `mod_deflate` modülü, HTML, CSS, JavaScript ve diğer metin tabanlı içerikleri sıkıştırarak, veri boyutunu küçültür ve sayfa hızını artırır.
SetOutputFilter DEFLATE
Bu basit ayar, sunucunuzun sıkıştırma işlemi yapmasına yardımcı olur ve site hızını ciddi oranda artırabilir.
7. Yük Dengeleme ile Trafik Yönetimi
Apache’nin `mod_proxy` ve `mod_proxy_balancer` modülleri, web sunucusunun performansını artırmak için yük dengeleme yapmanızı sağlar. Bu, yüksek trafikli web sitelerinde, yükün eşit bir şekilde birkaç sunucuya dağıtılmasına yardımcı olur.
BalancerMember http://192.168.1.101:8080
BalancerMember http://192.168.1.102:8080
8. HTTP/2 Desteği ile Daha Hızlı Bağlantılar
Apache 2.4.17 ve sonrasında HTTP/2 desteği bulunmaktadır. Bu protokol, sayfa yükleme hızlarını artırmak için bir dizi gelişmiş özellik sunar. Apache'yi HTTP/2 desteği ile yapılandırmak, sayfa yükleme sürelerini kısaltır.
Protocols h2 http/1.1
9. Hata Tespiti ve Çözümleme
Apache’nin hata günlükleri, performans problemlerini tespit etmenin ve çözmenin en etkili yoludur. Apache'nin `error_log` dosyasını düzenli olarak kontrol etmek, sunucu üzerinde gerçekleşen hataları zamanında görmenizi sağlar.
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
10. Dizin Listelemeyi Devre Dışı Bırakın
Güvenlik açısından, Apache’nin dizin listeleme özelliğini devre dışı bırakmak oldukça önemlidir. Bu, sunucunuzda her hangi bir dizinin içeriğinin istenmeyen kişilere görünmesini engeller.
Options -Indexes