Install needed software
pkg install gsed wget SUNWapch22 sunstudioexpress
Yes, sunstudioexpress is really necessary. gcc will NOT work with mod_bw.
Download mod_bw
cd /tmp
wget http://ivn.cl/files/source/mod_bw-0.8.tgz
gunzip mod_bw-0.8.tgz
tar xf mod_bw-0.8.tar
cd mod_bw
Build/install the module. We need to make sure the SunStudioExpress binaries are chosen before anything else, so add it to the beginning of PATH.
export PATH=/opt/SunStudioExpress/bin:$PATH
We also need to make a symlink to /usr/ucb/echo (this is a bug with the apxs included in opensolaris, not with mod_bw)
mkdir /usr/ucb
ln -s /usr/bin/echo /usr/ucb/echo
Now cross your fingers and build the module
/usr/apache2/2.2/bin/apxs -i -a -c mod_bw.c
If it complains about .h files, you can find them here:
/usr/apache2/2.2/include
/usr/apr/1.3/include
/usr/apr-util/1.3/include
Once apxs finishes, it should automatically add the following entry to /etc/apache2/2.2/conf.d/modules-32.load
LoadModule bw_module /var/apache2/2.2/libexec/mod_bw.so
Add the following to /etc/apache2/2.2/httpd.conf
BandWidthModule On
BandWidth all 40000
MinBandWidth all 10000
ForceBandWidthModule On
Restart apache2 and check on it’s status
svcadm restart apache22
svcs -a | grep apache22
online 1:55:27 svc:/network/http:apache22
If it’s in maintenance mode, check the log file
/var/svc/log/network-http:apache22.log