ClamAV Email Checking on a Shared Host
This guide is designed for users who have a shared hosting account (no root access), namely on DreamHost. We will make use of ClamAV, procmail, and ClamAssassin.
Note that I have installed everything in a ~/packages folder, which the previously mentioned guide does not do, so you should adjust accordingly. I also installed a more recent version of SpamAssassin than the previous guide (3.1.8 vs 3.1.0).
Install ClamAV
mkdir ~/install_files
mkdir ~/packages
cd ~/install_files
wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.90.1.tar.gz
tar xvzf clamav-0.90.1.tar.gz
cd clamav-0.90.1
./configure --prefix=$HOME/packages --disable-clamav
make
make install
The --disable-clamav flag allows the package to be installed without a special user for clamav.
Modify Your Environment Variables
In your ~/.bash_profile, add the
export PATH="$HOME/packages/bin:$PATH"
At the console enter:
source ~/.bash_profile
Set up ClamAV
In ~/packages/etc/clamd.conf, comment out the line "Example". In ~/packages/etc/freshclam.conf, comment out the line "Example".
Install ClamAssassin
ClamAssassin is a wrapper for ClamAV for use in procmail.
cd ~/install_files
wget http://drivel.com/clamassassin/clamassassin-1.2.4.tar.gz
tar xvzf clamassassin-1.2.4.tar.gz
cd clamassassin-1.2.4
./configure --prefix=$HOME/packages --disable-clamdscan --enable-subject-rewrite
make install
The --disable-clamdscan flag forces ClamAssassin to use clamscan rather than clamd (you don't have to open any ports for a daemon). The --enable-subject-rewrite[=message] flag prepends an alert[=message] to the subject line of the email. Add an entry to ~/.procmailrc to call ClamAssassin and move the email if a virus is found :
# Scan for virii with clamassassin
:0fw
| $HOME/packages/bin/clamassassin
# Send virus email to special folder
:0:
* ^X-Virus-Status: Yes
.virus/
Update ClamAV
Update with FreshClam in your crontab
freshclam
crontab -e
Add this line, to update the virus definitions at 1 AM everyday:
0 1 * * * /home//packages/bin/freshclam
Test
Send an email to yourself, you should see the X-Virus-Status header (view all the headers). On thunderbird, go to View > Headers > All. You should see
(Optional) Clean up the install dir
cd ~/install_files
rm -rf *