Apache2: controle de la Bande passante et du traffic

Transcription

Apache2: controle de la Bande passante et du traffic
tontonserver
Apache2: controle de la Bande passante et du traffic
réf: http://wiki.generation-linux.net/tutoriels:apache:cband_module Contrôle de la bande passante et le traffic web avec le
mod_cband sur Apache 2
Ce tuto me sert de mémo pour installer et configurer la gestion du traffic et de la bande passante sur Apache2 avec le
module cband.
Installation effectuée sur Debian Sarge avec la méthode Debian.
Prérequis:
Vous devez avoir installer apache 2 (normal ) et configurer au moins un virtualhost.
Note:Cette méthode s’applique avec l’installation du serveur avec apt et par les sources ! vous pouvez
également recompiler apache en rajoutant ces options si vous l’avez installer par les sources: ./configure --addmodule=../mod-cband-0.9.7.5/src/mod_cband.c --enable-shared=cband --enable-module=so
Installation d’une librairie nécessaire: apt-get update
apt-get install apache2-prefork-dev
Téléchargeons et installons le module: cd /tmp
wget http://download.generation-linux.net/mod-cband-0.9.7.5.tgz
tar xzvf mod-cband-0.9.7.5.tgz
cd mod-cband-0.9.7.5
./configure
make
make install
La commande make install a dû ajouter le module dans: /etc/apache2/httpd.conf
Regardons avec votre éditeur favori, moi c’est vim et en root : vim /etc/apache2/httpd.conf
LoadModule cband_module
/usr/lib/apache2/modules/mod_cband.so
Note: Si elle n’y est pas, rajoutez-là à la main.
Redémarrez ensuite Apache: /etc/init.d/apache2 reload
Ok le module est installer !
Continuons avec sa configuration sur un virtualhost.
Vous trouverez de la documentation sur les directives du modules sur http://cband.linux.pl/documentation Dans cette
exemple, considérons que votre virtualhost se nomme www.bureau.lan que sont ip est 192.168.0.152 et que le
DocumentRoot se trouve sur /var/www: <VirtualHost 192.168.0.152>
ServerName www.bureau.lan
ServerAdmin [email protected]
DocumentRoot /var/www
</VirtualHost>
Note: la directive ServerName doit être obligatoirement incluse sinon ça ne marchera pas et vous aurez cette erreur
lorsque vous tenterez de redémarrer Apache: Starting httpd: [Mon May 29 18:05:33 2006] [warn] Invalid command
'CBandSpeed', undefined virtualhost name
Vous pouvez utilisez ces unités pour les directives du mod_cband : Vitesses de transfert:
* kbps: 1024 bits per second
* Mbps: 1024*1024 bits per second
* Gbps: 1024*1024*1024 bits per second
* The default is kbps.
Quotas transféré:
* K: 1000 bytes
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 14 February, 2017, 23:33
tontonserver
* M: 1000*1000 bytes
* G: 1000*1000*1000 bytes
* Ki: 1024 bytes
* Mi: 1024*1024 bytes
* Gi: 1024*1024*1024 bytes
* The default is K.
Période:
* S: seconds
* M: minutes
* H: hours
* D: days
* W: weeks
* The default is S.
Nous allons d&rsquo;abord inclure ces deux directives au fichier de configuration principal d&rsquo;Apache et non pas
au fichier du virtualhost !!!
Editons le fichier: vim /etc/apache2/apache2.conf
Et ajoutons les directives : CBandScoreFlushPeriod 1
CBandRandomPulse On
Nous allons ensuite créer le dossier nécessaire pour l&rsquo;affichage du tableau graphique du traffic et de la bande
passante.
Le serveur doit avoir les droits d&rsquo;écriture su ce dossier !!! mkdir /var/www/scoreboard
chown www-data:www-data /var/www/scoreboard/
1. Configuration de la vitesse de téléchargement: <VirtualHost 192.168.0.152>
ServerName www.bureau.lan
ServerAdmin [email protected]
DocumentRoot /var/www
CBandSpeed 1024 10 30
CBandRemoteSpeed 20kb/s 3 3
</VirtualHost>
Explications: la directive CBandSpeed va limiter les performance Apache pour le virtualhost www.bureau.lan avec une
vitesse de 1024 Kbps, 10 requêtes par seconde et 30 connexions simultanées.
La directive CBandRemoteSpeed est pareille que la directive CBandSpeed sauf qu&rsquo;elle limite en plus les
performances pour chaque client individuellement !!
Après avoir fait les changements vous devez redémarrer Apache : /etc/init.d/apache2 reload
2. Configuration de la limite du traffic:
Dans cet exemple, nous allons donner à www.bureau.lan une limite de traffic de 100MB par mois et une fois la limite
atteinte nous limiterons la vitesse de téléchargement à 128 Kbps, à 5 requêtes par seconde et 15 connexions
simultanées: <VirtualHost 192.168.0.152>
ServerName www.bureau.lan
ServerAdmin [email protected]
DocumentRoot /var/www
CBandLimit 100M
CBandExceededSpeed 128 5 15
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
</VirtualHost>
La directive CBandPeriod sert à remettre à zéro le compteur une fois la période écoulée,...ici elle est de 4 semaines ou 1
mois.
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 14 February, 2017, 23:33
tontonserver
3. Configuration de la limite du traffic + ajout du fichier 503:
L&rsquo;exemple suivant est presque identique à celui du dessus mais seulement une fois le traffic dépassé, nous ne
limiterons pas la vitesse de transfert mais nous afficherons une page de status 503 ! <VirtualHost 192.168.0.152>
ServerName www.bureau.lan
ServerAdmin [email protected]
DocumentRoot /var/www
CBandLimit 100M
CBandExceededURL http://www.generation-linux.net/scripts/traffic_exceeded.html
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
</VirtualHost>
Redémarrer Apache: /etc/init.d/apache2 restart
4. La page status du serveur en mode graphique:
Pour avoir une vue globale des limitations de vitesses, de l&rsquo;utilisation, du quota, du nombre
d&rsquo;utilisateurs...etc... Ajoutons la directive Location à notre fichier de configuration de notre virtualhost, comme ceci:
<VirtualHost 192.168.0.152>
ServerName www.bureau.lan
ServerAdmin [email protected]
DocumentRoot /var/www
CBandLimit 100M
CBandExceededSpeed 128 5 15
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
<Location /cband-status>
SetHandler cband-status
</Location>
<Location /cband-status-me>
SetHandler cband-status-me
</Location>
</VirtualHost>
Redémarrons une dernière fois Apache et dirigeons-nous vers : http://www.bureau.lan/cband-status
Exemple: http://dembol.nasa.pl/cband-status
Enjoy !
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 14 February, 2017, 23:33