安裝Qmail+qmailadmin+sqwebmail+IGEUNS+smtp認證補丁的一點心得
發表于:2007-07-02來源:作者:點擊數:
標簽:
我是用iceblood的包來安裝的,在安裝過程中出了一些錯誤,得到了peng老大和gadfly老大還有論壇上很多朋友的幫忙,特把我安裝過程中的一點心得在這里獻丑了。文章中有一些是我參考論壇上的一些帖子的。 本文是我在RH Linux 7.3+apache2+ php 4+mysql3.23.5x中
我是用iceblood的包來安裝的,在安裝過程中出了一些錯誤,得到了peng老大和gadfly老大還有
論壇上很多朋友的幫忙,特把我安裝過程中的一點心得在這里獻丑了。文章中有一些是我參考論壇上的一些帖子的。
本文是我在RH Linux 7.3+apache2+
php4+mysql3.23.5x中成功實現的,以下提到的軟件我
全部打成一個包,各位可以到這里
下載:
第一、請先安裝好Apache+php+mysql,雖然iceblood的包里面有帶apache,不過我還是建議自己安裝apache比較好。還有,mysql盡量用新一點的版本,我聽有的朋友說他安裝iecblood包后mysql中老是沒有生成vpopmail的庫,后來換個新點的版本就可以了,我自己是用3.23.5x的。至于這個的安裝方法我就不說了,你搜索一下論壇的帖子就知道了。
第二、安裝iceblood的包,我用的是Qmail_setup-v1.5.4a.stable.tar.gz版本,執行如
下命令:
#tar -zxvf Qmail_setup-v1.5.4a.stable.tar.gz
#cd Qmail_setup
#vi setup //編輯setup安裝文件,其各項設置解釋如下:
PHP: |
# Please set your system,default is FreeBSD,more have Linux
_OS="FreeBSD" //設置你的系統為FreeBSD,其他還可以設置為Linux
# Please set your language,default is EN,more have CN
_LANG="EN" //設置你的語言為英語,其他還有
# If you don@#t need install apache
# Please set the _INSTALLAPACHE="NO"
# if you want change the apache install
# path, you can modify the _APACHEPATH
_INSTALLAPACHE="YES" //這里設置你是否安裝apache如果你不安裝的話請
把"YES"該成"NO"。
# If Qmail Users Already exist
# Please set the ADDQMAILUSERS="NO"
_ADDQMAILUSERS="YES" //這里是你是否添加qmail用戶,有時linux系統因為
默認就有了qmail用戶,所以可以把這個改成"NO"跳過用戶的添加,不過您不知道是否添
加了,還是用"YES"為好。
# Domain Name
_DOMAIN=Domain.com //這里設置你的默認域名,我這里默認是
Domain.com,
如果你的域名是abcd.com你就把"Domain.com"改成abcd.com就行了。
# MailAdmin Password
_MAILPASSWD=1234 //這里設置你默認的域名的管理員密碼,初使設置為1234,你也可
以修改,當然你也可以在安裝后用/home/vpopmail/bin/vpasswd [email]postmast@abcd.com[/email]來修改
管理員密碼。
# set you CGI Path
_CGIBIN=/usr/local/apache/cgi-bin //這里是設置你的CGI路徑,在FreeBSD
下一般apache裝在/usr/local/apache所以就是“/usr/local/apache/cgi-bin”這里你也可以
自己修改,比如linux默認是/var/www/cgi-bin如果你用在linux上,那么你就可以把這里改
成這個了。
# set you Html Path
_HTMLPATH=/usr/local/apache/htdocs //同上這里是你的HTML文件存放的路徑,
linxu的好象是/var/www/htdocs 。
現在我們再來看高級設置部分。(高級設置在一般情況下可以不必去動他)
高級設置在初級設置比較下面的位置。
###########--------Advanced set--------#################
# "n" disables quotas, or # where # is a number in bytes NOT y, do not use "Y",
"y" is BAD
_MAILSIZE=n //這里是設置用戶郵件大小的地方,默認是無限制,假如你想
限制
為2M那么你把“n”設置為2000000s就行了。這里千萬不要用“y”這個字母,不然會出錯的!
!
# enable virutal domain lookup via reverse ip address lookup for virtual domains.
"y" and "n"
_USERCRUISE=n //這里是設置用戶漫游的地方,由于有SMTP驗證,所以在這里一般為"n"。
# qmail install path
_QMAILPATH=/var/qmail //一般情況安裝qmail都安裝在/var/qmail下,
但考慮到一部分人想修改一下,所以就加了這個選項。最好不要修改。
# apache install path
_APACHEPATH=/usr/local/apache //這里是如果你安裝apache的話,你可以修改
apache的
安裝路徑,一旦修改了前面的CGI和HTML路徑也請隨之修改。建議不要修改。
# do you use system password. "y" and "n"
_SYSTEMPASS=n //這里是設置qmail是否使用系統帳號的地方,如果使用改成y的
話,
那么你的qmail就不再是虛擬用戶了,而切該包的很多功能也將丟失。(說實話我也沒用過,
后
果如何我也不知道~ :P)
# install vpopmail "YES" or "NO"
_VPOPMAIL="YES" //這里設置是否安裝VPOPMAL
# install ezmlm "YES" or "NO"
_EZMLMIN="YES" //這里設置是否安裝郵件列表軟件
# ezmlm coding
_EZMLM=ch_GB //這里設置郵件列表的語言
# install autorespond "YES" or "NO"
_AUTORESPOND="YES" //這里設置是否安裝自動回復
# install QmailAdmin "YES" or "NO"
_QMAILADMIN="YES" //這里設置是否安裝QmailAdmin
###########------sqwebmail set-----------##################
# install webmail "YES" or "NO"
_WEBMAIL="YES" //這里是設置是否使用webmail的地方,考慮到很多朋友不需要
用
到webmail,或有更好的,所以就加了這個選項,如果不想用該成NO就可以了。
# webmail coding set.have "iso","gb2312","big5" and more.
_MIMESET=gb2312 //這里設置webmail的語言。
數據庫設置部分,數據庫本人使用的是使用mysql數據庫,由于條件的限制,所以還沒有把
sybase、oracle
等其他大型數據庫也集成進去。有興趣的朋友們可以嘗試著試試。
##########--------SQL set---------################
# use mysql,default is no,if you use mysql for set "y"
_SQL=n //這里是設置是否支持數據庫,把n改成y的話就可以使用數據庫了,并
切也請
設置以下數據庫參數。
# mysql host
_SQLHOST=localhost //數據庫做在的位置,一般為本地也就是localhost。
# mysql user
_SQLUSER=root //數據庫用戶名。
# mysql passwd
_SQLPASS=123456 //數據庫密碼。
# include path
_INCDIR=/usr/local/mysql/include/mysql //mysql數據庫的include文件路徑。
# lib file path
_LIBDIR=/usr/local/mysql/lib/mysql //mysql數據庫的lib文件路徑。
|
以上設置完畢后保存,輸入chmod 755 setup 設置setup為可運行。(默認應該就是)然
后再./setup
就開始安裝了。最好用./setup >install.log來進行安裝,安裝的整個過程都會記錄在
install.log
這個文件里。
執行setup安裝后會出現如下的錯誤信息,不過不要管他,可以照用
PHP: |
./setup: [Linux: command not found
./setup: line 270: 9712 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh (wd: /tmp/iceblood/Qmail_setup)
./setup: line 290: 11969 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh (wd: /tmp/iceblood/Qmail_setup)
./setup: line 349: 12819 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh
./setup: line 350: 12849 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh
./setup: line 400: 14308 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh
mv: cannot stat `/usr/include/string.h.bak@#: No such file or directory
./setup: line 401: 15760 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh
./setup: line 449: 15788 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh
./setup: line 450: 16641 Terminated sh
/tmp/iceblood/Qmail_setup/iceblood/sleep.sh (wd: /tmp/iceblood/Qmail_setup)
|
到這里iceblood的包就基本安裝好了,你可以用
來用你的mail系統了,不過這樣還很簡陋。
第三、安裝IGEUNS,把IGEUNS包解開后修改config目錄下的config_inc.php文件,其中各
項解釋如下:
PHP: |
$CFG_BASEPATH = "/home/email";
$ CFG_BASEPATH -----是iGNEUS webmail安裝在系統的路徑。
$CFG_MYSQL_HOST = @#localhost@#;
$CFG_MYSQL_HOST -----是mysql服務器的地址。
$CFG_MYSQL_USER = @#root@#;
$CFG_MYSQL_USER -----是mysql服務器的用戶名。
$CFG_MYSQL_PASS = @#123456@#;
$CFG_MYSQL_PASS -----是mysql服務器的密碼,根據你的實際填寫
$CFG_HOSTNAME = "http://mail.haohaoo.com/";
$CFG_HOSTNAME-----是服務器的主機名,根據你的實際填寫
$CFG_LANGUAGE = gb;
$CFG_LANGUAGE-----是系統默認語言,可有中英日可選。
$CFG_GMT = +8; // GMT time local
$CFG_GMT----是時區設置,中國選+8。
$CFG_TEMP = $CFG_BASEPATH."/../temp";
$CFG_TEMP----臨時文件的位置,一般是/tmp,
則修改為:$CFG_TEMP = "/tmp";你也可以自己設置一個。
|
修改login.php文件
PHP: |
<INPUT CLASS=myinput2 TYPE="text" NAME="name" VALUE="news"
SIZE="10" STYLE="font-family: Tahoma">
@
<INPUT TYEP="test" NAME="domain" VALUE="<?php echo $ Cookies_Domain;?>" SIZE="19"
CLASS="myinput2" STYLE=@#font-family:Tahoma@#> ----刪除@后面的句子,改變成以下:
<SELECT name=domain> <OPTION class=myinput2 selected
value=domain.com SIZE="19"
STYLE=@#font-family:Tahoma@#>domain.com</OPTION></SELECT>
|
login.php文件也可以不用修改,不過這樣修改是為以后登陸方便點,其中domain.com修改為你的域名。
在mysql中創建address表,具體表結構如下:
PHP: |
create table address
(
id int(11) unsigned NOT NULL auto_increment,
pw_id int(5) unsigned NOT NULL default @#0@#,
name varchar(64) NOT NULL default @#@#,
email varchar(128) NOT NULL default @#@#,
UNIQUE KEY id (id),
KEY pw_id (pw_id)
);
|
修改原來的vpopmail表,方法如下:
PHP: |
use vpopmail;
alter table vpopmail drop primary key;
alter table vpopmail add column pw_id int(5) NOT NULL primary key auto_increment;
|
(注:添加address table,是因為要使用igenus中的個人通訊錄,添加pw_id是因為igenus用它來標識用戶的唯一性的,但vpopmail用的是pw_uid)
接下來更改你的apache的啟動用戶為:vpopmail 組為: vchkpw,不然你登陸IGEUNS就會出現下面的錯誤信息
PHP: |
Warning: is_file() [function.is-file]: Stat failed for
/home/vpopmail/domains/haohaoo.com/test/.config (errno=13 - Permission denied) in
/home/email/config/config_inc.php on line 73
|
還有要修改一下/usr/local/qmail/bin/sendmail文件的權限為755,不然你的IGEUNS就不能發信了,因為qmail安裝后把/usr/sbin/sendmail這個文件連接到他自己那里去了,可是權限默認全為700。
第四、為qmail打補丁,默認安裝好iceblood包后用smtp發信好像認證有點問題,打補丁
步驟如下:
PHP: |
#tar -zxvf Qmail_setup-v1.5.4a.stable.tar.gz //解開iceblood包
#cd Qmail_setup
#tar -zxvf qmail-1.03.tar.gz //解開qmail源碼包
#cp ../qmail-smtpd.c qmail-1.03 //復制qmail-smtpd.c到qmail源碼包里,默認這個文件
是和Qmail_setup在同一目錄下的,輸入命令后會出現一個提示,問你是否覆蓋文件,選y。
#patch <qmail-103.patch //這個輸入后就會提示叫你輸入補丁路徑,
輸入路徑:qmail-1.03/qmail-smtpd.c
輸入完后就生成可編譯文件
#cd qmail-1.03 //進入qmail源碼目錄
#make qmail-smtpd //編譯出qmail-smtpd這個補丁
|
把qmail-1.03里面的qmail-smtpd復制到/usr/local/qmail/bin里面覆蓋掉舊的文件,到這里我們補丁就打好了,你可以用outlook或者foxmail
測試一下,不過向本域發信是不用認證的哦。
好了,下課咯,如果有什么錯誤的地方,請各位指出。,
原文轉自:http://www.kjueaiud.com