当前位置:操作系统 > Unix/Linux >>

qmail+webmailonLinux9安装全过程

qmail is an excellent MTA(Mail Transport Agent) written by Dan Bernstein.

  Why qmail:

  * Security. qmail is secure.

  * Speed. qmail is capable of handing millions of deliveries per day on a moderate system.

  * Reliability. qmail writes mail to disk before it announces success.

  * Extremely easy virtual domain administration.

  * User-controlled mailing lists using ezmlm.

  * Intuitive, straightforward, and simple administration.

  Requirements:

  * You must be running UNIX or a UNIX-like operating system.

  * You must have a working DNS, and your system must have a DNS name.

  * You must have a working C compiler.

  Install file list:

  * netqmail-1.05.tar.gz

  * ucspi-tcp-0.88.tar.gz

  * daemontools-0.76.tar.gz

  * vpopmail-5.4.0.tar.gz

  * mysql-standard-4.0.20-pc-linux-i686.tar.gz

  * apache_1.3.31.tar.gz

  * php-4.3.7.tar.gz

  * autorespond-2.0.4.tar.gz

  * ezmlm-0.53.tar.gz

  * ezmlm-idx-0.40.tar.gz

  * qmailadmin-1.2.0.tar.gz

  * sqwebmail-3.5.3.tar.gz

  Patches:

  * ezmlm-idx-0.53.400.unified_41.patch

  Scripts:

  * qmailctl

  * inst_check

  * qmailadmin_zh

  * zh-cn/*

  * images/webmail/*

  Preparation:

  Login the system as root.

  mkdir -p /usr/local/src

  mkdir -p /package

  Move the files of installation, patches and scripts except daemontools-0.76.tar.gz to /usr/local/src

  Move daemontools-0.76.tar.gz to /package

  chmod 1755 /package

  Start installation:

  cd /usr/local/src

  tar -xvzf netqmail-1.05.tar.gz

  cd netqmail-1.05

  ./collate.sh # important sentence!!!

  cd ..

  tar -xvzf ucspi-tcp-0.88.tar.gz

  rm *.tar # optional, unless space is very tight

  cd /package

  tar -xvzf daemontools-0.76.tar.gz

  rm *.tar # optional, again

  ################################

  # Install qmail

  ################################

  mkdir /var/qmail

  mkdir /etc/qmail

  ln -s /etc/qmail /var/qmail/control

  # Create users and groups

  userdel alias

  userdel qmaild

  userdel qmaill

  userdel qmailp

  userdel qmailq

  userdel qmailr

  userdel qmails

  groupdel nofiles

  groupdel 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

  cd /usr/local/src/netqmail-1.05/netqmail-1.05

  make setup check

  # If your DNS is configured properly, this script should be all you need at this point:

  ./config

  # Or you can configure your domain.

  ./config-fast mail.myqmail.com

  ################################

  # Install ucspi-tcp

  ################################

  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

  ################################

  # Install daemontools

  ################################

  cd /package

  tar -xvzf daemontools-0.76.tar.gz

  cd /package/admin/daemontools-0.76/src

  patch < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch

  cd ..

  package/install

  # Start qmail script

  vi /var/qmail/rc

  ######## Write the following section to file:/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`"

  ######## End ########

  chmod 755 /var/qmail/rc

  mkdir /var/log/qmail

  echo ./Maildir/ >/var/qmail/control/defaultdelivery

  mv /usr/local/src/qmailctl /var/qmail/bin/

  chmod 755 /var/qmail/bin/qmailctl

  ln -s /var/qmail/bin/qmailctl /usr/bin

  # Create the supervise

  mkdir -p /var/qmail/supervise/qmail-send/log

  mkdir -p /var/qmail/supervise/qmail-smtpd/log

  vi /var/qmail/supervise/qmail-send/run

  ######## Write the following section to file:/var/qmail/supervise/qmail-send/run ########

  #!/bin/sh

  exec /var/qmail/rc

  ######## End ########

  vi /var/qmail/supervise/qmail-send/log/run

  ######## Write the following section to file:/var/qmail/supervise/qmail-send/log/run ########

  #!/bin/sh

  exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

  ######## End ########

  vi /var/qmail/supervise/qmail-smtpd/run

  ######## Write the following section to file:/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

  ######## End ########

  echo 20 > /var/qmail/control/concurrencyincoming

  chmod 644 /var/qmail/control/concurrencyincoming

  vi /var/qmail/supervise/qmail-smtpd/log/run

  ######## Write the following section to file:/var/qmail/supervise/qmail-smtpd/log/run ########

  #!/bin/sh

  exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

  ######## End ########

  chmod +t /var/qmail/supervise/qmail-send

  chmod +t /var/qmail/supervise/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

  mkdir -p /var/log/qmail/smtpd

  chown qmaill /var/log/qmail /var
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,