歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 在LINUX環境中安裝Qmail的經歷

在LINUX環境中安裝Qmail的經歷

日期:2017/3/6 15:50:39   编辑:關於Unix
安裝平台:Linux 版本:qmail-1.03 安裝的機器: mail.mydomain.com 軟件包: qmail-1.03 qmail基本系統 ucspi-tcp-0.88 tcpsever服務程序 daemontools-0.70 監視工具 checkpassword-0.81 pop3驗證用戶的程序 ezmlm-0.53 郵件轉發 vpopmail-4.9.6-1 虛擬域用
  安裝平台:Linux
  版本:qmail-1.03
  安裝的機器: mail.mydomain.com
  
  軟件包:
  qmail-1.03 qmail基本系統
  ucspi-tcp-0.88 tcpsever服務程序
  daemontools-0.70 監視工具
  checkpassword-0.81 pop3驗證用戶的程序
  ezmlm-0.53 郵件轉發
  vpopmail-4.9.6-1 虛擬域用戶pop3支持
  qmailadmin-0.35 虛擬域web管理
  autorespond-1.0.0 自動回復程序
  sqwebmail-1.2.0 webmail
  vqsignup-0.4 web方式用戶注冊
  
  軟件來源:
  http://www.qmail.org
  http://www.inter7.com/qmail
  每個包安裝前務必先仔細閱讀INSTALL和FAQ,很多問題在FAQ都有解決方法。
  
  安裝步驟:
  1. #mkdir /var/qmail
  2. # 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
  3. #tar xzvf qmail-1.03.tar.gz
  進入qmail目錄後,仔細閱讀一下README和INSTALL文件.然後開始編譯qmail
  #make setup check
  4. #cd qmail-1.03
  #./config
  5. 建立系統別名
  # (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .
  qmail-root)
  # chmod 644 ~alias/.qmail*
  
  6. # cp /var/qmail/boot/home /var/qmail/rc
   # chmod 755 /var/qmail/rc
  
     編輯 /var/qmail/rc
     修改其中 ./Mailbox 成為 ./Maildir ,如下:
  
     # !/bin/sh
     # Using splogger to send the log through syslog.
     # Using qmail-local to deliver messages to ~/Maildir by default.
     exec env - PATH="/var/qmail/bin:$PATH"
     qmail-start ./Maildir/ splogger q
  
     其中 splogger qmail 指令是用來將紀錄檔紀錄於 / 中。
     建立樣板
     $ /var/qmail/bin/maildirmake /etc/skel/Maildir
     $ echo ./Maildir/ > ~/.qmail
     注意 Maildir 必須為該使用者所有,可以 chown 變更,並以 chmod 700
  Maildir 設定權限。
  
  7. 安裝 ucspi-tcp-0.88
     # tar zxvf ucspi-tcp-0.88.tar.gz
     # cd ucspi-tcp-0.88
     # make
     # make setup check
     執行檔將被安裝於 /usr/local/bin 中。
  
  8. 安裝 checkpassword
     # tar zxvf checkpassword-0.81.tar.gz
     # cd checkpassword-0.81
     # make
     # make setup check
     # chmod og-rx /bin/checkpassword
     執行檔 checkpassword 將被安裝於 /bin 中
  如果不對/etc/passwd中的用戶開放mail,不需要裝checkpassword,只要裝vpopmail
  
  9. 安裝 daemontools
     # tar zxvf daemontools-0.70.tar.gz
     # cd daemontools-0.70
     # make
     # make setup check
     執行檔將安裝於 /usr/local/bin 中
  安裝本工具後可以用
  # mkdir /var/run/qmail
  # supervise /var/run/qmail /var/qmail/rc
  來啟動qmail,可以用svc來關閉活重起qmail,用svstat監視qmail運行情況,
  (qmail FAQ)
  
  10. 安裝 vpopmail
  # groupadd vchkpw
  # useradd -g vchkpw vpopmail
  # mkdir ~vpopmail/etc
  # echo ":allow" > ~vpopmail/etc/tcp.smtp
  # tar zvfz vpopmail-4.9.6-1.tar.gz
  # cd vpopmail-4.9.6-1
  # ./configure --enable-roaming-users=y
  --enable-default-domain=mydomain.com --enable-passwd=n
  # make
  # make install-strip
  
  # crontab -e
  40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
  
  # cd /home/vpopmail/bin
  # ./vadddomain mydomain.com mydomain
  append mydomain.com to /var/qmail/control/rcpthosts
  
  
  11.停止sendmail 服務
     # killall -TERM sendmail (Linux)
     接著以 qmail 之 sendmail libraby 取代原有之 sendmail
     # mv /usr/lib/sendmail /usr/lib/sendmail.old
     # mv /usr/sbin/sendmail /usr/sbin/sendmail.old
     # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
     # ln -s /var/qmail/sbin/sendmail /usr/sbin/sendmail
  移除 sendmail 啟動程序,以 Linux 為例:
     移除 .netd.conf 中的 sendmail 之設定,以及 /etc/rc.d/init.d 下的sendmail 啟動檔。(Linux)
  
  
  12.啟動qmail SMTP , POP3 daemon 系統服務
  
     建立 SMTP 轉信規則
     建立 /etc/tcp.smtp 內容為
     :allow
     此為接受任何Client端所發出之轉送信件
     若要拒絕某些IP所發出之Relay則改為 /etc/tcp.smtp如下
     1.2.3.4:allow,RELAYCLIENT=""
     127.:allow, RELAYCLIENT=""
     如此,除1.2.3.4及127.*之外的所有位址,都將被拒絕轉送信件。
     
     接下來,轉換 tcp.smtp 成為 cdb 格式。
     # /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp <
  /etc/tcp.smtp
  
     注意:若對 tcp.smtp 有任何變更,都必須經過 tcprules 轉換成為 cdb才會生效。
     另外,tcp.smtp 若為空白,則表示拒絕所有的轉送,因為預設的規則為deny。
     至此,轉送規則已建立,稍後將依此規則啟動 qmail-smtpd。
  
     設定 SMTP 及 POP3 daemon 之啟動
     請移除 inetd.conf 中有關 smtp 及 pop3 的設定 (加上 # 號)
     編輯 /etc/services,改為以下設定:
  
     smtp 25/tcp mail
     # pop-3 110/tcp #pop version 3
     # pop-3 110/udp
     pop3 110/tcp
     pop3 110/udp
  
     啟動 SMTP:
     /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
     -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
     | /var/qmail/bin/splogger smtpd 3 &
  
     其中UID和GID為前述新增 qmail 系統帳號之 qmaild 之 User ID,以及nofiles 之 group ID。
     /var/qmail/bin/splogger那一行會將log檔寫在 /var/log/maillog。
  
     啟動 POP3:
     編輯啟動檔加入以下設定:
     tcpserver -H -R 0 pop3
  /var/qmail/bin/qmail-popup mail.mydomain.com
  /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
  
  在/etc/rc.d/init.d下建立文件qmail,內容如下:
  -------------------------------------------
  #! /bin/sh
  
  case "$1" in
  start)
  echo -n "start qmail:"
  /var/qmail/rc &
  echo "."
  
  echo -n "start smtp service:"
      /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb
      -u UID -g GID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
      | /var/qmail/bin/splogger smtpd 3 &
  echo "."
  
  echo -n "start pop3 service:"
     tcpserver -H -R 0 pop3
  /var/qmail/bin/qmail-popup mail.mydomain.com
  /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
  echo "."
  ;;
  stop)
  echo -n "stop qmail:"
  echo "."
  ;;
  *)
  exit 1
  ;;
  esac
  
  exit 0
  -----------------------------------------------------
  # cd ../rc3.d
  # ln -s ../init.d/qmail S98qmail
  
  
  qmailadmin WEB方式管理qmail
  
  1 ezmlm
  $ make
  $ make man
  # make setup
  
  2 autorespond
  gclearcase/" target="_blank" >cc -Wall -o autorespond autorespond.c
  cp autorespond /usr/local/bin/autorespond
  
  3 qmailAdmin
  
  3.1. Before we can make and install there are a few things to consider..
  
  a. do you have a vpopmail user and installed vchkpw
  b. where is your cgi bin directory
  c. where is your ezmlm directory
  d. where is your autorespond directory
  If you are missing any one of those you can stop reading this now and go
   install it!!
  
  3.2 install
  
  # ./configure
  # make
  # make install-strip
  
  浏覽器中打開路徑http://mail.mydomain.com/cgi-bin/qmailadmin
  用戶postmaster;域mydomain.com;口令:mydomain
  
  WebMail -- SqWebmail
  # tar xvfz sqwebmail-1.2.0.tar.gz
  # cd sqwebmail-1.2.0
  # ./configure --without-authpam --without-authuserdb --enable-webpass=no
   --without-authpwd --without-authshadow
  # make configure-check
  # make (當我make的時候報錯找不到db.h,cp /usr/include/db1/db.h
  /usr/include/db.h)
  # make check
  # make install-strip
  # make install-configure
  浏覽器中打開路徑http://mail.mydomain.com/cgi-bin/sqwebmail
  
  vqsignup
  # tar xvfz vqsignup-0.4.tar.gz
  # cd vqsignup-4.0
  按照INSTALL安裝

Copyright © Linux教程網 All Rights Reserved