FreeBSD
FreeBSD網站平台建設全過程(五、安裝配置E-mail服務器)[原創]
第五步:安裝配置E-mail服務器
ylf 寫於2003年6月
演示地址:http://baihua.3322.org/cgi-bin/sqwebmail
iceblood前輩制作的qmail安裝包使安裝qmail郵件服務器簡化了許多,只是sqwebmail漢化的好像有點問題,我下載了一個漢化好的sqwebmail,將它填入iceblood前輩的安裝包內,可以隨安裝包一次安裝完成。為了提供郵箱注冊功能,我使用了最新版本的vqregister-2.5,並將其界面進行了簡單的漢化。
本E-mail服務器包含的功能
1、Qmail帳號與系統帳號的分離。
2、Qmail郵件列表功能。
3、Qmail自動回復功能。
4、對vpopmail的支持。
5、郵件帳號WEB管理方式。
6、郵件的WEB使用方式,如:WEB發郵件,查看郵件。
7、能任意調整WEB的CGI以及HTML路徑。
8、SMTP服務的密碼驗證功能,能有效的防止別人利用自己的服務器發送匿名信。
9、選擇性安裝webmail。
10、對虛擬域的支持。
11、增加qmail的管理腳本,安裝後可以運行qmail start|stop|restart來管理qmail。
12、全面支持Mysql數據庫,只要在SQL設置區裡打開數據庫的支持,並設置好數據庫密碼,就可以支持數據庫了。
13、增加了QmailAdmin和sqwebmail的中文界面!![新]
14、對很多包有是否安裝的可選擇余地![新]
以上為iceblood前輩制作的qmail安裝包v1.5.3自帶功能。
在此基礎上我添加了修改過的sqwebmail的中文界面並增加了郵箱注冊功能(中文界面)。
下載qmail安裝包1.5.3
ftp://baihua.3322.org/pub/server/Qmail_setup-v1.5.3.tar.gz
下載修改過的漢化安裝包sqwebmail-3.5.0
ftp://baihua.3322.org/pub/server/sqwebmail-3.5.0-cn.tar.gz
下載我漢化後的vqregister-2.5
ftp://baihua.3322.org/pub/server
英文原版vqregister-2.5下載地址
http://inter7.com/vqregister.html
首先把下載的安裝文件上傳到/home/ylf/app目錄
解壓縮qmail_setup-v1.5.3安裝包
# cd /home/ylf/app
# tar zxvf qmail_setup-v1.5.3.tar.gz
進入解開的目錄
# cd Qmail_setup
將新的sqwebmail中文安裝包拷到此目錄
# cp ../sqwebmail-3.5.0-cn.tar.gz ./
編輯安裝配置文件setup
# vi seutp
按系統情況修改如下內容:(這裡是我的配置)
# 操作系統類型為FreeBSD
_OS="FreeBSD"
# 默認語言為中文
_LANG="CN"
# 不安裝apache
_INSTALLAPACHE="NO"
# 添加qmail用戶
_ADDQMAILUSERS="YES"
# 域名
_DOMAIN=mail01.3322.org
# 郵箱管理員密碼
_MAILPASSWD=1234
# CGI路徑
_CGIBIN=/usr/local/www/cgi-bin
# Html路徑
_HTMLPATH=/usr/local/www/data
###########--------Advanced set--------#################
# 設置郵箱容量50M
_MAILSIZE=50000000
# enable virutal domain lookup via reverse ip address lookup for virtual domains. "y" and "n"
_USERCRUISE=n
# apache 安裝路徑
_APACHEPATH=/usr/local
# 不使用系統用戶驗證
_SYSTEMPASS=n
# 安裝 vpopmail
_VPOPMAIL="YES"
# 安裝 ezmlm
_EZMLMIN="YES"
# ezmlm coding
_EZMLM=ch_GB
# 安裝 autorespond
_AUTORESPOND="YES"
# 安裝 QmailAdmin
_QMAILADMIN="YES"
##########--------SqWebMail set--------#############
# 安裝 webmail
_WEBMAIL="YES"
# webmail coding set.have "iso","gb2312","big5" and more.
_MIMESET=gb2312
# webmail use SSL,"YES" or "NO"
_WEBHTTPS="NO"
##########--------SQL set---------################
# 使用數據庫
_SQL=y
# mysql 主機
_SQLHOST=localhost
# mysql 用戶
_SQLUSER=root
# mysql 密碼
_SQLPASS=123456
# include path
_INCDIR=/usr/local/include/mysql
# lib file path
_LIBDIR=/usr/local/lib/mysql
然後在安裝腳本裡找到下面幾句
tar xzf sqwebmail-3.3.7.20020910.tar.gz
cd sqwebmail-3.3.7.20020910
if [ "$_LANG" = "CN" ]; then
cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-us
fi
將其改為
tar xzf sqwebmail-3.5.0-cn.tar.gz
cd sqwebmail-3.5.0
#if [ "$_LANG" = "CN" ]; then
#cp /tmp/iceblood/Qmail_setup/iceblood/sqwebmailcn/*.html sqwebmail/html/en-us
#fi
改好後保存。這樣安裝包就可以自動安裝新的sqwebmail程序。
讓setup可執行
# chmod 700 setup
執行setup安裝
# ./setup
安裝完成後系統自動運行qmail程序。可以通過qmail start|stop手動啟動或停止qmail程序。
測試
因為我們前面設置了虛擬主機www01.3322.org 和 www02.3322.org,他們的文檔目錄不是安裝qmail時所指定的目錄。為了保證郵件訪問正常,我們再添加一個虛擬主機mail01.3322.org,
將它的文檔目錄指向/usr/local/www/data:
先到希網申請一個域名,我們假設它是mail01.3322.org
編輯/usr/local/etc/apache/httpd.conf
# vi /usr/local/etc/apache/httpd.conf
添加下面一段
<VirtualHost *>
ServerAdmin
[email protected] DocumentRoot /usr/local/www/data
ServerName mail01.3322.org
ErrorLog /var/wwwlogs/mail01.3322.org.error.log
CustomLog /var/wwwlogs/mail01.3322.org.log common
</VirtualHost>
重新啟動apache
# /usr/local/etc/rc.d/apache.sh stop
# /usr/local/etc/rc.d/apache.sh start
首先確認mail01.3322.org已經正確指向了你的主機ip地址。然後在浏覽器地址欄輸入http://mail01.3322.org/cgi-bin/qmai...g,密碼是1234。
建立一個新用戶,然後在浏覽器地址欄輸入http://mail01.3322.org/cgi-bin/sqwebmail
以你新建立的用戶登錄,就可以收發郵件了!
關於SMTP驗證的問題:
網上有很多討論關於qmail安裝包的smtp驗證有問題的文章,我經過反復測試,發現iceblood前輩的安裝包本身並沒有問題,問題出在foxmail上,如果你使用Foxmail4.2發郵件,不需要在smtp驗證添任何內容就能發出去;如果是使用outlook,不添或添錯了smtp驗證內容都發不出去。大家可以試試。所以我這裡沒有給qmail-smtp打補丁。(iceblood前輩的安裝包不同版本之間好像有區別,建議大家下載我這個)
安裝vqregister-2.5
vqregister-2.5是vqsignup的升級版本,提供qmail郵箱注冊功能。
進入vqregister-2.5安裝目錄
# cd /home/ylf/app/vqregister-2.5-cn
編譯安裝前需要修改兩個文件
修改register.c文件
# vi register.c
找到下面一行
eret = execl("/var/qmail/bin/qmail-remote", "/var/qmail/bin/qmail-remote", p, "
[email protected]", cemail, NULL);
將裡面的qmail路徑指向正確的路徑,這裡改為
eret = execl("/usr/local/qmail/bin/qmail-remote", "/usr/local/qmail/bin/qmail-remote", p, "
[email protected]", cemail, NULL);
修改安裝配置文件Makefile
# vi Makefile
找到這幾行
DEFS = -I$(VDIR)/include -I/usr/local/mysql/include
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/mysql/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/apache/cgi-bin/vqregister
將它們改成實際路徑,這裡是
DEFS = -I$(VDIR)/include -I/usr/local/include/mysql
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/www/cgi-bin/vqregister
編譯安裝
# make install
安裝完成後需要編輯vqregister的配置文件
# cd /usr/local/www/cgi-bin/vqregister
# vi vqregister.conf
修改下面幾項
# 設置管理信息
AdminEmail
[email protected] # 設置郵箱使用的域名
AllowDomain mail01.3322.org
其它項目可根據注釋修改,不改也行,直接保存即可。
測試vqregister
在浏覽器地址欄輸入http://mail01.3322.org/cgi-bin/vqre.../vqregister.cgi ,按要求添入注冊信息,提交後顯示注冊成功信息,證明你的vqregister安裝成功!如果出現錯誤,請按提示檢查注冊信息或檢查vqregister.conf文件。