FreeBSD 4.5 qmail / qmailpop3d Power install. ### FOR THE IMPATIENT LIKE ME :) #### cdowns@lifeatzero.com # NOTE -> just follow this doc, like copy and paste for most all of it. Make sure groups exist ( they should under FreeBSD ) # pw groupadd -n nofiles -g 81 # pw groupadd -n qmail -g 82 # pw useradd -n alias -u 81 -g 81 -d /var/qmail/alias -s /nonexistent # pw useradd -n qmaild -u 82 -g 81 -d /var/qmail -s /nonexistent # pw useradd -n qmaill -u 83 -g 81 -d /var/qmail -s /nonexistent # pw useradd -n qmailp -u 84 -g 81 -d /var/qmail -s /nonexistent # pw useradd -n qmailq -u 85 -g 82 -d /var/qmail -s /nonexistent # pw useradd -n qmailr -u 86 -g 82 -d /var/qmail -s /nonexistent # pw useradd -n qmails -u 87 -g 82 -d /var/qmail -s /nonexistent 2: Mkdir available for install: # mkdir /var/qmail # mkdir /var/log/qmail /var/log/qmail/qmail-send # mkdir /var/log/qmail/qmail-smtpd /var/log/qmail/qmail-pop3d # chown -R qmaill.wheel /var/log/qmail # chmod -R 750 /var/log/qmail # mkdir /service /var/qmail/supervise # mkdir /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-smtpd/log # chmod +t /var/qmail/supervise/qmail-smtpd # mkdir /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-send/log # chmod +t /var/qmail/supervise/qmail-send # mkdir /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3d/log # chmod +t /var/qmail/supervise/qmail-pop3d 3: Install these First: qmail-1.03.tar.gz tar zxvf qmail-1.03.tar.gz ; cd qmail-1.03 ; make setup check Same for next 3 -> run: make setup check dot-forward--a Sendmail .forward file compatibility add-on fastforward--a Sendmail alias database compatibility add-on ucspi-tcp--an inetd replacement daemontools--a set of tools for managing daemons and their logs tar zxvf daemontools-0.76.tar.gz ; cd admin/daemontools-0.76 ; package/install #### NOTE ###### Install checkpassword from /usr/ports/security/checkpassword cd /usr/ports/security/checkpassword ; make install clean ; ln -sf /usr/ports/security/checkpassword /bin/checkpassword If you donnt make sure checkpassword is in /bin pop3d Authentication WILL NOT WORK ! 4: Create tcp.smtp and Disable Sendmail # vi /etc/tcp.smtp 127.0.0.1:allow,RELAYCLIENT="" 192.168.0.:allow,RELAYCLIENT="" :allow # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp # chmod 644 /etc/tcp.smtp.cdb # echo username > /var/qmail/alias/.qmail-root # echo username > /var/qmail/alias/.qmail-postmaster # echo username > /var/qmail/alias/.qmail-mailer-daemon # /var/qmail/bin/maildirmake /usr/share/skel/Maildir Disable Sendmail # vi /etc/defaults/rc.conf sendmail_enable="NO" sendmail_flags="-bd -q30m" # chmod 0 /usr/sbin/sendmail # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 5: Svscan and Supervise # vi /var/qmail/rc #!/bin/sh env env - PATH="/var/qmail/bin:/usr/local/bin" \ qmail-start ./Maildir/ #chmod 751 /var/qmail/rc # vi /var/qmail/supervise/qmail-pop3d/run dsbelile# cat /var/qmail/supervise/qmail-pop3d/run #!/bin/sh exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \ dsbelile.ne.client2.attbi.com /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 dsbelile# #chmod 751 /var/qmail/supervise/qmail-pop3d/run # vi /var/qmail/supervise/qmail-pop3d/log/run dsbelile# cat /var/qmail/supervise/qmail-pop3d/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \ /var/log/qmail/pop3d dsbelile# #chmod 751 /var/qmail/supervise/qmail-pop3d/log/run # vi /var/qmail/supervise/qmail-smtdp/run dsbelile# cat /var/qmail/supervise/qmail-smtpd/run #!/bin/sh exec /usr/local/bin/tcpserver -p -R -x /etc/tcp.smtp.cdb -u82 -g81 -v -c100 0 smtp rblsmtpd /var/qmail/bin/qmail-smtpd 2>&1 dsbelile# #chmod 751 /var/qmail/supervise/qmail-smtpd/run # vi /var/qmail/supervise/qmail-smtpd/log/run dsbelile# cat /var/qmail/supervise/qmail-smtpd/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-smtpd 2>&1 dsbelile# #chmod 751 /var/qmail/supervise/qmail-smtpd/log/run # vi /var/qmail/supervise/qmail-send/run dsbelile# cat /var/qmail/supervise/qmail-send/run #!/bin/sh exec /var/qmail/rc dsbelile# # chmod 751 /var/qmail/supervise/qmail-send/run # vi /var/qmail/supervise/qmail-send/log/run dsbelile# cat /var/qmail/supervise/qmail-send/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-send 2>&1 dsbelile# # chmod 751 /var/qmail/supervise/qmail-send/log/run 6: Create Start Scripts # vi /usr/local/etc/rc.d/qmail #! /bin/sh #PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin #export PATH case "$1" in start) echo -n "Starting qmail: svscan" cd /var/qmail/supervise env - PATH="/var/qmail/bin:/usr/local/bin:/usr/bin:/bin" svscan & echo $! > /var/run/svscan.pid echo "." # add qmail_pop3d if svok /service/qmail-pop3d ; then svc -u /service/qmail-pop3d else echo qmail-pop3d supervise not running fi ;; stop) echo -n "Stopping qmail: svscan" kill `cat /var/run/svscan.pid` echo -n " qmail" svc -dx /var/qmail/supervise/* echo -n " logging" svc -dx /var/qmail/supervise/*/log echo "." echo " qmail-pop3d" svc -d /service/qmail-pop3d ;; stat) cd /var/qmail/supervise svstat * */log ;; doqueue|alrm) echo "Sending ALRM signal to qmail-send." svc -a /var/qmail/supervise/qmail-send ;; queue) qmail-qstat qmail-qread ;; reload|hup) echo "Sending HUP signal to qmail-send." svc -h /var/qmail/supervise/qmail-send echo "Sending HUP signal to qmail-pop3d." svc -h /var/qmail/supervise/qmail-pop3d ;; pause) echo "Pausing qmail-send" svc -p /var/qmail/supervise/qmail-send echo "Pausing qmail-smtpd" svc -p /var/qmail/supervise/qmail-smtpd echo "Pausing qmail-pop3d" svc -p /var/qmail/supervise/qmail-pop3d ;; cont) echo "Continuing qmail-send" svc -c /var/qmail/supervise/qmail-send echo "Continuing qmail-smtpd" svc -c /var/qmail/supervise/qmail-smtpd echo "Continuing qmail-pop3d" svc -c /var/qmail/supervise/qmail-pop3d ;; restart) echo "Restarting qmail:" echo "* Stopping qmail-smtpd." svc -d /var/qmail/supervise/qmail-smtpd echo "* Sending qmail-send SIGTERM and restarting." svc -t /var/qmail/supervise/qmail-send echo "* Restarting qmail-smtpd." svc -u /var/qmail/supervise/qmail-smtpd echo "* Sending qmail-pop3d SIGTERM and restarting." svc -t /var/qmail/supervise/qmail-pop3d echo "* Restarting qmail-pop3d." svc -t /service/qmail-pop3d ;; cdb) tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp* echo "Reloaded /etc/tcp.smtp." ;; *) echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue}" exit 1 esac exit 0 # chmod 751 /usr/local/etc/rc.d/qmail # ln -s /var/qmail/supervise/* /service/ YOUR DONE ! start Qmail and Test POP3d !! # /usr/local/etc/rc.d/qmail start # if you see this you should be good to go dsbelile# ps ax | grep qmail 33800 ?? I 0:00.02 /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/q 243 p0- I 0:00.12 qmail-send 245 p0- I 0:00.02 qmail-lspawn ./Maildir/ 246 p0- I 0:00.01 qmail-rspawn 247 p0- I 0:00.01 qmail-clean 409 p0- I 0:00.02 supervise qmail-smtpd 11411 p0- S 0:08.81 supervise qmail-send 11413 p0- I 0:00.03 supervise qmail-pop3d 11417 p0- I 0:00.02 /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-sm 11418 p0- S 0:00.82 /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-se 11420 p0- I 0:00.03 /usr/local/bin/multilog t /var/log/qmail/pop3d dsbelile#