FreeBSD Step by Step 4.8

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, 2003-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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: