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

首頁 > 應用技術 > Qmail > 正文
qmail Vpopmail And sqwebmail HOWTO - 4:安裝及測試
本文出自: 作者: hleil(hleil@163.com) (2001-09-03 10:00:00)
4.1:基本系統 
4.2:vpopmail 
4.3:qmailadmin 
4.4:vqsignup 
4.5:sqwebmail 

本系統的安裝極為方便,如果你使用相關腳本安裝,可以毫不夸張的說:和安裝rpm包一樣簡單,基本可以達到 run-and-then-it-works。

4.1:基本系統

  • 1:

    rpm --rebuild ucspi-tcp-0.88-1.src.rpm

    rpm --rebuild daemontools-0.70-3.src.rpm

    rpm --rebuild supervise-scripts-2.4-1.src.rpm

    rpm -rebiuld ucspi-unix-0.34.src.rpm

  • 2:

    rpm -ivh /usr/src/redhat/RPMS/i386/ucspi-tcp-0.88-1.i386.rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/ucspi-unix-0.34.i386.rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/daemontools-0.70-3.i386.rpm

    rpm -ivh /usr/src/redhat/RPMS/noarch/supervise-scripts-2.4-1.noarch.rpm

  • 3:

    rpm -e --nodeps sendmail

  • 4:

    rpm -rebiuld qmail-1.03_252bpatches-18.src.rpm

    rpm -ivh /usr/src/redhat/RPMS/i386/qmail-1.03+patches-18.i386.rpm

  • 5:config

    (replace 192.168.2 with your own IP,replace hleil with your own user name)

    echo "127.allow" >> /etc/tcpcontrol/pop-3.rules

    echo "192.168.2.allow" >> /etc/tcpcontrol/pop-3.rules

    echo '127.allow,RELAYCLIENT=""' >> /etc/tcpcontrol/smtp.rules

    echo '192.168.2.allow, RELAYCLIENT=""' >> /etc/tcpcontrol/smtp.rules

    tcprules /etc/tcpcontrol/pop-3.cdb /etc/tcpcontrol/pop-3.tmp \

    < /etc/tcpcontrol/pop-3.rules

    tcprules /etc/tcpcontrol/smtp.cdb /etc/tcpcontrol/smtp.tmp \

    < /etc/tcpcontrol/smtp.rules

    echo hleil > /etc/qmail/alias/.qmail-root

  • 6:Start pop3 and smtp:

    killall -HUP init

    svc-add /var/qmail/service/pop3d

    svc-add /var/qmail/service/smtpd

    OK!基本的qamil系統已安裝完畢,夠簡單吧!root的郵件將發往hleil。

    要是你還嫌麻煩,我編輯了一個腳本qmail-1.03-18,修改一下,執行:

    ./qmail-1.03-18 install

    就行了!

    安裝腳本請到此下載

  • 7:說明

    本qmail沒有auto-create-Maildir-when-a message arrived 功能,需手工為用戶建立Maildir,或使用此腳本來轉換mailbox->Maildir並為每個系統用戶建立Maildir!

  • 8:測試

    OK!現在測試,給你自己發封郵件,看看能不能收到?當然,肯定沒問題!

    打開Outlook,發送和接收都應該是正常的!

  • 9:其他問題

    使用中的問題參見FAQ!

    4.2:vpopmail

  • 1:

    確保mysql運行正常,添加用戶vpopmail,vpopmailread,vpopmail擁有全部權限,用創建及管理 ,vpopmailread只可select,用vpopmail的日常運行。不要為vpopmail設定default-domain。實在無此必要。並可能帶來不必要的麻煩。

  • 2:

    tar- zxvf vpopmail-4.10.24.tar.gz

  • 3:

    cd vpopmail-4.10.24

    echo '#define MYSQL_UPDATE_SERVER "localhost"' >> vmysql.h

    echo '#define MYSQL_UPDATE_USER "vpopmail"' >> vmysql.h

    echo '#define MYSQL_UPDATE_PASSWD "vpopmailadmin"' >> vmysql.h

    echo '#define MYSQL_READ_SERVER "localhost"' >> vmysql.h

    echo '#define MYSQL_READ_USER "vpopmailread"' >> vmysql.h

    echo '#define MYSQL_READ_PASSWD "vpopmailread"' >> vmysql.h

    創建vchkpw組及vpopmail用戶

    ./configure --enable-auth-logging=y --enable-logging=v \

    --enable-log-name=vpopmail \

    --enable-mysql=y --enable-roaming-users=y \

    --enable-harkdquota=20000000 --enable-sqwebmail-pass=n \

    --enable-many-domains=n --enable-passwd=y \

    --enable-tcpserver-file=/etc/tcpcontrol/smtp \

    --enable-sqlincdir=/usr/include/mysql --enable-sqllibdir=/usr/lib/mysql \

    --enable-sqllibs=mysqlclient \

    --enable-ip-alias-domains=y --enable-qmail-ext=y \

    --enable-hardquota=20000000 --enable-mysql-replication=n \

    --enable-valias=y

    make clean

    make

    make install-strip

    (replace "$vpopmailhome" with your realy path)

    echo "$vpopmailhome"/bin/vchkpw > /etc/qmail/control/checkpassword

    svc-stop /service/pop3d

    svc-start /service/pop3d

    edit /etc/crontab,add this line(of course replace home-dir-of-vpopmail with realy path):

    40 * * * * /home-dir-of-vpopmail/bin/clearopensmtp 2>&1 > /dev/null

    then(非常重要!否則你的vpopmail設置會在下一個整點之消失):

    rm -f /etc/cron.hourly/qmail

    OK!

    安裝腳本請到此下載

  • 4:系統說明:

    pop3:用vchkpw代替checkpasswd,本域用戶查找/etc/passwd,虛擬域用戶查找mysql; smtp:由啟用了roaming-user,遠程用戶pop之,ip自動保存40分鐘,此階段內,用戶可用此IP發信。 由qmail-1.03_252bpatches-18.src.rpm默認安裝了一個自動更新/etc/qmail/users/assign及 /etc/qmail/users/cdb的/etc/cron.hourly/qmail,每小時更新/etc/passwd到 /etc/qmail/users/cdb,更新過程簡單覆蓋/etc/qmail/users/assign,若不刪除,將導致 vpopmail丟失在/etc/qmail/users/assign及/etc/qmail/users/cdb中的配置。其實對很少系統 用戶的系統來說,直接查詢/etc/passwd並不會導致系統性能下降,因此刪除此文件!不必找替代方案 (否則要寫個腳本代替了)。

  • 5:測試

    cd ~vpopmail/bin

    ./vadddomain test.com

    輸入MYSQL_UPDATE_PASS(前面設定的),你就可以建立一個test.com的虛擬域了,然

    ./vadduser user1@test.com

    然根據提示,設定user1@test.com的口令,OK,你已經有了一個基虛擬域test.com的用戶賬號user1,此賬號和系統本身是毫不相關的!

    在Outlook中設定一個新賬號,注意用戶名應該填user1%test.com!然測試收發,OK!

    4.3:qmailadmin

    4.3.1:autorespond

    tar -zxvf autorespond-1.0.0.tar.gz

    cd autorespond-1.0.0

    gcc -Wall -o autorespond autorespond.c #不必理會編譯警告

    cp autorespond /usr/local/bin/

    OK!

    4.3.2:ezmlm and ezmlm-idx with MySQL support!

    ezmlm-idx包含有對ezmlm的修正和補充,他們是一個整體。

    tar -zxvf ezmlm-0.53.tar.gz

    tar -zxvf ezmlm-idx.0.40.tar.gz

    mv ezmlm-idx-0.40/* ezmlm/

    cd ezmlm-0.53

    patch < idx.patch

    make mysql #MySQL 支持

    make clean

    make man

    make ch_GB #漢字GB2312支持

    make setup

    4.3.3:qmailadmin

    tar -zxvf qmailadmin-0.54.tar.gz

    cd qmailadmin-0.54

    (RedHat 7.1的http主目錄有所改變)

    mkdir /var/www/qmailadmin

    ./configure --enable-cgibindir=/var/www/cgi-bin \

    --with-htmllibdir=/var/www/qmailadmin --enable-htmldir=/var/www

    make clean

    make

    make install-strip

    OK!

    4.3.4:測試

    qmailadmin的測試very easy,打開瀏覽器,http://xx.xx.xx.xx/cgi-bin/qmailadmin

    輸入虛擬域名及postmaster口令,也就是MYSQL_UPDATE_PASS(前面設定的),Ok,可以管理本域的用戶了。

    注意:為了啟用maillist的MySQL支持,你必須首先:

  • 建用戶:(Ex:user:ezmlm,pass:ezmlm)

    mysql -u root -pXXXXX

    >use mysql;

    >insert into user values('localhost','ezmlm','','y','y','y','y','y','y','y','y','y','y','y','y','y','y');

    >update user set password=password('ezmlm') where user='ezmlm';

    >FLUSH PRIVILEGES;

    >exit;

  • 建庫:(Ex:database:ezmlm)

    mysqladmin -u root -pXXXXX create ezmlm

    在你建立一個基MySQL的maillist之前,你必須保証ezmlm庫中已存在一個對應的表:

    Ex:你想建一個基MySQL的maillist:testlist

    /usr/local/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm -pezmlm -f ezmlm

    這樣就在ezmlm庫中為testlist建立了一系列相關表格:

    | testlist |

    | testlist_allow |

    | testlist_allow_slog |

    | testlist_cookie |

    | testlist_deny |

    | testlist_deny_slog |

    | testlist_digest |

    | testlist_digest_cookie |

    | testlist_digest_mlog |

    | testlist_digest_name |

    | testlist_digest_slog |

    | testlist_mlog |

    | testlist_mod |

    | testlist_mod_slog |

    | testlist_name |

    | testlist_slog

    你可以用mysqlshow -u root -pXXXX ezmlm 察看!

    OK!現在已可以通過qmailadmin建一個支持MySQL的maillist:testlist,選擇Enable SQL support,

    SQL setting:

    host:localhost,port:3306,user:ezmlm,password:ezmlm,database:ezmlm,table:testlist

    Click Add,OK!Congratulate yourself!

    如果你不需要MySQL支持,就不用這麻煩了!

    安裝腳本請到此下載!已經建好了缺省的數據庫:ezmlm,用戶:ezmlm;測試表:list。

    另外請大家探討一下如何使qmailadmin在建支持MySQL的maillist時自動建表。歡迎發信至hleil@163.com

    4.4:vqsignup

    vqsignup的安裝文檔說“This program is not easy to install, so good luck ;]”,據我的經驗, vqsignup的安裝相當簡單,由涉及比較多的文件編輯工作,同時比較簡單,所以,vqsignup不提供安裝腳本。以下 是安裝過程:

  • 1:tar -zxvf vqsignup-0.5.tar.gz

  • 2:編譯

    cd vqsignup-0.5

    ./configure

    make

  • 3:執行部分

    cp vqsignup /var/www/cgi-bin/vqsignup.cgi

    chown vpopmail /var/www/cgi-bin/vqsignup.cgi

    chgrp vchkpw /var/www/cgi-bin/vqsignup.cgi

    chmod ug+s /var/www/cgi-bin/vqsignup.cgi

    cp vqsignup.conf /var/www/cgi-bin/

    chmod ugo+r /var/www/cgi-bin/vqsignup.conf

  • 4:html界面

    mkdir /var/www/cgi-bin/vqsignup

    mkdir /var/www/cgi-bin/vqsignup/html

    cp html/* /var/www/cgi-bin/vqsignup/html/

    cp vqsignup.html /var/www/html

  • 5:修改

    修改 /var/www/html/vqsignup.html 的下拉列表項以符合你的虛擬域;

    修改 /var/www/cgi-bin/vqsignup.conf 的add_domain項以符合你的虛擬域;

    /var/www/html/vqsignup.html和/var/www/cgi-bin/vqsignup.conf的虛擬域必須一一對應。

  • 6:測試

    打開瀏覽器,http://xxx.xxx.xxx.xxx/vqsignup.html

    輸入用戶名、密碼,Click Submit,OK!

    你可以使用qmailadmin察看,對應的虛擬域中已經多了一個用戶!

    4.5:sqwebmail

    伴隨1.0發布的sqwebmail安裝腳本不可用,請大家注意!

    在腳本中設定的環境變量好像不起作用,如果用手工方式設定環境變量,然執行 ./configure ...... 就一切OK!我不知道是什原因,如果你解決了這個問題,請不吝賜教

    OK,現在讓我們手工編譯sqwebmail吧,好在比較簡單。

  • 1:

    確保已經下載了最新的preauthvchkpw.c(if use vpopmail4.10.X)

    tar -zxvf sqwebmail-2.1.1.tar.gz

    cp -f preauthvchkpw.c sqwebmail-2.1.1/authlib

  • 2:編譯

    cd sqwebmail-2.1.1

    #設定環境

    INCS=-I/usr/include/mysql

    export INCS

    LIBS="-L/usr/lib/mysql -lmysqlclient -lz"

    export LIBS

    CPPFLAGS=-I/usr/include/mysql

    LDFLAGS=-L/usr/lib/mysql

    export CPPFLAGS

    export LDFLAGS

    ./configure --with-cachedir --without-gzip --enable-webpass=yes \

    --enable-softtimeout=300 --enable-autopurge=180 --enable-maxpurge=180 \

    --with-htmllibdir=/var/www/sqwebmail --enable-cgibindir=/var/www/cgi-bin \

    --enable-imagedir=/var/www/images/sqwebmail \

    --enableimageurl=/images/sqwebmail/ \

    --enable-mimecharset=gb2312 --with-maxargsize=5000000 \

    --with-maxformargsize=5000000 --with-maxmsgsize=5000000 --without-ispell \

    --with-authshadow --without-authmysql --with-authldap --with-authuserdb \

    --with-authpwd --without-authpam --with-authvchkpw --without-authdaemon

    make configure-check;make;make check;make install-strip;make install-configure

    #系統用戶採用shadow驗証,虛擬域採用vchkpw驗証,禁止其他驗証方式

    echo "authvchkpw authshadow" > /var/www/sqwebmail/authmodulelist

  • 3:關gb2312的說明:

    按照“SqWebMail Language translations”的說明,似乎設定其他語言是一件很復雜的事,由 “SqWebMail Language translations”沒有隨版本更新,不清楚對sqwebmail-2.1.1來說有沒有變動, 但我沒有按照它說的去做,而是這樣:

    cd /var/www/sqwebmail/html

    mkdir zh_CN

    cp en_us/* zh_CN/

    rm -f en

    ln -s zh_CN en

    #設定

    cd en

    echo zh_CN > LANGUAGE

    echo zh_CN zh_CN >LANGUAGE_PREF

    echo zh_CN > LOCALE

    echo gb2312 > CHARSET

    然編輯所有.html文件,換成漢字。使用中沒有發現問題。

  • 4:測試

    打開瀏覽器,http://xxx.xxx.xxx.xxx/cgi-bin/sqwebmail

    輸入用戶名、口令,OK!(系統用戶直接輸入用戶名、虛擬域用戶輸入Email地址:user@domain.com)

  • 5:更多問題請看FAQ!
    (http://www.fanqiang.com)
        進入【UNIX論壇

  • 相關文章
    qmail Vpopmail And sqwebmail HOWTO - 5:FAQ - 6:結束 (2001-09-03 12:00:00)
    qmail Vpopmail And sqwebmail HOWTO - 4:安裝及測試 (2001-09-03 10:00:00)
    qmail Vpopmail And sqwebmail HOWTO - 3:獲得各組件 (2001-09-03 09:00:00)
    qmail Vpopmail And sqwebmail HOWTO - 2:準備工作 (2001-09-03 08:00:00)
    qmail Vpopmail And sqwebmail HOWTO - 1:介紹 (2001-09-03 07:00:01)
     

    ★  樊強制作 歡迎分享  ★