安装Qmail+qmailadmin+sqwebmail+IGEUNS+smtp认证补丁的一点心得
作者:纪增雄
E-mail:master@haohaoo.com
我是用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安装文件,其各项设置解释如下:
[code:1:323692cf5e]
# 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 postmast@abcd.com来修改
管理员密码。
# 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文件路径。
[/code:1:323692cf5e]
以上设置完毕后保存,输入chmod 755 setup 设置setup为可运行。(默认应该就是)然
后再./setup
就开始安装了。最好用./setup >install.log来进行安装,安装的整个过程都会记录在
install.log
这个文件里。
执行setup安装后会出现如下的错误信息,不过不要管他,可以照用
[code:1:323692cf5e]
./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)
[/code:1:323692cf5e]
到这里iceblood的包就基本安装好了,你可以用
http://mail.domain.com/cgi-bin/qmailadmin
http://mail.domain.com/cgi-bin/sqwebmail
来用你的mail系统了,不过这样还很简陋。
第三、安装IGEUNS,把IGEUNS包解开后修改config目录下的config_inc.php文件,其中各
项解释如下:
[code:1:323692cf5e]
$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";你也可以自己设置一个。
[/code:1:323692cf5e]
修改login.php文件
[code:1:323692cf5e]
<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>
[/code:1:323692cf5e]
login.php文件也可以不用修改,不过这样修改是为以后登陆方便点,其中domain.com修改为你的域名。
在mysql中创建address表,具体表结构如下:
[code:1:323692cf5e]
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)
);
[/code:1:323692cf5e]
修改原来的vpopmail表,方法如下:
[code:1:323692cf5e]
use vpopmail;
alter table vpopmail drop primary key;
alter table vpopmail add column pw_id int(5) NOT NULL primary key auto_increment;
[/code:1:323692cf5e]
(注:添加address table,是因为要使用igenus中的个人通讯录,添加pw_id是因为igenus用它来标识用户的唯一性的,但vpopmail用的是pw_uid)
接下来更改你的apache的启动用户为:vpopmail 组为: vchkpw,不然你登陆IGEUNS就会出现下面的错误信息
[code:1:323692cf5e]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
[/code:1:323692cf5e]
还有要修改一下/usr/local/qmail/bin/sendmail文件的权限为755,不然你的IGEUNS就不能发信了,因为qmail安装后把/usr/sbin/sendmail这个文件连接到他自己那里去了,可是权限默认全为700。
第四、为qmail打补丁,默认安装好iceblood包后用smtp发信好像认证有点问题,打补丁
步骤如下:
[code:1:323692cf5e]
#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这个补丁
[/code:1:323692cf5e]
把qmail-1.03里面的qmail-smtpd复制到/usr/local/qmail/bin里面覆盖掉旧的文件,到这里我们补丁就打好了,你可以用outlook或者foxmail测试一下,不过向本域发信是不用认证的哦。
好了,下课咯,如果有什么错误的地方,请各位指出。
garfy 回复于:2003-05-21 10:35:09 |
对麻兄给予的希望太多了,给点提示让我们自己改改试试? |
haohaoo 回复于:2003-05-19 19:52:12 |
另外,我正在尝试给igeuns增加一个后台管理,如果成功的话就可以抛弃掉qmailadmin了 |
白狐狸 回复于:2003-05-20 09:10:53 |
[quote:49c455a8a3="haohaoo"]另外,我正在尝试给igeuns增加一个后台管理,如果成功的话就可以抛弃掉qmailadmin了[/quote:49c455a8a3]
以phpmyadmin为基础进行修改即可,呵呵,因为只要能对mysql中的vpopmail库进行操作就可以达到对整个邮件系统管理的目的 |
zlp 回复于:2003-05-20 13:35:01 |
http://www.openwebmail.org/
我在redhat下,安装过,感觉很好。 |
大麻 回复于:2003-05-20 15:39:08 |
iGENUS 自己有一套 php 写的 Admin for vpopmail ,功能比 qmailadmin 强大的多,适当的时候我会公布出来。 |
lianyong 回复于:2003-05-20 16:28:11 |
期待中。。。 |
laixi781211 回复于:2003-05-20 16:41:00 |
[quote:015ed1c078="大麻"]iGENUS 自己有一套 php 写的 Admin for vpopmail ,功能比 qmailadmin 强大的多,适当的时候我会公布出来。[/quote:015ed1c078]
什么时候贴出来? 期待中 |
xmy 回复于:2003-05-20 17:13:29 |
期待ing |
dtedu 回复于:2003-05-20 18:23:59 |
[quote:801a02f901="大麻"]iGENUS 自己有一套 php 写的 Admin for vpopmail ,功能比 qmailadmin 强大的多,适当的时候我会公布出来。[/quote:801a02f901]
越早越好!支持老大! |
blueriver 回复于:2003-05-20 21:21:52 |
# include path
_INCDIR=/usr/local/mysql/include/mysql //mysql数据库的include文件路径。 # lib file path _LIBDIR=/usr/local/mysql/lib/mysql //mysql数据库的lib文件路径。 redhat下应该是什么? 好像是 usr/include/mysql /usr/lib/mysql 对不对? |
haohaoo 回复于:2003-05-20 22:57:08 |
[quote:c77e90c40b="blueriver"]# include path
_INCDIR=/usr/local/mysql/include/mysql //mysql数据库的include文件路径。 # lib file path _LIBDIR=/usr/local/mysql/lib/mysql //mysql数据库的lib文件路径。 redhat下应..........[/quote:c77e90c40b] 我用的就是rh咯,不过我的mysql是自己编译的,自带的那个我还没有用过呢 |
haohaoo 回复于:2003-05-20 22:59:08 |
[quote:ba009ec895="大麻"]iGENUS 自己有一套 php 写的 Admin for vpopmail ,功能比 qmailadmin 强大的多,适当的时候我会公布出来。[/quote:ba009ec895]
上次听你说,为了保证客户的利益不会公布的啊,不过希望你能尽快先把那个磁盘超额的问题解决的吧,这个问题应该还是比较大的 |
ighack 回复于:2003-09-05 21:00:03 |
运行./setup >install.log
没有出现错误 为什么http://127.0.0.1/cgi-bin/qmailadmin 却提示找不到这个页面 我想重装该怎么办啊 |
gadfly 回复于:2003-09-07 22:36:21 |
127?
你在服务器上访问的? 看看cgi的目录下有没有这个cgi文件 |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/
领测软件测试网最新更新
关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073