El fin de semana pasado me di a la tarea de probar el paquete bandwidthd en un server con openbsd, el programa es un reporteador de trafico de red, la interfaz es web y clama de no comer muchos recursos, si bien dice que corre sobre openbsd, al no haber un port, se tuvieron que hacer bastantes mexicanadas…

1.- Se baja el source de http://bandwidthd.sourceforge.net/
2.- Se descomprime
3.- Se corre ./configure, aqui la primer tronada:

checking for png_read_info in -lpng… no
configure: error: Bandwidthd requires but cannot libpng

Bueno, googleando halle que se resuelve con….

# ./configure CFLAGS=-lz

Pero ahora…

checking for gdImageCreate in -lgd… no
configure: error: Bandwidthd requires but cannot find libgd

Pots, bueno, a gooooglear, y el gooogle no dejo nada, tonces como todo buen mexican curios, edite el script Configure y me brinque ese check…

cambie

echo “$as_me: error: Bandwidthd requires but cannot find libgd” >&2;}
{ (exit 1); exit 1; }; }

por

echo “$as_me: error: Bandwidthd requires but cannot find libgd” >&2;}
{ (pwd); pwd; }; }

Y el script configure jalo completo, pero al momento de dar make, me salieron un resto de….

graph.o(.text+0×140b): In function `GraphIp’:
: undefined reference to `gdImageCreate’

Como ora si que no C nada de C, le pregunte a un Gulpeador que si le mueve y me ilumino

cambiando en el Makefile:

LDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib -lpq -lpcap -lpng -liconv -lm -lresolv

por

LDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib -lttf -ljpeg -lgd -lpq -lpcap -lpng -liconv -lm -lresolv

voala, ora si compilo….

Solo faltaba la configuracion de apache…

Como el apache corre chrooteado en /var/www movi los archivos html y cree un link simbolico desde /usr/local

# cd /usr/local
# mv bandwidthd /var/www/
ln -s /var/www/bandwidthd/ .

Ora a crear el alias en la config de Apache

Alias /band/ “/var/www/bandwidthd/htdocs/”

directory “/var/www/bandwidthd/htdocs/”

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

/directory

Se reinicia apache, se edita bandwidthd.conf donde se le pone la interfaz de red donde va a monitorear y se arranca finalmente el programa bandwidthd…

band