I'm now (may 20, 2005) running Clamav 0.85.1 with MPP free and CommuniGate Pro 4.3.1 on Mac OSX 10.3.8.

It's a typical Belgian "SMB" (1-50 employees) setup, CommuniGate Pro 50 users, running on a G4 QuickSilver 867mhz, single processor, 1,5 GB Ram. Connected to the World over xDSL with fixed IP, behind a FireWall/NAT.
The (relatively) big amount of RAM is not really necessary for what is described here.

Although MPP free includes clamav, MessagePartners advises us to go with a self installed version of clamav, and use the clamd included with that install instead, due to licencing issues, which do not exist for the clamd version/portion of clamav. The bundled clamav will never get updated, because of these licencing issues.
Clamav has gone up from 0.83 to 0.85.1 in the mean time, and you really want the latest as it is far better at scanning archived attachments than 0.83.


Here's sort of what I did to get this working.
I am not a Unix expert, just a Mac user with some OSX experience, and the ability to copy/past things in Terminal.
Please let me know whether this was helpful, or — you Nix-guru's out there — think I got it all wrong.

We presume you have:

1) In Webmin configuration-WebMin Modules
install the latest MPP module (2.12 when this was written) from ftp://ftp.raeinternet.com/pub/mpp/rae-mpp.wbm

2) Install Clamav latest (0.85.1 when writing this).
The Mac OSX instructions included in the download do not really apply, as MPP needs to have clamd running as root.

First, create user and group clamav (we don't really need them, but clamav will not install if they don't exist).
$ niutil -create . /groups/clamav
$ niutil -createprop . /groups/clamav gid 200
$ niutil -createprop . /groups/clamav realname 'clamav'

$ niutil -create . /users/clamav
$ niutil -createprop . /users/clamav uid 200
$ niutil -createprop . /users/clamav gid 200
$ niutil -createprop . /users/clamav passwd '*'
$ niutil -createprop . /users/clamav realname 'clamav'

Download GMP from http://www.swox.com/gmp
Download CLAMAV from http://clamav.net/stable.php#pagestart
Unpack the archives (Expander will do)

cd into the gmp-4.1.4 folder
Build gmp (needed for freschlam update script)
$ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --enable-devel
$ make; sudo make install

cd into the clamav-0.85.1 folder
Build clamav$ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --enable-bigstack
$ make; sudo make install

3) Edit 2 config files (I use BBedit)
$ sudo bbedit /etc/freshclam.confcomment line 9
# Exampleuncomment & change line 55
DatabaseMirror db.XY.clamav.net (XY -> your own country code)

$ sudo bbedit /etc/clamd.confComment line 8
# Exampleuncomment lines 80 & 87
TCPSocket 3310
TCPAddr 127.0.0.1
Make sure line 72 & 144 are commented
# LocalSocket /tmp/clamd
# User clamav

4) Run freshclam to see if it works
$ sudo /usr/bin/freshclamClamAV update process started at Fri May 20 09:45:37 2005
main.cvd is up to date (version: 31, sigs: 33079, f-level: 4, builder: tkojm)
Downloading daily.cvd [*]
daily.cvd updated (version: 887, sigs: 1460, f-level: 5, builder: arnaud)
Database updated (34539 signatures) from db.be.clamav.net (IP: 212.71.0.71)

5) Check where clamd is (MPP looks for it in /usr/sbin)
On my setup, clamd is in /usr/local/sbin, so we
make a symlink:
$ ln -s /usr/local/sbin/clamd /usr/sbin/clamd

6) Start clamd as root:
$ sudo -sroot# /usr/local/sbin/clamdFire up Activity Monitor, clamd process should be there

7) In Webmin-Server-MPP Panel-Configure
Change the scanner in the "scanners to use" pop-up menu from clamav to clamd
Set loggin level to DEBUG
Save & Restart MPP
Watch MPP log. Ignore what is in line #4 in this example, it's OK (debug info for the developers).

[12:11:40] 8 [31232] [ClamdScannerJob] {Queue/1590061.msg} Connecting to clamd...
[12:11:40] 8 [31232] [clamd::connect] trying to set up connection
[12:11:40] 8 [31232] [clamd::connect] making attempt
[12:11:40] 8 [31232] [clamd::connect] this attempt result==-1, err=36 Operation now in progress
[12:11:40] 8 [31232] [clamd::connect] waiting for connection
[12:11:40] 8 [31232] [ClamdScannerJob] {Queue/1590061.msg} Request: SCAN /usr/local/MPP/working/20050517_121140_4517a00.83
[12:11:40] 8 [31232] [clamd::query] sending request
[12:11:40] 8 [31232] [clamd::query] awaiting response
[12:11:40] 8 [31232] [clamd::query] got response
[12:11:40] 8 [31232] [ClamdScannerJob] {Queue/1590061.msg} Clamd query succeeded.
[12:11:40] 8 [31232] [ClamdScannerJob] {Queue/1590061.msg} Clamd response: /usr/local/MPP/working/20050517_121140_4517a00.83: OK
[12:11:40] 8 [31232] [GenericScannerJob] {Queue/1590061.msg} Remove file.
[12:11:40] 8 [31232] [GenericScannerJob] {Queue/1590061.msg} Scanner returned : 0x00000001
[12:11:40] 8 [31232] [Thread] [debug] Processing time: 0 ms

If you get errors like:
[09:47:35] 2 [41452] [Daemon] Failed to start clamd. Operation not permitted.
[09:47:35] 2 [41452] [Daemon] Restart failed.

Read this
http://www.messagepartners.com/support/faqs.php#130

8) Make a Cron for the updates
In Webmin-System-Scheduled Cron Jobs
/usr/bin/freshclam as root with a decent frequency (every 6 hours in my setup).

--------
MPP mailing list:
mpp-subscribe [AT] raeinternet [DOT] com

MPP offers reasonably priced support too, even for the free edition.
http://raeinternet.com/choose_support.html

---------
MPP is a very promising product, and the developers are very responsive and dedicated to the Mac Platform.
There are other ways for CGP to interface with Clamav, but MPP free seems to me the easiest solution for Mac OSX.


I also have MPP free talking to Spamassassin 3.03, but that's another sandwich.


patrick [AT] triksys [DOT] com