Controle de banda no Apache 1.3.X com mod_bandwidth (Slackware)
Neste artigo informo como controlar a banda de um site ou diretório de um site através do MOD_BANDWIDTH. Eu mesmo criei o pacote tgz para facilitar a instalação e manter o Slackware organizado.
Parte 2: Apache
1. Alterando o httpd.conf
O pacote que eu criei automaticamente cria o arquivo mod_bandwidth.conf dentro de /etc/apache, então para ativar o módulo no Apache basta adicionar as seguintes linhas no httpd.conf:
O pacote que eu criei automaticamente cria o arquivo mod_bandwidth.conf dentro de /etc/apache, então para ativar o módulo no Apache basta adicionar as seguintes linhas no httpd.conf:
# mod_bandwidth
Include /etc/apache/mod_bandwidth.conf
Include /etc/apache/mod_bandwidth.conf
OBS: É essencial que essas linhas sejam adicionadas antes dos seus virtualhosts ou se você não usa virtualhost, coloque-as antes das configurações do site principal.
2. Configurando um virtual host
Abaixo está uma configuração de exemplo:
#www.jpfaria.com
<VirtualHost *:80>
ServerAdmin jpfaria@jpfaria.com
DocumentRoot /home/jpfaria/public_html
ServerName www.jpfaria.com
ServerAlias www.jpfaria.com jpfaria.com
CustomLog /var/log/apache/www-jpfaria-access_log "combined"
ErrorLog /var/log/apache/www-jpfaria-error_log
ScriptAlias /cgi-bin/ /home/jpfaria/cgi-bin/
<Directory /home/jpfaria/public_html/jpf-pkg>
BandWidthModule On
BandWidth all 16384
</Directory>
<Directory /home/jpfaria/cgi-bin/>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin jpfaria@jpfaria.com
DocumentRoot /home/jpfaria/public_html
ServerName www.jpfaria.com
ServerAlias www.jpfaria.com jpfaria.com
CustomLog /var/log/apache/www-jpfaria-access_log "combined"
ErrorLog /var/log/apache/www-jpfaria-error_log
ScriptAlias /cgi-bin/ /home/jpfaria/cgi-bin/
<Directory /home/jpfaria/public_html/jpf-pkg>
BandWidthModule On
BandWidth all 16384
</Directory>
<Directory /home/jpfaria/cgi-bin/>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Como você pode verificar, configurei o diretório "jpf-pkg" para que o limite para todos os hosts sejam de 16kb/s de download. Se eu quisesse que minha rede interna não tivesse limite e somente o resto tivesse eu poderia fazer assim:
<Directory /home/jpfaria/public_html/jpf-pkg>
BandWidthModule On
BandWidth 192.168.254 0
BandWidth all 16384
</Directory>
BandWidthModule On
BandWidth 192.168.254 0
BandWidth all 16384
</Directory>
Na linha "BandWidth 192.168.254 0", estou especificando que a rede 192.168.254 não tem limite, para isso coloquei o 0 para especificar isso.
Existem outras configurações que podem ser feitas, você pode encontrar mais informações em:
Abraços!
Vlw!