System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Compilation, Installation et Configuration de mod_cband

mod_cband.jpg

Un module à connaître pour apache2.

Ce module pour apache2 (uniquement) vous permettra d'établir des restrictions de bande passante, de mettre en place des quotas sur le trafic par un utilisateur ou, de limiter la vitesse de téléchargement pour un utilisateur, session, ou de restreindre le nombre de téléchargements simultanés par ip par exemple.

Téléchargement :

Vous trouverez ce module à cette adresse : http://codee.pl/cband.html

cd /opt/SOURCES
 wget http://cband.linux.pl/download/mod-cband-0.9.7.5.tgz

Compilation :

tar xvzf mod-cband-0.9.7.5.tgz
cd mod-cband-0.9.7.5

Vous avez la possibilité d'utiliser la commande ./configure --help pour connaître les options de compilation disponible afin d'adapter le module a votre installation d'apache2

./configure --with-apxs=/opt/httpd/bin/apxs
make
make install

Si vous rencontrez des erreurs au make et au make install il est possible qu'il vous manque des paquets devel : exemple : apr-dev

Maintenant n'oubliez pas de rajouter ceci dans votre httpd.conf ou apache2.conf selon votre installation d'apache :

LoadModule cband_module       modules/mod_cband.so
et
CBandScoreFlushPeriod 1

CBandRandomPulse On

Il paraitrait que ces deux dernières options sont importante pour les performances du module.

  • CBandScoreFlushPeriod inscrit à X nombre de requêtes le total de la consommation dans le tableau.
  • CBandRandomPulse améliore le traitement de la limitation de téléchargement ce qui entraîne une économie du cpu.

Relancez votre apache et vérifiez que le module cband est bien chargé avec la commande suivante :

apachectl -t -D DUMP_MODULES

Pour aller plus loin dans la configuration voici l'url de la documentation officielle : http://codee.pl/cband_documentation.html

Notes :

Légende :

Le temps :

  • S = Seconde
  • M = Minutes
  • H = Heure
  • D = Jour
  • W = Semaine

Par défaut : S

Vitesse bande passante :

  • kbps = 1024 bits est égal à 1Kbp par seconde.
  • Mbps = 1024*1024 bits est égal à 1000Kbp soit 1Mbp par seconde.
  • Gbps = 1024*1024*1024 bits est égal à 1000Mbp soit 1Gbp par seconde.

Par défaut : kbps

Limitation quotas :

  • K = 1000 bytes
  • Ki = 1024 bytes est égal à 1Kb.
  • Mi = 1024*1024 bytes est égal à 1000Kb soit 1Mb.
  • Gi = 1024*1024*1024 bytes est égal à 1000Mb soit 1Gb.

Par défaut : K

Configuration dans vos Virtualhosts :

Ces exemples sont à utiliser dans la configuration de vos vhosts.

Pour obtenir une page d'information sur le status et le fonctionnement de cband mettez ceci dans vos vhosts :

<Location /cband-status>
  SetHandler cband-status
</Location>
<Location /cband-status-me>
  SetHandler cband-status-me
</Location>

Exemple 1 :

CBandSpeed 4096 20 30
CBandRemoteSpeed 20kb/s 4 4 

Traduction :

  • CBandSpeed 4096 20 30 définie une limitation de la bande passante à 4 Mbps, 20 requêtes maximum par secondes et 30 connexions simultanées à ce site pour tout le monde.
  • CBandRemoteSpeed 20kb/s 4 4 fait la même chose que CBandSpeed mais par ip.

Exemple 2 :

CBandLimit 400M
CBandPeriod 2W
CBandScoreboard /var/www/cband/monitoring-cband

Traduction :

  • Si le quota est dépassé pas de restriction mises en place, une page d'erreur s'affichera.

Exemple 3 :

CBandLimit 200M
CBandExceededURL http://www.system-linux.org/info-quota.php
CBandScoreboard /var/www/cband/monitoring-cband
CBandPeriod 4W
  • Redirection automatique vers la page info-quota.php du site http://www.system-linux.org/ si le quota de bande passante est atteint.

Bonne découverte à vous et n'hésitez pas à nous faire vos remontées d'expériences :)

Par GanGan | le lundi, décembre 28 2009 07:00