qmail + vpopmail + dspam + courier-imap on freebsd 7
FreeBSD comes with all you need with the setup. There is no need to do it from source. In this example, I'll install qmail, vpopmail w/o RDBMS backend, dspam, and courier-imap.References
http://www.bsdguides.org/guides/freebsd/mailserver/qmail+vpopmail+qmailadmin.phphttp://freebsd.qmailrocks.org/vpopmail.htm
http://sylvestre.ledru.info/howto/howto_qmail_vpopmail.php#qmail.install
http://gentoo-wiki.com/Dspam_vpopmail#DSPAM_with_vpopmail
DAEMONTOOLS
make install cleanUCSPI-TCP
- RBL2SMTPDmake install clean
QMAIL
- QMAILQUEUE_PATCH- Maildir+ +
make install clean
/var/qmail/rc
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ /usr/local/bin/multilog t /var/log/qmail qmaill
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ /usr/local/bin/multilog t /var/log/qmail qmaill
QMAIL-CONF
make install clean- unlink /usr/local/etc/rc.d/qmail.sh
- /var/qmail/bin/qmail-pop3d-conf /usr/local/vpopmail/bin/vchkpw qmaill /var/qmail/service/pop3d
cd /var/qmail/service/pop3d/ echo ":allow" > tcp echo "200" > env/CONCURRENCY make
- /var/qmail/bin/qmail-smtpd-conf qmaild qmaill /var/qmail/service/smtpd
cd /var/qmail/service/smtpd/ echo "200" > env/CONCURRENCY echo '127.0.0.1:allow,RELAYCLIENT=""' > tcp echo ":allow" >> tcp make
replace run with the following
run
#!/bin/sh
exec 2>&1 \
envdir ./env \
sh -c '
case "$REMOTENAME" in h) H=;; p) H=p;; *) H=H;; esac
case "$REMOTEINFO" in r) R=;; [0-9]*) R="t$REMOTEINFO";; *) R=R;; esac
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec envuidgid qmaild \
softlimit ${DATALIMIT+"-d$DATALIMIT"} \
/usr/local/bin/tcpserver \
-vDU"$H$R" \
${LOCALNAME+"-l$LOCALNAME"} \
${BACKLOG+"-b$BACKLOG"} \
-c 200 -x tcp.cdb -u $QMAILDUID -g $NOFILESGID 0 25 \
rblsmtpd -r bl.spamcop.net \
/var/qmail/bin/qmail-smtpd /usr/local/vpopmail/bin/vchkpw /usr/bin/true
'
exec 2>&1 \
envdir ./env \
sh -c '
case "$REMOTENAME" in h) H=;; p) H=p;; *) H=H;; esac
case "$REMOTEINFO" in r) R=;; [0-9]*) R="t$REMOTEINFO";; *) R=R;; esac
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec envuidgid qmaild \
softlimit ${DATALIMIT+"-d$DATALIMIT"} \
/usr/local/bin/tcpserver \
-vDU"$H$R" \
${LOCALNAME+"-l$LOCALNAME"} \
${BACKLOG+"-b$BACKLOG"} \
-c 200 -x tcp.cdb -u $QMAILDUID -g $NOFILESGID 0 25 \
rblsmtpd -r bl.spamcop.net \
/var/qmail/bin/qmail-smtpd /usr/local/vpopmail/bin/vchkpw /usr/bin/true
'
chown qmaild /var/qmail/bin/qmail-smtpd
chmod 755 /var/qmail/rc
/var/qmail/bin/qmail-delivery-conf qmaill /var/qmail/service/qmail
mkdir /var/log/qmail
chmod 750 /var/log/qmail
chown qmaill /var/log/qmail
Testing rblsmtpd
$ rblsmtpd -r bl.spamcop.net /var/qmail/bin/qmail-smtpd rblsmtpd: pid 18584: 451 v=spf1 -all 220 rblsmtpd.local $ export TCPREMOTEIP=127.0.0.2 $ rblsmtpd -r bl.spamcop.net /var/qmail/bin/qmail-smtpd rblsmtpd: 127.0.0.2 pid 18586: 451 Blocked - see http://www.spamcop.net/bl.shtml?127.0.0.2
VPOPMAIL w/o mysql integration
make install cleanIt installs to /usr/local/vpopmail.Then do the usual vadddomain and vadduser to create users.
VQADMIN
make install cleanhttpd.conf
<Directory "/usr/local/www/cgi-bin-dist/vqadmin">
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
.htaccess
AuthType Basic
AuthUserFile /path/to/password/file/.htpasswd
AuthName vQadmin
require valid-user
satisfy any
AuthUserFile /path/to/password/file/.htpasswd
AuthName vQadmin
require valid-user
satisfy any
- htpasswd -bc /path/to/password/file/.htpasswd admin admin_password
- http://localhost/cgi-bin/vqadmin/vqadmin.cgi
DSPAM
make install cleanTo integrate Dspam with vpopmail, go to each domain and edit the .qmail-default file
.qmail-default
| /usr/local/bin/dspam --deliver=innocent --feature=noise --user $EXT@$USER --stdout | /usr/local/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Also, configure /usr/local/etc/dspam.conf with the following options:
- Add Trust vpopmail to
- Change storage driver /usr/local/lib/libhash_drv.so
- QuarantineMailbox +quarantine
- Preference "signatureLocation=headers"
MAILDROP (Optional)
make install cleanCOURIER-IMAP
- enable AUTH_VCHKPW- courier-authlib-vchkpw-0.60.2 as a dependency
- /usr/lib/courier-imapd/etc/imapd add/replace the followings
IMAPDSTART=YES
- /usr/local/etc/authlib/authdaemonrc
authmodulelist="authuserdb authvchkpw"
EZMLM (Optional)
make install cleanQMAIL-AUTORESPONDER
make install cleanQMAILADMIN (Optional)
make install clean- http://localhost/cgi-bin/qmailadmin
- error out, moving on
PROCMAIL (Optional)
I have not used procmail in this example setup.make install clean
/usr/local/etc/procmailrc
|preline procmail -p | /usr/local/vpopmail/bin/vdelivermail '' bounce-no-mailbox
STARTUP
Courier IMAPD$ /usr/local/etc/rc.d/courier-authdaemon forcestart
$ /usr/local/etc/rc.d/courier-imapd-imapd forcestart
Dspam
$ /usr/local/etc/rc.d/dspam forcestart
ADDING QMAIL TO DAEMONTOOLS
ln -s /var/qmail/service/smtpd /service
ln -s /var/qmail/service/pop3d /service
ln -s /var/qmail/service/qmail /service
LOGFILES
/var/log/qmail/current/var/log/smtp/current
/var/log/maillog
There are no comments on this page. [Add comment]