Installing mod_bandwidth For the Ultimate in Apache Utilization Control Published: Aug 03, 2004
  • Rating

    0/5

Apache module mod_bandwidth allows you to completely control a users Apache utilization. Limit bandwidth per second, number of concurrent connections, file sizes and more.

"Mod_bandwidth" is a module for the Apache webserver that enables the setting of server-wide or per connection bandwidth limits, based on the directory, size of files and remote IP/domain.  Installing this module involves a number of steps, but it is fairly simple to accomplish.

Reprints and reposting of this article is NOT AUTHORIZED without the express consent of the author.  Permission to link to this article from other locations is hereby granted.

SSH into your server as root and perform the following:

mkdir /root/modbw

cd modbw

wget ftp://ftp.cohprog.com/pub/apache/module/1.3.0/mod_bandwidth.c

/usr/local/apache/bin/apxs -c /root/mbw/mod_bandwidth.c -o /usr/local/apache/libexec/mod_bandwidth.so
(The above is all one command)

mkdir /usr/local/apache/apachebw

mkdir /usr/local/apache/apachebw/link

mkdir /usr/local/apache/apachebw/master

chown nobody:nobody -R /usr/local/apache/apachebw

pico /etc/httpd/conf/httpd.conf

Find the line that looks like this:

LoadModule rewrite_module     libexec/mod_rewrite.so

And BEFORE that line, add this:

LoadModule bandwidth_module   libexec/mod_bandwidth.so

Then locate the line that looks like this:

AddModule mod_env.c

and BEFORE that line, add this:

AddModule mod_bandwidth.c

Then locate the line that looks like this:

# Document types.

And BEFORE that line add this:

BandWidthDataDir "/usr/local/apache/apachebw"
BandWidthModule On

Then to enable it on a virtual host, locate the virtualhost entry for the
domain you wish to limit and just BEFORE the </virtualhost> line, add
this:

BandWidthModule On
BandWidth all 512

The 512 can be replaced with whatever rate you want to limit it to in
bytes per second.

Save the httpd.conf file.

service httpd restart

cd /usr/sbin

wget ftp://ftp.cohprog.com/pub/apache/module/cleanlink.pl

chmod 755 cleanlink.pl

pico cleanlink.pl

Change $LINKDIR as follows:

$LINKDIR="/usr/local/apache/apachebw/link";

Save the file.

perl cleanlink.pl

pico /etc/rc.d/rc.local

At the end of that file add:

# Launch Cleanlink for mod_bandwidth
perl /usr/sbin/cleanlink.pl

Save that file.

There is actually a lot more you can do with this module than simply limiting the bandwidth rates.  You can limit the number of connections, file sizes and more.  I encourage you to read the documentation located here for all the deatils of everything you can sutomize with this module.

 

  • Rating

    0/5

Related Articles

Comments (2)

  • Gravatar - Nex
    Nex 02:38, January 20, 2005
    this command is not wright<br />
    <br />
    /usr/local/apache/bin/apxs -c /root/mbw/mod_bandwidth.c -o /usr/local/apache/libexec/mod_bandwidth.so <br />
    <br />
    <br />
    <br />
    and this is wright<br />
    <br />
    /usr/local/apache/bin/apxs -c /root/modbw/mod_bandwidth.c -o /usr/local/apache/libexec/mod_bandwidth.so
  • Gravatar - Aleksandr
    Aleksandr 11:46, April 23, 2005
    mod_bandwidth doesn't affect the php output in mod_php env (we will make tests with phpsuexec soon) - are you aware about php issues? How they could get fixed?

Add Your Thoughts

WebHostGear.com is a hosting directory, not a web host.

Copyright © 1998-2017 WebHostGear.com