Monday, May 31, 2010

Building HAVP On CentOS 5.x

 HAVP (HTTP Antivirus Proxy) is a proxy with a ClamAV anti-virus scanner. The main aims are continuous, non-blocking downloads and smooth scanning of dynamic and password protected HTTP traffic. Havp antivirus proxy has a parent and transparent proxy mode. It can be used with squid or standalone. Its older rpms & src.rpms (0.86) don't work (i.e. conflict with the updated clamav), and newer rpm * src.rpm don't exist yet. So HAVP needs to be re-compiled. This guide shows how to build HAVP on CentOS 5.x.


Tested environment

OS: Linux (Centos 5.X)
HAVP Version: havp-0.89
Prerequisites: clamav devel packages

(Disclaimer: The following method that has been adopted is to get things done. There are other ways to achieve this. Use whatever works for you.)

Advisory: It is recommend that you build packages on non-production servers. And even on non-productions server, use a fakeroot environment to build packages (superuser method demonstrated in this howto).


Building HAVP

Clean your /usr/src/redhat/BUILD, SOURCES & SPECS folder, if you already have any havp src.rpm installed.

rpmbuild -bb --rmsource --rmspec havp.spec

Download the the “patch” file & the source code of havp:

cd /usr/src/redhat/SOURCES

wget http://svn.rpmforge.net/svn/trunk/rpms/havp/havp-init.patch

wget http://www.server-side.de/download/havp-0.89.tar.gz

Download the “spec” file:

cd /usr/src/redhat/SPECS

wget http://svn.rpmforge.net/svn/trunk/rpms/havp/havp.spec

Now start building the rpm (from the same “SPECS” folder):

rpmbuild -bb havp.spec

After a minute or so you should have couple of .rpms built in your /usr/src/redhat/RPMS/i386 folder (depending upon your processor architecture - mine is i386) .
Click here to find out more!

Sample ls output:

[root@mail i386]# pwd
/usr/src/redhat/RPMS/i386
[root@mail i386]# ls -l havp*
-rw-r--r-- 1 root root 195606 Mar 28 15:14 havp-0.89-1.i386.rpm
-rw-r--r-- 1 root root 528596 Mar 28 15:14 havp-debuginfo-0.89-1.i386.rpm
[root@mail i386]#

No comments: