################## # Install Qmail ################## mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias alias useradd -g nofiles -d /var/qmail qmaild useradd -g nofiles -d /var/qmail qmaill useradd -g nofiles -d /var/qmail qmailp groupadd qmail useradd -g qmail -d /var/qmail qmailq useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails make setup check ./config cat /var/qmail/control/locals echo >> /var/qmail/control/locals cat /var/qmail/control/locals cat /var/qmail/control/rcpthosts cp /var/qmail/control/locals /var/qmail/control/rcpthosts cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root .qmail-default chmod 644 ~alias/.qmail* mv /var/spool/mail/ ~/Mailbox ln -s ~/Mailbox /var/spool/mail/ maildirmake $HOME/Maildir echo ./Maildir/ > ~/.qmail cd /var/qmail/boot cat /var/qmail/boot/home cp /var/qmail/boot/home /var/qmail/rc sed 's/Mailbox/\.\/Maildir\/g' /var/qmail/rc #replace ./Mailbox with ./Maildir/ mv /usr/sbin/sendmail /usr/sbin/sendmail.org ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail mv /usr/lib/sendmail /usr/lib/sendmail.org ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ############################## # Optional #csh -cf '/var/qmail/rc &' # # Test it ############################## sed 's/^smtp/#qmail_isntall#/smtp/' /etc/inet.conf # comment out existing pop settings sed 's/^pop/#qmail_install#pop/' /etc/inet.conf # comment out existing pop settings cat <<- EOT >> /etc/inetd.conf smtp stream tcp nowait \ qmaild /usr/sbin/tcpd \ /var/qmail/bin/tcp-env \ /var/qmail/bin/qmail-smtpd pop3 stream tcp nowait \ root /var/qmail/bin/qmail-popup \ qmail-popup mail. \ /bin/checkpassword \ /var/qmail/bin/qmail-pop3d \ Maildir EOT cat <<- EOT >> /etc/rc.d/init.d/qmail #!/bin/sh export PATH=/var/qmail/bin:/bin:/usr/bin:$PATH # if qmail is runing exit [ -f /var/qmail/bin/qmail-start ] || exit 0 case "$1" in start ) echo -n "Starting qmail..." /bin/csh -cf `/var/qmail/rc &` exit 0 ;; stop ) echo -n "Stopping qmail..." /usr/bin/killall qmail-send ;; restart ) $0 stop $0 start ;; * ) echo -n "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 EOT ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S80qmail cat <<- EOT - >> /etc/man.config MANPATH /var/qmail/man EOT ##################### # Install Vpopmail ##################### groupadd vchkpw /usr/sbin/useradd -g vchkpw vpopmail echo "127.0.0. 10.1.1.:allow,RELAYCLIENT=\"\"" > ~vpopmail/etc/tcp.smtp # for remote clients, you need to add thier domains the the RELAYCLIENT line. # replacy the 10.1.1. with your local network ./configure --enable-roaming-users=y make make install-strip crontab -e 40 * * * * /home-dir-of-vpopmail/bin/clearopensmtp 2>&1 > /dev/null PATH=$PATH:/home/vpopmail/bin vadddomain password-for-postmaster vadduser @ vpasswd @ sed 's/^pop/#vpopmail_install#pop/' /etc/inet.conf # comment out existing pop settings cat <<- EOT >> /etc/inetd.conf pop3 stream tcp nowait \ root /var/qmail/bin/qmail-popup \ qmail-popup mail. \ /home/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d \ Maildir EOT ############################ # Courier IMAP ############################ tar -zxvpf courier cd cou # read imap/FAQ # read INSTALL CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" export CPPFLAGS export LDFLAGS ./configure make make check #If make check fails, something is wrong, #and Courier-IMAP may not work for you reliably. su make install-strip make install-configure #modify /usr/lib/courier-imap/etc/imapd # only use vpopmail module i.e. AUTHMODULES="authvchkpw" sed 's/^AUTHMODULES/#AUTHMODULES/' imapd > imapd.new mv imapd imapd.orig mv imapd.new imapd cat <<- EOT >> imapd AUTHMODULES="authvchkpw" EOT # Startup/shutdow Scripts /usr/lib/courier-imap/libexec/imapd.rc start /usr/lib/courier-imap/libexec/imapd.rc stop ##################### # IMAP over SSL ##################### #edit the config file vi /usr/lib/courier-imap/lib/imapd-ssl #start it up. /usr/lib/courier-imap/libexec/imapd-ssl.rc #X.509 certificat must be in: #/usr/lib/courier-imap/share/imapd.pem # This command will generate a self-signed cert if you can't steal one. /usr/lib/courier-imap/share/mkimapdcert # This file sets several parameters for the authdaemond process. ## /usr/lib/courier-imap/etc/authdaemonrc ## i dont have it. #SysV init.d script courier-imap.sysvinit ##################### # Install Qmailadmin ##################### ./configure --enable-cgibindir=/usr/local/apache/cgi-bin make clean make make install-strip http:///cgi-bin/qmailadmin ####################### # All you should need to do is put "foo.com" in the # rcpthosts file. That way, qmail-smtpd will accept # the message, and then deliver it to mail.foo.com, # the primary MX. # The time qmail will hold the message is in # control/queuelifetime, specified in seconds.