• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-02 21:50 | 作者: admin | 来源: | 查看: 8次 | 进入软件测试论坛讨论

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

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

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网