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’abord inclure ces deux directives au fichier de configuration principal d’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’affichage du tableau graphique du traffic et de la bande passante. Le serveur doit avoir les droits d’é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’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’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’utilisation, du quota, du nombre d’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