ee /root/.bashrc
PS1=”[u@h:w]# “
ee /home/scs/.bashrc
PS1=”[u@h:w]# “
cd /usr/ports/net/cvsup-without-gui
make && make install
cp /usr/share/examples/cvsup/standard-supfile /etc/standard-supfile
cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile
cd /etc/
cvsup -g -L 2 standard-supfile -h cvsup4.freebsd.org
cvsup -g -L 2 ports-supfile -h cvsup4.freebsd.org
cd /usr/ports/lang/perl5.8
make && make install
cd /usr/src
make buildworld
make buildkernel KERNCONF=GENERIC.KERNEL
make installkernel KERNCONF=GENERIC.KERNEL
reboot
make installworld
cd /usr/ports/ftp/proftpd
make && make install
or use the FTP in inetd…works well too
ee /etc/inetd.conf
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l
save changes
ps -ax | grep inetd
kill inetd process and restart it.
cd /usr/ports/www/apache13-modssl
make && make install
ftp – netqmail-1.05.tar.gz,daemontools-0.76.tar.gz,ucspi-tcp-0.88.tar.gz
At this time you probably want to become root, if you’re not already.
su
umask 022
mkdir -p /usr/local/src
mv netqmail-1.05.tar.gz ucspi-tcp-0.88.tar.gz /usr/local/src
mkdir -p /package
mv daemontools-0.76.tar.gz /package
chmod 1755 /package
Now you can unpack the packages.
cd /usr/local/src
gunzip netqmail-1.05.tar.gz
tar xpf netqmail-1.05.tar
cd netqmail-1.05
./collate.sh # watch for errors here
cd ..
gunzip ucspi-tcp-0.88.tar.gz
tar xpf ucspi-tcp-0.88.tar
rm *.tar # optional, unless space is very tight
cd /package
gunzip daemontools-0.76.tar.gz
tar xpf daemontools-0.76.tar
rm *.tar # optional, again
There should now be directories called /usr/local/src/netqmail-1.05, /usr/local/src/ucspi-tcp-0.88, and /package/admin/daemontools-0.76.
2.5.4. Create users and groups
The easiest way to create the necessary users and groups is to create a little script file to do it for you. In the source directory you’ll find a file called INSTALL.ids. It contains the command lines for many platforms, so copying the file to another name and editing that is quick and easy.
cd /usr/local/src/netqmail-1.05/netqmail-1.05
ee IDS, paste the following lines below
pw groupadd nofiles
pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
pw groupadd qmail
pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
Then to run it, either use chmod to make it executable or run it with sh:
First method:
chmod 700 IDS
./IDS
When the script finishes, all of your users and groups will be created and you can go on to the next section.
But what do you do if your system isn’t listed in INSTALL.ids? You’ll have to create them manually. Start by using your favorite editor and editing /etc/group. You need to add the following two lines to the end of the file:
qmail:*:2107:
nofiles:*:2108:
Next, using vipw (most systems have it, if not you’ll need to use your editor again but this time on /etc/passwd) add these lines to the end of the file:
alias:*:7790:2108::/var/qmail/alias:/bin/true
qmaild:*:7791:2108::/var/qmail:/bin/true
qmaill:*:7792:2108::/var/qmail:/bin/true
qmailp:*:7793:2108::/var/qmail:/bin/true
qmailq:*:7794:2107::/var/qmail:/bin/true
qmailr:*:7795:2107::/var/qmail:/bin/true
qmails:*:7796:2107::/var/qmail:/bin/true
2.5.5. Do the build
Now you can start building qmail. Change to the /usr/local/src/netqmail-1.05/netqmail-1.05 directory and let’s get started:
cd /usr/local/src/netqmail-1.05/netqmail-1.05
In the Verify Build Environment section, you located your C compiler. If it’s not called cc or the directory it resides in isn’t in your PATH environment variable, you’ll need to edit conf-cc and conf-ld. Say your compiler is gcc, and it’s in your PATH. Simply edit conf-cc and conf-ld and replace “cc” with “gcc”.
Now type the following:
make setup check
After the build is complete, you’ll need to do your post installation configuration. A couple of scripts are provided to make this job a lot easier.
If your DNS is configured properly, this script should be all you need at this point:
./config
If, for some reason, config can’t find your hostname in DNS, you’ll have to run the config-fast script:
./config-fast the.full.hostname
For example, if your domain is example.com and the hostname of your computer is dolphin, your config-fast line would look like this:
./config-fast dolphin.example.com
2.6. Install ucspi-tcp
Earlier, you unpacked the qmail, ucspi-tcp, and daemontools tarballs. Now change to the ucspi-tcp directory:
cd /usr/local/src/ucspi-tcp-0.88
patch < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
2.7. Install daemontools
Change to the daemontools build directory:
cd /admin/package/daemontools-0.76
cd src
patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
cd ..
package/install
*************************
Supervise scripts creation
*************************
ee /var/qmail/rc
#!/bin/sh
# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages by default
exec env – PATH=”/var/qmail/bin:$PATH”
qmail-start “`cat /var/qmail/control/defaultdelivery`”
*******************
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >/var/qmail/control/defaultdelivery
*******************
ee /var/qmail/bin/qmailctl
#!/bin/sh
# description: the qmail MTA
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
case “$1” in
start)
echo “Starting qmail”
if svok /service/qmail-send ; then
svc -u /service/qmail-send /service/qmail-send/log
else
echo “qmail-send supervise not running”
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
else
echo “qmail-smtpd supervise not running”
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo “Stopping qmail…”
echo ” qmail-smtpd”
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo ” qmail-send”
svc -d /service/qmail-send /service/qmail-send/log
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
qmail-qstat
;;
doqueue|alrm|flush)
echo “Flushing timeout table and sending ALRM signal to qmail-send.”
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo “Sending HUP signal to qmail-send.”
svc -h /service/qmail-send
;;
pause)
echo “Pausing qmail-send”
svc -p /service/qmail-send
echo “Pausing qmail-smtpd”
svc -p /service/qmail-smtpd
;;
cont)
echo “Continuing qmail-send”
svc -c /service/qmail-send
echo “Continuing qmail-smtpd”
svc -c /service/qmail-smtpd
;;
restart)
echo “Restarting qmail:”
echo “* Stopping qmail-smtpd.”
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo “* Sending qmail-send SIGTERM and restarting.”
svc -t /service/qmail-send /service/qmail-send/log
echo “* Restarting qmail-smtpd.”
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
echo “Reloaded /etc/tcp.smtp.”
;;
help)
cat <<HELP
stop — stops mail service (smtp connections refused, nothing goes out)
start — starts mail service (smtp connection accepted, mail can go out)
pause — temporarily stops mail service (connections accepted, nothing leaves)
cont — continues paused mail service
stat — displays status of mail service
cdb — rebuild the tcpserver cdb file for smtp
restart — stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue — schedules queued messages for immediate delivery
reload — sends qmail-send HUP, rereading locals and virtualdomains
queue — shows status of queue
alrm — same as doqueue
flush — same as doqueue
hup — same as reload
HELP
;;
*)
echo “Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}”
exit 1
;;
esac
exit 0
***************************
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
***************************
ee /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z “$QMAILDUID” -o -z “$NOFILESGID” -o -z “$MAXSMTPD” -o -z “$LOCAL” ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo “No /var/qmail/control/rcpthosts!”
echo “Refusing to start SMTP listener because it’ll create an open relay”
exit 1
fi
exec /usr/local/bin/softlimit -m 2000000
/usr/local/bin/tcpserver -v -R -l “$LOCAL” -x /etc/tcp.smtp.cdb -c “$MAXSMTPD”
-u “$QMAILDUID” -g “$NOFILESGID” 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
***************************
ee /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
***************************
ee /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec /var/qmail/rc
***************************
ee /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
***************************
echo ‘127.:allow,RELAYCLIENT=””‘ >>/etc/tcp.smtp
echo ‘192.:allow,RELAYCLIENT=””‘ >>/etc/tcp.smtp
qmailctl cdb
chmod 755 /var/qmail/rc
chmod 755 /var/qmail/bin/qmailctl
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
echo ./Maildir/ >/var/qmail/control/defaultdelivery
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
ln -s /var/qmail/bin/qmailctl /usr/bin
mkdir -p /var/log/qmail/smtpd
chown qmaill /var/log/qmail /var/log/qmail/smtpd
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
mv /usr/lib/sendmail /usr/lib/sendmail.old
mv /usr/sbin/sendmail /usr/sbin/sendmail.old
chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
ln -s /var/qmail/bin/sendmail /usr/lib
ln -s /var/qmail/bin/sendmail /usr/sbin
echo scs > /var/qmail/alias/.qmail-root
echo scs > /var/qmail/alias/.qmail-postmaster
ln -s .qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster
ee /home/scs/downloads/inst_check.sh
#!/bin/sh
# Dave Sill, 2022-11-10
# http://lifewithqmail.org/inst_check
# set to n if you’re not running a pop3 server, y if you are
CHECKPOP=n
QMHOME=/var/qmail
LBIN=/usr/local/bin
OK=1
if [ $# -eq 1 ]; then
if [ “$1” = “-v” ]; then
VERB=y
else
VERB=n
fi
fi
if [ ! -d $QMHOME ]; then
echo “! Couldn’t find qmail’s home directory, $QMHOME!”
else
if [ “$VERB” = y ]; then
echo “$QMHOME exists”
fi
for i in alias bin boot control doc man queue supervise users; do
if [ ! -d $QMHOME/$i ]; then
echo “! Couldn’t find $QMHOME/$i!”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/$i exists”
fi
done
if [ ! -f $QMHOME/rc ]; then
echo “! $QMHOME/rc is missing”
OK=0
elif [ ! -x $QMHOME/rc ]; then
echo “! $QMHOME/rc is not executable”
echo “…try: chmod 755 $QMHOME/rc”
OK=0
elif [ `head -1 $QMHOME/rc|cat -vet` != ‘#!/bin/sh$’ ]; then
echo “! $QMHOME/rc has bad magic cookie”
echo “…try: dos2unix $QMHOME/rc”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/rc is executable and has a valid magic cookie”
fi
fi
for i in alias qmaild qmaill qmailp qmailq qmailr qmails; do
grep “^$i:” /etc/passwd >/dev/null
if [ $? -ne 0 ]; then
echo “! Couldn’t find $i user in /etc/passwd”
OK=0
elif [ “$VERB” = y ]; then
echo “$i user exists”
fi
done
for i in qmail nofiles; do
grep “^$i:” /etc/group >/dev/null
if [ $? -ne 0 ]; then
echo “! Couldn’t find $i group in /etc/group”
OK=0
elif [ “$VERB” = y ]; then
echo “$i group exists”
fi
done
for i in tcprules tcpserver; do
if [ ! -x $LBIN/$i ]; then
echo “! Couldn’t find $LBIN/$i from ucspi-tcp”
OK=0
elif [ “$VERB” = y ]; then
echo “$i from ucspi-tcp is installed”
fi
done
for i in multilog softlimit setuidgid supervise svok svscan tai64nlocal; do
if [ ! -x $LBIN/$i ]; then
echo “! Couldn’t find $LBIN/$i from daemontools”
OK=0
elif [ “$VERB” = y ]; then
echo “$i from daemontools is installed”
fi
done
if [ ! -d /service ]; then
echo “! /service directory is missing”
OK=0
elif [ “$VERB” = y ]; then
echo “/service directory exists”
fi
if [ -f /etc/inittab ]; then
grep “^SV” /etc/inittab >/dev/null
if [ $? -ne 0 ]; then
echo “! Couldn’t find SV entry in inittab”
OK=0
elif [ “$VERB” = y ]; then
echo “svscan /service is configured to run via /etc/inittab”
fi
PS=”ps -ef”
else
grep “svscanboot” /etc/rc.local >/dev/null
if [ $? -ne 0 ]; then
echo “! Couldn’t find ‘csh -cf ‘/command/svscanboot &’ in /etc/rc.local”
OK=0
elif [ “$VERB” = y ]; then
echo “/command/svscanboot is configured to run via /etc/rc.local”
fi
PS=”ps -waux”
fi
SVRUN=`$PS | grep “svscan /service” | grep -v grep`
if [ -z “$SVRUN” ]; then
echo “‘! svscan /service’ doesn’t seem to be running”
OK=0
elif [ “$VERB” = y ]; then
echo “svscan /service is running”
fi
if [ ! -f $QMHOME/control/defaultdelivery ]; then
echo “! Couldn’t find $QMHOME/control/defaultdelivery”
OK=0
elif [ ! -s $QMHOME/control/defaultdelivery ]; then
echo “! $QMHOME/control/defaultdelivery is empty”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/control/defaultdelivery looks OK”
fi
if [ ! -f $QMHOME/bin/qmailctl ]; then
echo “! $QMHOME/bin/qmailctl is missing”
OK=0
elif [ ! -s $QMHOME/bin/qmailctl ]; then
echo “! $QMHOME/bin/qmailctl is empty”
OK=0
elif [ `head -1 $QMHOME/bin/qmailctl|cat -vet` != ‘#!/bin/sh$’ ]; then
echo “! $QMHOME/bin/qmailctl has bad magic cookie”
echo “…try: dos2unix $QMHOME/bin/qmailctl”
OK=0
elif [ ! -x $QMHOME/bin/qmailctl ]; then
echo “! $QMHOME/bin/qmailctl is not executable”
echo “…try: chmod 755 $QMHOME/bin/qmailctl”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/bin/qmailctl looks OK”
fi
if [ ! -L /usr/bin/qmailctl ]; then
echo “! /usr/bin/qmailctl is missing”
echo “…try: ln -s $QMHOME/bin/qmailctl /usr/bin”
OK=0
elif [ “$VERB” = y ]; then
echo “/usr/bin/qmailctl exists”
fi
SVCDIRS=”qmail-send qmail-send/log qmail-smtpd qmail-smtpd/log”
if [ “$CHECKPOP” = “y” ]; then
SVCDIRS=”$SVCDIRS qmail-pop3d qmail-pop3d/log”
fi
for i in $SVCDIRS; do
if [ ! -f $QMHOME/supervise/$i/run ]; then
echo “! $QMHOME/supervise/$i/run file is missing”
OK=0
elif [ `head -1 $QMHOME/supervise/$i/run|cat -vet` != ‘#!/bin/sh$’ ]; then
echo “! $QMHOME/supervise/$i/run has bad magic cookie”
echo “…try: dos2unix $QMHOME/supervise/$i/run”
OK=0
elif [ ! -x $QMHOME/supervise/$i/run ]; then
echo “! $QMHOME/supervise/$i/run file is not executable”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/supervise/$i/run looks OK”
fi
done
if [ ! -f $QMHOME/control/concurrencyincoming ]; then
echo “! $QMHOME/control/concurrencyincoming is missing”
echo “…try: echo 20 >$QMHOME/control/concurrencyincoming”
OK=0
elif [ “$VERB” = y ]; then
echo “$QMHOME/control/concurrencyincoming looks OK”
fi
LOGDIRS=”/var/log/qmail /var/log/qmail/smtpd”
if [ “$CHECKPOP” = “y” ]; then
LOGDIRS=”$LOGDIRS /var/log/qmail/pop3d”
fi
for i in $LOGDIRS; do
if [ ! -d $i ]; then
echo “! $i is missing”
echo “…try: mkdir -p $i”
OK=0
elif [ “`ls -ld $i|awk ‘{print $3}’`” != “qmaill” ]; then
echo “! $i has wrong owner, should be qmaill”
echo “…try: chown qmaill $i”
OK=0
elif [ “`ls -ld $i|awk ‘{print $1}’`” != “drwxr-xr-x” ]; then
echo “! $i has wrong mode, should be 755”
echo “…try: chmod 755 $i”
OK=0
elif [ “$VERB” = y ]; then
echo “$i looks OK”
fi
done
SVCLINKS=”/service/qmail-send /service/qmail-smtpd”
if [ “$CHECKPOP” = “y” ]; then
SVCLINKS=”$SVCLINKS /service/qmail-pop3d”
fi
for i in $SVCLINKS; do
if [ ! -L $i ]; then
echo “! $i is missing”
echo “…try: ln -s $QMHOME$i $i”
OK=0
elif [ “$VERB” = y ]; then
echo “$i exists”
fi
done
if [ ! -f /etc/tcp.smtp ]; then
echo “! /etc/tcp.smtp is missing”
echo “…try: echo ‘127.:allow,RELAYCLIENT=””‘ >>/etc/tcp.smtp”
OK=0
elif [ “$VERB” = y ]; then
echo “/etc/tcp.smtp exists”
fi
if [ ! -f /etc/tcp.smtp.cdb ]; then
echo “! /etc/tcp.smtp.cdb is missing”
echo “…try: $QMHOME/bin/qmailctl cdb”
OK=0
elif [ “$VERB” = y ]; then
echo “/etc/tcp.smtp.cdb exists”
fi
AHOME=`grep “^alias:” /etc/passwd | awk -F: ‘{print $6}’`
if [ -z “$AHOME” ]; then
echo “! Couldn’t find user alias’s home directory”
OK=0
else
for i in root postmaster mailer-daemon; do
if [ ! -f $AHOME/.qmail-$i ]; then
echo “! Alias for $i is missing”
echo “…try: echo me >$AHOME/.qmail-$i”
OK=0
elif [ “$VERB” = y ]; then
echo “$i alias exists”
fi
done
fi
if netstat -a | grep smtp | grep -i listen >/dev/null; then
if $PS | grep sendmail | grep -v grep >/dev/null; then
echo “! Sendmail is still running”
echo “…try: $RCDIR/init.d/sendmail stop”
OK=0
elif $LBIN/svok /service/qmail-smtpd; then
if [ “$VERB” = y ]; then
echo “/service/qmail-smtpd is running”
fi
else
echo “! Something is listening on port 25 (not tcpserver/qmail-smtpd)”
echo “…try: disabling current MTA”
OK=0
fi
fi
if [ “$CHECKPOP” = “y” ]; then
if netstat -a | grep pop | grep -i listen >/dev/null; then
if $LBIN/svok /service/qmail-pop3d; then
if [ “$VERB” = y ]; then
echo “/service/qmail-pop3d is running”
fi
else
echo “! Something is listening on port 110 (not tcpserver/qmail-pop3d)”
echo “…try: disabling other POP server”
OK=0
fi
fi
fi
for i in /usr/lib/sendmail /usr/sbin/sendmail; do
if [ -f $i -a ! -L $i ]; then
echo “! $i is a file, should be a link”
echo “…try: uninstalling current MTA or: mv $i $i.old; ln -s $QMHOME/bin/sendmail $i”
OK=0
elif [ ! -f $i ];then
echo “! $i is missing”
echo “…try: ln -s $QMHOME/bin/sendmail $i”
OK=0
elif [ “$VERB” = y ]; then
echo “$i exists”
fi
done
if [ $OK -eq 1 ]; then
echo “Congratulations, your LWQ installation looks good!”
elif [ “$VERB” = y ]; then
echo “! Potential problems were found with your LWQ installation”
fi
chmod 777 inst_check.sh
sh inst_check.sh
***************************
***********
/usr/ports/mail/p5-Mail-SpamAssassin]#
echo ‘|preline /usr/local/mailman/mail/wrapper post pop-fans3’ > ~alias/.qmail-pop-fans3
echo ‘|preline /usr/local/mailman/mail/wrapper mailowner pop-fans3’ > ~alias/.qmail-pop-fans3-admin
echo ‘|preline /usr/local/mailman/mail/wrapper mailcmd pop-fans3’ > ~alias/.qmail-pop-fans3-request
echo ‘&pop-fans3-admin’ > ~alias/.qmail-pop-fans3-owner
echo ‘&pop-fans3-admin’ > ~alias/.qmail-owner-pop-fans3
chmod 644 ~alias/.qmail-pop-fans3
chmod 644 ~alias/.qmail-pop-fans3-admin
chmod 644 ~alias/.qmail-pop-fans3-request
chmod 644 ~alias/.qmail-pop-fans3-owner
chmod 644 ~alias/.qmail-owner-pop-fans3
***************************
Install Spamassassin
cd /usr/ports/mail/p5-Mail-SpamAssassin
make && make install
Add #spamd_enable=”YES” to the /etc/rc.conf
reboot before installing qmail-scanner
Install Perl 5.8
/usr/ports/lang/perl5.8
make && make install
Install ClamAV
if you get an error about not right version of perl type
use.perl port
cd /usr/ports/mail/p5-Mail-ClamAV
make && make install
add this clamav_clamd_enable=”YES” to /etc/rc.conf
Getting ready for Qmail-Scanner
Install db3 from ports collection
cd /usr/ports/databases/db3
make && make install
Install tnef-1.1 from the ports collection.
cd /usr/ports/converters/tnef
make && make install
Install unzip from the ports collection.
cd /usr/ports/archivers/unzip
make && make install
Install maildrop from ports
cd /usr/ports/mail/maildrop
make && make install
Download Perl module Time::HiRes from
fetch http://www.cpan.org/authors/id/D/DE/DEWEG/Time-HiRes-01.20.tar.gz
tar xzvf Time-HiRes-01.20.tar.gz
cd Time-HiRes-01.20
perl Makefile.PL
make
make test
su –
cd /Time-HiRes-01.20
make install
Download Perl module DB_File from
fetch http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.801.tar.gz
tar xzvf DB_File-1.801.tar.gz
cd DB_File-1.801
perl Makefile.PL
*use.perl system* maybe
make
make test
cd /DB_File-1.801
make install
Download qmail-scanner-1.20
http://qmail-scanner.sourceforge.net/
put in /home/scs/downloads/qmail-scanner
gunzip – qmail-scanner.1.22.tgz
tar xvf qmail-scanner.1.22.tar
chown root /usr/bin/suidperl
chmod 4711 /usr/bin/suidperl
./configure -admin scs -domain lists.deviq.com -notify admin -local-domains lists.deviq.com -log-details yes,syslog -add-dscr-hdrs yes -scanners auto -debug no -unzip yes -install