Gestione della banda in Apache: differenze tra le versioni

Riga 1: Riga 1:
=Introduzione=
==Introduzione==
Questo articolo affronta il problema della gestione della banda in Apache (Ver. 1 e Ver. 2), mostrando come installare e configurare tre diversi moduli utilizzabili a tale fine:
==mod_bandwidth==
* HomePage: http://www.cohprog.com/mod_bandwidth.html
* Licenza: Apache Group licence
* Copyright: Yann Stettler and CohProg S�RL
* Versione Apache: 1
==bw_mod==
* HomePage: http://www.ivn.cl/apache/
* Licenza: Apache 2.0 License/[http://www.ivn.cl/apache/LICENSE.txt Ivn Project License]
* Copyright: Ivan Barrera A.
* Versione Apache: 2
==mod_bwshare==
* HomePage: http://www.topology.org/src/bwshare/README.html
* Licenza: [http://www.topology.org/src/bwshare/LICENCE Alan Kennington's modified Artistic Licence]
* Copyright: Alan Kennington
* Versione Apache: 1 e 2


=Installazione=
Questo howto nasce dopo due giornate passate a navigare alla ricerca di un metodo per ridurre la banda in uscita del server web Apache, a livello di server e/o a livello di virtual host.
 
Problemi con il modulo a parte, che hanno dilatato moltissimo i tempi necessari per avere una soluzione funzionante, questa soluzione risulta essere molto facile, ed a sua volta anche molto potente e versatile.
 
 
==Installazione==


==mod_bandwidth==
Il modulo '''mod_bandwidth''' � installato di default insieme al server apache; lo possiamo trovare in '''/usr/lib/apache/1.3/'''.
Il modulo '''mod_bandwidth''' � installato di default insieme al server apache; lo possiamo trovare in '''/usr/lib/apache/1.3/'''.
Se questo modulo dovesse dare problemi (esempi: non imposta correttamente la banda, ma sembra che i limiti che impostiamo siano visti come bit e non come byte, non accetta la direttiva MaxConnection), vi consiglio di reinstallarlo come descritto qui sotto.
Se questo modulo dovesse dare problemi (esempi: non imposta correttamente la banda, ma sembra che i limiti che impostiamo siano visti come bit e non come byte, non accetta la direttiva MaxConnection), vi consiglio di reinstallarlo come descritto qui sotto.
Riga 28: Riga 16:
<pre>
<pre>
# apt-get install apache-dev
# apt-get install apache-dev
</pre>
<pre>
* ora siamo pronti per compilare:
* ora siamo pronti per compilare:
<pre>
<pre>
Riga 67: Riga 55:
</pre>
</pre>


==bw_mod==
Come prima cosa procuriamoci il modulo dal [http://www.ivn.cl/apache/ sito dello sviluppatore]. A questo punto estraiamolo:
<pre># tar vzxf bw_mod-6.0.tgz</pre>
spostiamoci nella cartella appena creata (''bw_mod-6.0.tgz'') e verifichiamo che sia presente il file ''bw_mod-6.0.c''.


Ora, per poter compilare il nostro modulo, ci servono gli strumenti per farlo: nel nostro caso dovremo installare, tramite apt-get, il pacchetto '''apache2-dev''':
==Configurazione==
<pre># apt-get install apache2-dev</pre>
Bene, ora compiliamo tramite il comando ''/usr/bin/apsx2'':
<pre># /usr/bin/apxs2 -i -a -c bw_mod-0.6.c</pre>
Se non ci sono errori, possiamo procedere. Alla fine della compilazione sono state automaticamente aggiunte queste righe al file ''/etc/apache2/httpd.conf'':
<pre>Include /etc/apache2/sysconfig.d/loadmodule.conf
LoadModule bw_module /usr/lib/apache2/bw_mod-0.6.so</pre>
{{Box | Nota |Apache2 usa come file di configurazione ''/etc/apache2/apache2.conf''; tuttavia, per retrocompatibilit�, � presente anche un file ''/etc/apache2/httpd.conf'' in cui vengono inseriti solitamente gli "includes" dei moduli di terze parti laddove questi non usino il sistema '''mods-available/mods-enabled'''.


In questo caso non dobbiamo preoccuparci, in quanto nel file ''apache2.conf'' c' un richiamo a ''httpd.conf''.}}
==mod_bwshare==
=Configurazione=
==mod_bandwidth==
Ora configuriamo apache per utilizzare mod_bandwidth.<br/>
Ora configuriamo apache per utilizzare mod_bandwidth.<br/>
Aggiungiamo il modulo al file '''/etc/apache/modules.conf'''. Per fare questo abbiamo due possibilit�:
Aggiungiamo il modulo al file '''/etc/apache/modules.conf'''. Per fare questo abbiamo due possibilit�:
Riga 114: Riga 84:
</pre>
</pre>


===Note per il corretto funzionamento===
Per ottenere risultati, importante che non ci siano dei link morti nella directory '''link''' di mod_bandwidth, quando viene eseguito avviato il server con il modulo attivo.


Potrebbe essere una buona idea, a questo scopo, eseguire lo script '''cleanlink.pl''', che provvede a rimuovere automaticamente i link morti.
Bene, ora possiamo analizzare i parametri che di mette a disposizione mod_bandwidth.


(Le descrizioni di seguito sono la traduzione libera + approfondimenti del manuale reperibile sul sito del traduttore)




==Direttive globali di configurazione==
===Direttive globali di configurazione===


==='''BandWidthDataDir'''===
===='''BandWidthDataDir'''====
'''Sintassi''': BandWidthDataDir <directory><br/>
'''Sintassi''': BandWidthDataDir <directory><br/>
'''Default''': "/tmp/apachebw"<br/>
'''Default''': "/tmp/apachebw"<br/>
Riga 130: Riga 99:




==='''BandWidthModule'''===
===='''BandWidthModule'''====
'''Sintassi''': BandWidthModule <On|Off><br/>
'''Sintassi''': BandWidthModule <On|Off><br/>
'''Default''': Off<br/>
'''Default''': Off<br/>
Riga 139: Riga 108:




==='''BandWidthPulse'''===
===='''BandWidthPulse'''====
'''Sintassi''': BandWidthPulse <microseconds><br/>
'''Sintassi''': BandWidthPulse <microseconds><br/>
'''Default''':<br/>
'''Default''':<br/>
Riga 154: Riga 123:




==Direttive per la configurazione di Directory e/o VirtualServer==
===Direttive per la configurazione di Directory e/o VirtualServer===


==='''BandWidth'''===
===='''BandWidth'''====
'''Sintassi''': BandWidth <domain|ip|all> <rate><br/>
'''Sintassi''': BandWidth <domain|ip|all> <rate><br/>
'''Default''': none<br/>
'''Default''': none<br/>
Riga 177: Riga 146:




==='''LargeFileLimit'''===
===='''LargeFileLimit'''====
'''Sintassi''': LargeFileLimit <filesize> <rate><br/>
'''Sintassi''': LargeFileLimit <filesize> <rate><br/>
'''Default''': none<br/>
'''Default''': none<br/>
Riga 196: Riga 165:




==='''MaxConnection'''===
===='''MaxConnection'''====
'''Sintassi''': MaxConnection <connections><br/>
'''Sintassi''': MaxConnection <connections><br/>
'''Default''': 0 (illimitate)<br/>
'''Default''': 0 (illimitate)<br/>
Riga 204: Riga 173:




==='''MinBandWidth'''===
===='''MinBandWidth'''====
'''Sintassi''': MinBandWidth <domain|ip|all> <rate><br/>
'''Sintassi''': MinBandWidth <domain|ip|all> <rate><br/>
'''Default''': all 256<br/>
'''Default''': all 256<br/>
Riga 229: Riga 198:
Ovviamente, la velocit� di trasferimento totale non potr� mai superare la vostra larghezza di banda...
Ovviamente, la velocit� di trasferimento totale non potr� mai superare la vostra larghezza di banda...


{{Box|NOTA:|Se ad una richiesta devono essere applicati sia un limite impostato nella direttiva "BandWidth" sia uno impostato nella direttiva "LargeFileLimit", verr� applicato il pi� piccolo (ma mai minore a quello eventialmente indicato nella direttiva "MinBandWidth")}}
'''NOTA:'''
Se ad una richiesta devono essere applicati sia un limite impostato nella direttiva "BandWidth" sia uno impostato nella direttiva "LargeFileLimit", verr� applicato il pi� piccolo (ma mai minore a quello eventialmente indicato nella direttiva "MinBandWidth") .
 
 
==Eseguiamo Apache con mod_bandwidth==
 
Per ottenere risultati, � importante che non ci siano dei link morti nella directory '''link''' di mod_bandwidth, quando viene eseguito avviato il server con il modulo attivo.


Potrebbe essere una buona idea, a questo scopo, eseguire lo script '''cleanlink.pl''', che provvede a rimuovere automaticamente i link morti.




=Conclusione=
==Conclusione==


Con questo modulo � possibile, in breve tempo e con la massima semplicit�,
Con questo modulo � possibile, in breve tempo e con la massima semplicit�,
Riga 240: Riga 216:
comporterebbe lentezza nelle risposte dei vari servizi e della navigazione su
comporterebbe lentezza nelle risposte dei vari servizi e della navigazione su
internet.
internet.
---- [[User:MaXeR|MaXeR]]
56

contributi