Sakın test sonuçlarınızı bize de yazmayı unutmayın. Bu kurulum Centos5 , WHM 11.23.2 ve Apache 2.2.8 kurulu bir sunucuda test edilmiştir.Öncelikler cPanel sunucularda genelde bulunmayan ve bu yazılımın ihtiyaç duyduğu pcre paketlerini kuruyoruz.
yum -y install pcre pcre-devel
Kaynak kodumuzu indiriyoruz, arşivi açıp dizine giriyoruz
wget http://garr.dl.sourceforge.net/sourc...7.4-src.tar.gz
tar zxvf mod_qos-7.4-src.tar.gz
cd mod_qos-7.4/apache2/
Modülleri apxs ile derleyip Apache konfigürasyonuna ekliyoruz.
/usr/local/apache/bin/apxs -I/usr/include/pcre/ -iac mod_qos.c
/usr/local/apache/bin/apxs -I/usr/include/pcre/ -iac
mod_qos_control.c
Şimdi mod_qos in kullandığı araçların derlenmesine geldi. Bunlardan birisi qslog, diğeri qsfilter2. Qslog , apache access_log ları inceleyerek istatistik oluşturuyor. Kullanmadım ama ilgilenenler için linki . Qsfilter2 ise yine access loglarını iceleyip , şüpheli istekleri engelleyecek kuralları oluşturan bir yazılım. cPanel de loglar her virtualhost için ayrı tutulduğu için sanırım bunu sunucu genelinde kullanmak için log ayarlarını değiştirmek gerekebilir. Umarım bu araçları ileride test edebilir ve sizi bilgilendirebiliriz. Şimdi kaldığımız yerden devam edelim.
cd ../tools/
make
cp qslog /usr/local/bin/
cd qsfilter/
nano Makefile
Bu kısımda Makefile içeriğinde değişklik yapmamız gerekmekte. Varsayılan apache kaynak kodları yolu cPanel sunculardaklinden farklı. O nedenle Makefile içinde geçen tüm “../../httpd” yollarını “/home/cpeasyapache/src/httpd-2.2.8/” olacak şekilde değiştiriyoruz. Bu sizin kurulumunuza göre değişiklik gösterebilir.
make
cp qsfilter2 /usr/local/bin
cd /usr/local/apache/conf
nano qos.conf
Oluşturduğumuz qos.conf dosyası mod_qos ayarlarının yapıldığı dosya olacak. Çokça ayar seçeneği var ancak biz en basitçe bu ayarları kullanacağız. Kısaca bir kaynak ip adresinden en fazla 10 bağlantı kabul edeceğiz ve toplam istek limitini virtual host başına 100 ile sınırlıyoruz. Unutmayın, her sunucunun konfigürasyonu hit profiline göre değişecektir. En iyi ayarları kendini bulabilirsiniz.
QSC_WorkingDirectory /var/tmp/qosc
QSC_Filter2Binary /usr/local/bin/qsfilter2
QS_SrvMaxConnPerIP 10
QS_LocRequestLimitDefault 100
<Location /qos>
SetHandler qos-viewer
</Location>
Kaydedip çıkıyoruz ve mod_qos geçici dosyalarının kaydedileceği klasörü oluşturuyoruz.
mkdir -p /var/tmp/qosc
chown nobody:nobody /var/tmp/qosc
Son olarak qos.conf u ayar dosyamıza Include ile ekliyoruz ve servisi yeniden başlatıyoruz.
nano httpd.conf
Şu satırı Include direktiflerinden birinin olduğu kısman yazın
Include "/usr/local/apache/conf/qos.conf"
service httpd restart
http://ip_adresiniz/qos linki ile mod_qos çalışması ile ilgili bilgi alabileceğiniz bir sayfaya ulaşabilirsiniz. Bunu sadece test ortamında açık tutmanızı öneririm. İşiniz bitince qos.conf içindeki <Location /qos> direktiflerini kaldırın.
Umarım işinizi görecektir. Bu en basit ayarları ile kurulmuş halidir. Daha ayrıntılı ayarları mod_qos dan bulabilirsiniz.
Unutmadan yazayım. “Caution! Use it on your own risk!”

http://www.linux10.net/2008/07/apache-mod_qos-ile-dos-ddos-koruma/
