Gerçek bir sunucu üzerinde birden fazla web yayınlayan kişilerin veya web hosting hizmeti veren firmaların en büyük ihtiyaçlarından birisi yayınladığın sitelerin kullandığı band genişliğini sınırlamak veya kota tanımlayabilmektir.
Bunu gerçekleştirmek amacıyla yazılmış olan apache modüllerinden birisi olan cband modülünün kurulumunun debian etch sistemler üzerinde nasıl gerçekleştirileceğinden bahsedeceğim.
Öncelikle sunucunuz üzerinde apache sunucusunun ve sanal host’ların düzgün olarak tanımlanmış olması gerekmektedir.
Cband modülünün çalışabilmesi için sisteminizde apxs2 yüklenmesi gerekmektedir.
Debian sistemlerde apxs2′i yüklemek için aşağıdaki komutu verebilirsiniz :
$ apt-get install apache2-prefork-dev
Redhat , Fedora ve CENTOS sistemlerde ise aşağıdaki komutu verebilirsiniz :
$ yum install httpd-devel
bu komut çeşitli bağımlılıkların bulunduğu bağımlıkların yüklenmesini isteyip istemediğinizi sorabilir. Bu soruya evet diyerek devam edebilirsiniz.
Ardından cband modülünü sisteminize indirmeniz gerekmektedir. Debian sistemlerde Cband kurulumu için aşağıdaki komutu verebilirsiniz :
$ apt-get install libapache2-mod-cband
Redhat , Fedora ve CENTOS sistemlerde ise kaynak koddan indirip derleme yapabilirsiniz, kaynak koddan derleme yapmak için aşağıdaki komutları verebilirsiniz :
$ cd ~
$ wget http://cband.linux.pl/download/mod-cband-0.9.7.4.tgz
$ tar xzvf mod-cband-0.9.7.4.tgz
$ cd mod-cband-0.9.7.4
$ ./configure
$ make
$ make install
böylece cband modülü sistemimize yüklenmiş oldu. Şimdi sıra sanal hostlar için modülün aktifleştirilip ayarlanmasında.
Debian sistemlerde modülü aktifleştirmek için aşağıdaki komutu verebilirsiniz :
$ a2enmod cband
Redhat , Fedora ve CENTOS sistemlerde ise /etc/httpd klasörünün altındaki httpd.conf dosyası düzenlenerek modül aktif hale getirilir :
$ nano /etc/httpd/conf/httpd.conf
komutu ile httpd.conf düzenlenir ve aşağıdaki satır dosyaya eklenir :
LoadModule cband_module /usr/lib64/httpd/modules/mod_cband.so
Temel olarak cband modülü sanal host tanımlamarının yapıldığı conf dosyaları içerisinde aşağıdaki gibi ayarlanabilir:
<VirtualHost *:80>
DocumentRoot /var/www/canciyazilim.com
ServerName canciyazilim.com
CBandSpeed 512 10 30
CBandLimit 2048M
CBandPeriod 4W
CBandScoreboard /var/www/badwidth/canciyazilim.com
<Location /bandwidth>
SetHandler cband-status
</Location>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/canciyazilim.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
ErrorLog /var/log/apache2/www.canciyazilim.com_error.log
CustomLog /var/log/apache2/www.canciyazilim.com_access.log combined
ServerSignature Off
</VirtualHost>
Şimdi gelelim vhost tanımlamasındaki kırmız ile yazdığımız alanların açıklamasına.
CBandSpeed 512 10 30 parametresi site için ayrılan toplam band genişliğinin 512Kbps olduğunu aynı anda açılacak maksimum bağlantı sayısının 10 olduğunu ve toplam 30 açık bağlantı bulunabileceğini gösteriyor.
CBandLimit 2048M belirtilen zaman periyotu içerisinde toplam 2048MB kota tanımlıyor.
CBandPeriod 4W zaman periyodu olarak 4 Hafta yani 1ay olarak tanımlanıyor
CBandScoreboard /var/www/badwidth/canciyazilim.com bu parametre istatistiklerin tutulması için gerekli olan apache proseslerin tarafından yazılabilen bir alanı göstermektedir.
Debian sistemlerde bu alanının apache prosesleri tarafından yazılabilirliğini garanti etmek için aşağıdaki komutu çalıştırabilirsiniz :
$ chown www-data:www-data /var/www/bandwidth/canciyazilim.com
Redhat, CENTOS, Fedora gibi sistemlerde ise
$ chown apache:apache /var/www/bandwith/canciyazilim.com
komutunu verebilirsiniz.
<Location /bandwidth>
SetHandler cband-status
</Location>
Tanımlaması ise “www.benimsitem.com/bandwith” adresinden sitenin istatistiklerine ulaşabilmeniz için sanal bir klasör tanımlamaktadır.
Yukarıdaki tanımlada band genişliğinin ve limitlerin aşılması durumunda 503 hata sayfası görüntülenmektedir.
Eğer farklı bir sayfaya yönlendirme yapmak istiyorsanız aşağıdaki satırı sanal host tanımlama dosyanıza ekleyerek bu işlemi gerçekleştirebilirsiniz :
CBandExceededURL http://www.benimispim.com/fazlatrafik.php?site=canciyazilim.com
Tanımlamaları yaptıktan sonra debian sistemlerde :
$ /etc/init.d/apache restart
Redhat, Fedora, Centos sistemlerde :
$ service httpd restart
komutu ile apache sunucunuzu yeniden başlattıktan sonra kurulumu tamamlamış oluruz.