安装Qmail+qmailadmin+sqwebmail+IGEUNS+smtp认证补丁的一点心得

12/3/2006来源:Qmail人气:7540

我是用iceblood的包来安装的,在安装过程中出了一些错误,得到了peng老大和gadfly老大还有论坛上很多朋友的帮忙,特把我安装过程中的一点心得在这里献丑了。文章中有一些是我参考论坛上的一些帖子的。
本文是我在RH linux 7.3+apache2+php4+MySQL3.23.5x中成功实现的,以下提到的软件我

全部打成一个包,各位可以到这里下载:
http://www.haohaoo.com/qmail.tar.gz

第一、请先安装好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的包就基本安装好了,你可以用
http://mail.domain.com/cgi-bin/qmailadmin
http://mail.domain.com/cgi-bin/sqwebmail
来用你的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:

SIZE="10" STYLE="font-family: Tahoma">
@

CLASS="myinput2" STYLE='font-family:Tahoma'> ----删除@后面的句子,改变成以下:



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-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测试一下,不过向本域发信是不用认证的哦。

好了,下课咯,如果有什么错误的地方,请各位指出。
,