歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 中小企業服務器配置方案 第四章(2)

中小企業服務器配置方案 第四章(2)

日期:2017/2/27 14:19:39   编辑:更多Linux
  第四章 郵件服務器 第二節 Qmail服務器 2.1 簡介 Qmail是一種可以完全替代Sendmail-binmail體系的新一代Unix郵件系統.Qmail與Sendmail比起來有很多特性,包括: 安全 ----Qmail將Mail處理過程分為多個過程,盡力避免用root用戶運行.同時Qmail禁止對特權用戶(root,deamon等)直接發 信. 可靠 ----Qmail的直接投遞保證Email在投遞過程中不會丟失. Qmail同時支持新的更可靠的信箱格式Maildir,保證系統在突然崩潰情況下不至破壞整個信箱. 高效 ----在運行於奔騰的BSD/OS上,Qmail每天可以輕松的投遞200000封信件. 簡單 ----Qmail要比其他的Internet Mail系統小得多.Qmail通過統一的向前機制完成forwarding,alias和maillist等功能,Qmail使用簡單高效隊列來處理投遞.Qmail-smtpd可以由inetd啟動,節省了一定資源. Qmail支持: host and user masquerading full host hiding virtual domains null clients list-owner rewriting relay control double-bounce recording arbitrary RFC 822 address lists cross-host mailing list loop detection 2.2 所需資源 2.2.1 所需包 qmail-1.03.tar.gz       Qmail基本系統包 UCspi-tcp-0.88.tar.gz     tcpserver等服務程序 daemontools-0.70.tar.gz    監視工具 checkpassWord-0.90.tar.gz   pop3驗證用戶程序 vpopmail-4.9.8.tar.gz     虛擬域用戶pop3支持 vqsignup-0.4          web方式用戶注冊 sqwebmail-1.2.4.tar.gz     webmail qmailadmin-0.42.tar.gz     虛擬域web方式管理 ezmlm-0.53.tar.gz       郵件列表管理 autorespond-1.0.0.tar.gz    自動回復程序 2.2.2 下載網址 http://www.qmail.org http://www.inter7.com/qmail 2.3 安裝過程 安裝Qmail基本包 添加Qmail所必須的用戶和組 mkdir /var/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 nofiles -d /var/qmail qmailq useradd -g nofiles -d /var/qmail qmailr useradd -g nofiles -d /var/qmail qmails 安裝Qmail包 cd /usr/local/src tar xvzf qmail-1.03.tar.gz cd qmail-1.03 make setup check ./config-fast $HOSTNAME # 設定Qmail服務器主機名 cd ~alias;touch .qmail-postmaster .qmail-mailer-\ daemon .qmail-root sed 's/Mailbox/Maildir\//' /var/qmail/boot/home >\


/var/qmail/rc chmod 755 /var/qmail/rc 安裝tcpserver等服務程序 cd /usr/local/src tar xvzf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check 安裝pop3驗證用戶程序 cd /usr/local/src tar xvzf checkpasswd-0.90.tar.gz cd checkpasswd-0.90 make make setup check chmod og-rx /bin/checkpassword 安裝虛擬域用戶pop3支持 groupadd vchkpw useradd -g vchkpw vpopmail mkdir ~vpopmail/etc echo "127.0.0.:allow,RELAYCLIENT=\"\"" > ~vpopmail/etc/tcp.smtp echo "192.168.0.:allow,RELAYCLIENT=\"\"" >> ~vpopmail/etc/tcp.smtp echo ":allow" > /etc/tcp.smtp /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp cd /usr/local/src tar xvzf vpopmail-4.9.8.tar.gz cd vpopmail-4.9.8 make clean ./configure --enable-hardquota=10485760 --enable-deliver-filter=y make make install-strip cd /home/vpopmail/bin ./vadddomain weboa.com.cn weboa ./vadduser [email protected] thj 更改Sendmail為Qmail killall -TERM sendmail mv /usr/lib/sendmail /usr/lib/sendmail.org mv /usr/sbin/sendmail /usr/sbin/sendmail.org mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.org ln -s /var/qmail/bin/sendmail /usr/lib/sendmail ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail cp /root/qmail/qmail-start /etc/rc.d/init.d/ -f cp /root/qmail/databytes /var/qmail/control/ -f ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S98qmail 制作Qmail控制腳本 #!/bin/sh case "$1" in start) echo "start qmail:" /var/qmail/rc & echo "start smtp service:"    /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 /var/qmail/bin/splogger \ smtpd 3 & echo "start pop3 service:"    /usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/ \ qmail-popup $HOSTNAME /home/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d Maildir & \ ;; stop)    echo "stop qmail:" killall -9 tcpserver killall -9 qmail-lspawn ;; *) exit 1 ;; esac exit 0 安裝監視工具 cd /usr/local/src 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之Web解決方案 安裝郵件列表管理 cd /usr/local/src tar zxvf ezmlm-0.53.tar.gz make make man make setup 安裝自動回復程序 cd /usr/local/src tar zxvf daemontools-0.70.tar.gz gcc -Wall -o autorespond autorespond.c cp autorespond /usr/local/bin/autorespond 安裝虛擬域web方式管理 cd /usr/local/src tar zxvf qmailadmin-0.42.tar.gz cd qmailadmin-0.42.tar.gz    在安裝前首先要考慮滿足以下幾項要求:    a.是否擁有一個vpopmail用戶vchkpw    b.cgi-bin目錄的所在位置    c.ezmlm目錄的所在位置    d.autorespond目錄的所在位置    如果能夠達到以上要求,可以繼續安裝    ./configure    make    make install-strip    檢測安裝是否正確:浏覽器中打開路徑    http://mail.weboa.com.cn/cgi-bin/qmailadmin,    看根據前面設置的用戶和密碼是否能夠成功登錄進去。 安裝WebMail包 cd /usr/local/src tar zxvf sqwebmail-1.2.4.tar.gz cd sqwebmail-1.2.4.tar.gz ./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.weboa.com.cn/cgi-bin/sqwebmail 安裝vqsignup tar xvfz vqsignup-0.4.tar.gz cd vqsignup-4.0 修改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的目錄 編譯 make 安裝 拷貝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目錄下,確信對所有用戶可讀 拷貝vqsign



    http://mail.weboa.com.cn/cgi-bin/sqwebmail 安裝vqsignup tar xvfz vqsignup-0.4.tar.gz cd vqsignup-4.0 修改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的目錄 編譯 make 安裝 拷貝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目錄下,確信對所有用戶可讀 拷貝vqsign



修改 -L/home/vpopmail/lib 為真的vpopmail lib的目錄 編譯 make 安裝 拷貝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目錄下,確信對所有用戶可讀 拷貝vqsign



Copyright © Linux教程網 All Rights Reserved