[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > Qmail > 正文
qmail+vpopmail+sqwebmail的安裝步驟
http://www.linuxforum.net 作者 greatdeer (2001-04-21 17:08:56)
                                     
一、安裝環境
安裝平台:RedHat Linux
安裝的機器: 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、安裝qmail
  1)創建qmail安裝目錄
    #mkdir /var/qmail    
  2)添加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 
  3)解壓、解包和編譯
    (假設這些包都下載到/var/tmp目錄下)
    #cd /var/tmp
    #tar xzvf qmail-1.03.tar.gz 
    #cd qmail-1.03
    進入qmail目錄,仔細閱讀一下README和INSTALL文件.然開始編譯qmail
    #make setup check
  4)配置
    #./config
  5)建立系統別名 
    #(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) 
    #chmod 644 ~alias/.qmail*
    可以在這些別名文件中指定管理用戶來接受這些系統郵件,如
    #echo 'admin' > ~alias/.qmail*
  6)建立啟動文件和用戶的maildir
    #cp /var/qmail/boot/home  /var/qmail/rc
   #chmod 755 /var/qmail/rc
    編輯 /var/qmail/rc
  修改其中./Mailbox成為./Maildir以支持maildir的pop收信方式,如下:
   # !/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 qmail
  其中splogger qmail指令是用來將日志文件記錄在/中。
  建立maildir的方法:
   $/var/qmail/bin/maildirmake  /etc/skel/Maildir
   $echo ./Maildir/ > ~/.qmail
  注意Maildir必須為該使用者所有,可以chown變更,並以chmod 700 Maildir設定權限。

 2、安裝ucspi-tcp-0.88
  #tar zxvf ucspi-tcp-0.88.tar.gz
  #cd ucspi-tcp-0.88
  #make
  #make setup check
  執行文件將被安裝在/usr/local/bin中。

 3、安裝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就行了。

 4、安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)

 5、安裝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
    (注:--enable-roaming-users=y表示允許漫遊的用戶使用該郵件系統)
    #make
    #make install-strip
    #crontab -e(編輯cron文件,如下)
      40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
    #cd /home/vpopmail/bin
    #./vadddomain mydomain.com mydomain
    添加mydomain.com到/var/qmail/control/rcpthosts中。

 6、停止sendmail 服務
  #killall -9 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 為例:
  移除inetd.conf中的sendmail之設定,以及/etc/rc.d/init.d下的sendmail啟動文件。(Linux) 

 7、啟動qmail SMTP ,POP3 daemon系統服務
  1)建立 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.*之外的所有地址,都將被拒絕轉送信件。
  2)轉換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。
    3)設定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
      (注:這裡的啟動文件沒有寫全)
 
 8、qmailadminWEB方式管理qmail
  1)ezmlm的安裝
    $make
    $make man
    #make setup
  2)autorespond的安裝
    gcc -Wall -o autorespond autorespond.c
    cp autorespond /usr/local/bin/autorespond
  3)qmailAdmin的安裝
    在安裝前首先要考慮滿足以下幾項要求:
     a.是否擁有一個vpopmail用戶vchkpw
     b.cgi-bin目錄的所在位置
     c.ezmlm目錄的所在位置
     d.autorespond目錄的所在位置
    如果能夠達到以上要求,可以繼續安裝      
    #./configure
    #make
    #make install-strip  
    檢測安裝是否正確:瀏覽器中打開路徑http://mail.mydomain.com/cgi-bin/qmailadmin,
    看根據前面設置的用戶和密碼是否能夠成功登錄進去。


 9、SqWebmail一種Webmail解決方案
  1)安裝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
  2)安裝vqsignup
    #tar xvfz vqsignup-0.4.tar.gz
    #cd vqsignup-4.0
    按照INSTALL安裝(?)

    安裝這個軟件包可能比較麻煩,需要一些耐心。
    a. 修改Makefile文件:
       FLAGS=-I/home/vpopmail/include
       修改-I/home/vpopmail/include指到真實的vpopmail/include目錄

       修改下面的這行
       $(CC) $(FLAGS) -o $(BIN) $(OBJS) -L/home/vpopmail/lib -lvpopmail -lcrypt
       修改 -L/home/vpopmail/lib 為真實的vpopmail lib的目錄

    b. 編譯
       #make

    c. 安裝
       拷貝signup.cgi和signup.conf文件到cgi-bin目錄下
       切換目錄到cgi-bin目錄下       
       #chown vpopmail signup.cgi
       #chgrp vchkpw signup.cgi
       #chmod ug+s signup.cgi
       #chmod ugo+r signup.conf

       拷貝vqsignup_html目錄到cgi-bin目錄下,確信對所有用戶可讀
       拷貝vqsignup.html文件到DocumentRoot目錄下,確信能夠被訪問。

       編輯cgi-bin目錄下的vqsignup.conf文件
       修改"add_domain"的所有行,加上你的真實的域,把其他的行刪除掉

       更改vqsignup_text/*.html文件,使包含"result_*"的行的路徑指到正確的全路經。

       修改vqsignup_text目錄下所有的文件,使它們只包含你想支持的域,你也可以定制這些頁面,使它們更加好看些。

       修改DocumentRoot目錄下vqsignup.html文件,使它只包含你想支持的域,你也可以定制這個頁面,使它更加好看些。

    d. 測試
       用你的瀏覽器訪問http://your web server/your sub dir/vqsignup.htm, 試著注冊新用戶,如果成功的話,
       那就恭喜你了。如果有錯誤,請返回安裝步驟仔細查看文件的權限和vqsignup.html裡的值是否正確。

三、考文獻
   Adam McKenna所編寫qmail-HOWTO (http://www.flounder.net/qmail/qmail-howto.html)
  qmail FQA (含qmail 1.03 Source Code)
  http://www.qmail.org/
    http://www.linuxaid.com.cn/solution/上有幾篇比較好的安裝文檔
    http://www.linuxforum.net/cgi-bin/perl/wwwthreads.pl上的qmail討論也不錯
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★