Install Qmail by copy/paste
Install qmail by copy/paste… I suggest in small blocks at a time
Code:
#!/bin/sh SERVERNAME=`hostname` cd /usr/local/src/ wget http://qmail.linocomm.net/netqmail-1.06.tar.gz wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch # install qmail: umask 022 mkdir -p /package cp daemontools-0.76.tar.gz /package chmod 1755 /package tar -xzf netqmail-1.06.tar.gz tar -xzf ucspi-tcp-0.88.tar.gz cd /package tar -xzf daemontools-0.76.tar.gz mkdir /var/qmail cd /usr/local/src/netqmail-1.06 echo " /usr/sbin/groupadd nofiles /usr/sbin/useradd -g nofiles -d /var/qmail/alias alias /usr/sbin/useradd -g nofiles -d /var/qmail qmaild /usr/sbin/useradd -g nofiles -d /var/qmail qmaill /usr/sbin/useradd -g nofiles -d /var/qmail qmailp /usr/sbin/groupadd qmail /usr/sbin/useradd -g qmail -d /var/qmail qmailq /usr/sbin/useradd -g qmail -d /var/qmail qmailr /usr/sbin/useradd -g qmail -d /var/qmail qmails" > IDS /bin/sh IDS make setup check ./config-fast $SERVERNAME cd /usr/local/src/ucspi-tcp-0.88 patch -p1 < ../ucspi-tcp-0.88.errno.patch make make setup check cd /package/admin/daemontools-0.76 patch -p1 < /usr/local/src/daemontools-0.76.errno.patch package/install echo "./Maildir/" > /var/qmail/control/defaultdelivery echo 120 > /var/qmail/control/concurrencyincoming echo 120 > /var/qmail/control/concurrencyremote echo 120 > /var/qmail/control/concurrencylocal chmod 644 /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyremote chmod 644 /var/qmail/control/concurrencylocal echo '#!/bin/sh # Using stdout for logging # Using control/defaultdelivery from qmail-local to deliver messages by default ' > /var/qmail/rc echo "exec env – PATH="/var/qmail/bin:$PATH" \ qmail-start "`cat /var/qmail/control/defaultdelivery`" " >> /var/qmail/rc chmod 755 /var/qmail/rc mkdir /var/log/qmail # the qmailctl script: echo '#!/bin/sh # For Red Hat chkconfig # chkconfig: – 80 30 # description: the qmail MTA ' > /var/qmail/bin/qmailctl echo '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 else echo qmail-send supervise not running fi if svok /service/qmail-smtpd ; then svc -u /service/qmail-smtpd 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 echo " qmail-send" svc -d /service/qmail-send 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 echo "* Sending qmail-send SIGTERM and restarting." svc -t /service/qmail-send echo "* Restarting qmail-smtpd." svc -u /service/qmail-smtpd ;; 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 ' >> /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail ln -s ../init.d/qmail /etc/rc.d/rc0.d/K30qmail ln -s ../init.d/qmail /etc/rc.d/rc1.d/K30qmail ln -s ../init.d/qmail /etc/rc.d/rc2.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc3.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc4.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc5.d/S80qmail ln -s ../init.d/qmail /etc/rc.d/rc6.d/K30qmail chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log echo '#!/bin/sh' > /var/qmail/supervise/qmail-send/run echo "exec /var/qmail/rc " >> /var/qmail/supervise/qmail-send/run echo '#!/bin/sh' > /var/qmail/supervise/qmail-send/log/run echo "exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t n40 s5242880 /var/log/qmail " >> /var/qmail/supervise/qmail-send/log/run cd /var/qmail/control ln -s ../outgoingip outgoingip echo '#!/bin/sh' > /var/qmail/supervise/qmail-smtpd/run echo '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 exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -v -H -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1' >> /var/qmail/supervise/qmail-smtpd/run echo '#!/bin/sh' > /var/qmail/supervise/qmail-smtpd/log/run echo "exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t n40 s5242880 /var/log/qmail/smtpd " >> /var/qmail/supervise/qmail-smtpd/log/run mkdir -p /var/log/qmail/smtpd chown qmaill /var/log/qmail /var/log/qmail/smtpd 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 ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service sleep 10 qmailctl stop #create system aliases: echo postmaster > /var/qmail/alias/.qmail-root echo postmaster > /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 echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp qmailctl cdb /etc/rc.d/init.d/sendmail stop rpm -e --nodeps sendmail # link qmail version of sendmail: rm /usr/lib/sendmail rm /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib ln -s /var/qmail/bin/sendmail /usr/sbin qmailctl start
Comments are closed.