cPanel/WHM: Apache Include Editor ile Özel Ayarlar ve Optimizasyon
Web sunucusu yönetimi, özellikle yüksek performans ve güvenlik gerektiren ortamlar için, sadece temel ayarları yapmaktan çok daha fazlasını içerir. cPanel ve WHM gibi paneller, sunucu yönetimini basitleştirse de, bazen özel ihtiyaçlar veya benzersiz optimizasyonlar için daha derinlemesine müdahaleler gerekebilir. İşte tam bu noktada, WHM’nin Apache Include Editor özelliği devreye girer. Bu güçlü araç, Apache konfigürasyonunu doğrudan ve hassas bir şekilde özelleştirmenize olanak tanır, böylece sunucunuzu tam olarak istediğiniz gibi şekillendirebilirsiniz. Bu makalede, Apache Include Editor’ın ne olduğunu, neden bu kadar önemli olduğunu ve sunucunuzun performansını, güvenliğini ve işlevselliğini artırmak için nasıl kullanılabileceğini adım adım inceleyeceğiz.
Teknik Arka Plan: Apache Konfigürasyon Yapısı ve Include Editor’ün Rolü
Apache HTTP Sunucusu, modüler bir yapıya sahiptir ve konfigürasyonunu birden fazla dosyaya yayarak yönetir. Ana konfigürasyon dosyası genellikle httpd.conf‘tur, ancak cPanel/WHM ortamlarında bu dosya EasyApache tarafından yönetilir ve doğrudan düzenlenmesi önerilmez. Bunun yerine, EasyApache, özel konfigürasyon parçacıklarını dahil etmek için Include direktiflerini kullanır. Apache Include Editor, bu Include direktiflerinin arasına kendi özel konfigürasyonlarınızı ekleyebileceğiniz güvenli bir arayüz sağlar. Bu sayede, EasyApache güncellemeleri veya yeniden derlemeleri sırasında özel ayarlarınızın kaybolması riski olmadan, Apache’nin çalışma şeklini değiştirebilirsiniz.
Apache, konfigürasyon dosyalarını belirli bir sıraya göre işler. Bu sıra, hangi ayarın diğerini geçersiz kılacağını belirler. Include Editor, üç ana noktada konfigürasyon eklemenize olanak tanır:
- Pre-Main Include: Apache’nin ana konfigürasyon dosyasını yüklemeden hemen önce işlenen ayarlar. Genellikle global modül yüklemeleri veya çok erken aşama direktifleri için kullanılır.
- Pre-VirtualHost Include: Sanal host konfigürasyonları yüklenmeden hemen önce işlenen ayarlar. Tüm sanal host’ları etkileyecek genel ayarlar veya modül ayarları için idealdir.
- Post-VirtualHost Include: Her bir sanal host’un konfigürasyonu yüklendikten sonra işlenen ayarlar. Bu, belirli bir sanal host için özel direktifleri geçersiz kılmak veya eklemek için kullanılabilir.
- Post-VirtualHost (User-Specific): Bu seçenek, her cPanel kullanıcısının kendi sanal host konfigürasyonuna özel direktifler eklemesine olanak tanır. WHM’de bu ayar genel olarak yapılsa da, cPanel kullanıcıları için de bu tip bir özelleştirme imkanı sunar. Bu, genellikle
.htaccessdosyalarının sınırlı kaldığı durumlarda veya cPanel arayüzünde olmayan direktifleri eklemek için kullanılır.
Adım Adım Uygulama Rehberi: Include Editor Kullanımı
WHM’e Giriş ve Include Editor’e Erişim
- WHM panelinize root kullanıcı olarak giriş yapın.
- Sol menüde “Service Configuration” (Servis Konfigürasyonu) bölümüne gidin.
- Burada “Apache Configuration” (Apache Konfigürasyonu) seçeneğini bulun ve tıklayın.
- Açılan menüden “Include Editor” (Dahil Etme Düzenleyicisi) seçeneğini seçin.
Global ve User-Specific Seçenekleri
Include Editor sayfasında, yukarıda bahsettiğimiz farklı ekleme noktalarını göreceksiniz. Hangi ayarı nereye ekleyeceğinize karar vermek, Apache’nin çalışma mantığını anlamakla doğru orantılıdır.
- Pre-Main Include: Sunucu genelinde geçerli olacak, çok temel düzeydeki ayarlar için kullanılır. Örneğin, özel bir Apache modülünün yüklenmesi veya global düzeyde bir
ServerTokens Prodgibi güvenlik direktifi. - Pre-VirtualHost Include: Tüm sanal host’ları etkileyecek ayarlar. Örneğin, tüm siteler için varsayılan bir
DocumentRootkısıtlaması veyaDirectoryIndexayarları. - Post-VirtualHost Include: Belirli sanal host’lara özgü, ancak WHM üzerinden yönetilen tüm sanal host’lar için geçerli olacak ayarlar. Bu, genellikle belirli bir domain için
.htaccess‘te yapılamayan veya daha iyi performans için doğrudan Apache konfigürasyonuna eklenmesi gereken direktifler için idealdir.
Örnek Senaryo 1: Global Güvenlik Kuralı Ekleme (Mod_Evasi ve Apache Kısıtlamaları)
Diyelim ki, sunucunuzda DDoS saldırılarına karşı daha fazla koruma sağlamak için mod_evasive gibi bir modül kullanıyorsunuz ve belirli IP adreslerinden gelen aşırı istekleri kısıtlamak istiyorsunuz. Ya da belirli HTTP metodlarını (PUT, DELETE gibi) global olarak devre dışı bırakmak istiyorsunuz.
Uygulama:
- “Pre-Main Include” seçeneğini seçin.
- Metin kutusuna aşağıdaki gibi direktifler ekleyin (örneğin, sadece GET ve POST’a izin vermek için):
<Directory "/home/*/public_html">
<LimitExcept GET POST>
Require all denied
</LimitExcept>
</Directory> - Veya
mod_evasiveayarlarını buraya ekleyebilirsiniz (modül yüklü ise):
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule> - “Update” butonuna tıklayın.
Örnek Senaryo 2: Domain Bazında Performans Ayarı (PHP Handler Override)
Belirli bir web sitesi için farklı bir PHP handler (örneğin, FPM yerine suPHP) kullanmak veya özel bir PHP ayarı (php_value memory_limit 512M) yapmak istiyorsunuz, ancak bu ayarı cPanel’den veya .htaccess‘ten yapamıyorsunuz.
Uygulama:
- “Post-VirtualHost Include” seçeneğini seçin.
- Açılan sayfada, hangi sanal host için ayar yapacağınızı belirten bir
<VirtualHost>bloğu içine direktiflerinizi ekleyin.
DİKKAT: Bu bölüm, tüm sanal host’ları etkileyecek şekilde global olarak uygulanır. Belirli bir domain için yapmak istiyorsanız, direktifleri<VirtualHost domain.com:80>veya<VirtualHost *:80>içindeServerName domain.comkontrolü ile yapmanız gerekir. Genellikle daha güvenli yol,.htaccessveya PHP-FPM pool ayarlarıdır. Ancak, zorunlu durumlarda (örneğin, bir modül ayarı) aşağıdaki gibi bir yapı kullanabilirsiniz:
<VirtualHost *:80>
ServerName example.com
<FilesMatch .php$>
SetHandler "application/x-httpd-ea-php74"
</FilesMatch>
php_value memory_limit 512M
</VirtualHost> - “Update” butonuna tıklayın.
Değişiklikleri Kaydetme ve Apache’yi Yeniden Başlatma
Herhangi bir değişiklik yaptığınızda, WHM size Apache’yi yeniden başlatmanız gerektiğini bildirecektir. Değişikliklerin etkili olması için bu adımı tamamlamanız zorunludur. Genellikle, WHM bu işlemi sizin için otomatik olarak yapar veya bir düğme sunar. Eğer manuel olarak yeniden başlatmanız gerekirse, WHM ana sayfasındaki “Restart Services” (Servisleri Yeniden Başlat) bölümünden “HTTP Server (Apache)” seçeneğini kullanabilirsiniz.
Güvenlik İpuçları
- Yanlış Yapılandırma Riskleri: Include Editor, çok güçlü bir araçtır ve yanlış kullanıldığında Apache’nin çökmesine veya güvenlik açıklarının oluşmasına neden olabilir. Her zaman ne yaptığınızdan emin olun.
- En Düşük Yetki Prensibi: Sadece gerçekten ihtiyacınız olan direktifleri ekleyin. Mümkünse, direktifleri olabilecek en dar kapsamda (örneğin, sadece belirli bir dizin veya alan adı için) uygulayın.
- Yedekleme: Büyük değişiklikler yapmadan önce mevcut Apache konfigürasyonunuzun veya en azından ekleyeceğiniz kod parçasının bir yedeğini alın.
- Günlükleri Kontrol Edin: Değişikliklerden sonra Apache hata günlüklerini (
/usr/local/apache/logs/error_log) düzenli olarak kontrol edin.
Performans Optimizasyonları
Include Editor, performans optimizasyonları için de kullanılabilir:
- Modül Yükleme/Kaldırma: Nadiren kullanılan veya özel bir amaç için ihtiyaç duyulan modülleri dinamik olarak yüklemek veya devre dışı bırakmak.
- KeepAlive Ayarları:
KeepAlive On,KeepAliveTimeoutveMaxKeepAliveRequestsgibi direktifleri belirli sanal host’lar veya global olarak ayarlayarak bağlantı yönetimini optimize etmek. - Özel Sıkıştırma Kuralları: Apache’nin
mod_deflateveyamod_brotlimodülleri ile belirli dosya türleri veya URL’ler için özel sıkıştırma kuralları tanımlamak (eğer EasyApache varsayılanları yeterli değilse). Örneğin:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</IfModule> - Caching Headers: Tarayıcı önbelleklemesini kontrol eden
ExpiresDefaultveyaHeader set Cache-Controlgibi direktifleri ekleyerek istemci tarafı önbelleklemesini iyileştirmek.
Olası Hata Çözümleri (Troubleshooting)
- Apache Başlatılamıyor: En yaygın sorun, eklediğiniz direktiflerdeki bir sözdizimi hatasıdır. Apache’yi yeniden başlatmaya çalışırken hata mesajını dikkatlice okuyun. Genellikle, WHM size hatanın kaynağını gösterir. Manuel olarak kontrol etmek için SSH üzerinden
/usr/local/apache/bin/httpd -tkomutunu çalıştırabilirsiniz. Bu komut, Apache konfigürasyonunuzdaki sözdizimi hatalarını size bildirecektir. - Hata Günlükleri: Sunucunuzun Apache hata günlükleri (genellikle
/usr/local/apache/logs/error_logveya/var/log/apache2/error_log) sorun giderme için en iyi arkadaşınızdır. Herhangi bir anormallik veya beklenen davranışın dışındaki durumlar için bu günlükleri düzenli olarak kontrol edin. - Önceki Sürüme Dönme: Eğer Apache Include Editor’da yaptığınız bir değişiklik sunucuda sorunlara yol açtıysa, eski konfigürasyonu geri yüklemek en hızlı çözüm olabilir. WHM’deki Include Editor arayüzünde, önceki kayıtlı versiyonlara dönme veya yaptığınız değişiklikleri silme seçeneği bulunabilir.
- cPanel Destek Araçları: WHM’de bulunan “Apache Status” veya “Server Status” gibi araçlar, Apache’nin o anki durumu hakkında bilgi sağlayarak sorun gidermede yardımcı olabilir.
Apache Include Editor, cPanel/WHM kullanan sunucu yöneticileri için vazgeçilmez bir araçtır. Sunucunuzun varsayılan konfigürasyonunun ötesine geçerek, özel ihtiyaçlarınıza göre ince ayarlar yapmanıza olanak tanır. Doğru kullanıldığında, bu araç sunucunuzun performansını artırabilir, güvenliğini güçlendirebilir ve benzersiz işlevsellikler ekleyebilir. Ancak, bu gücün beraberinde büyük bir sorumluluk getirdiğini unutmamak önemlidir. Her zaman dikkatli olun, değişikliklerinizi test edin ve Apache’nin çalışma prensiplerini anlamaya çalışın. Bu sayede, sunucunuzdan en iyi verimi alabilir ve web sitelerinizin sorunsuz bir şekilde çalışmasını sağlayabilirsiniz. Unutmayın, iyi yönetilen bir sunucu, başarılı bir çevrimiçi varlığın temelidir.

