声明:这个文档是我根据我的配制所编写的,其中可能有些雷同,因为我也是参看那些文档安装而成的,但是,这个文档中包含了一些我在安装过程中出现的问题,以及我如何解决的方法。我曾在red hat 7.2 mandrake solaris8 3个unix系统上安装成功,希望对大家有些帮助。若有不对之处,希望大家批评指教。songtianlun@chinanews.com.cn 世纪之星
一. 安装前的准备
1. 下载软件
ftp://cr.yp.to/software/qmail-1.03.tar.gz
http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz
http://www.igenus.org/webmail/download/
http://gd.tuwien.ac.at/infosys/mail/imap/c-client.tar.Z (安装igenus时用)
|
分别下载这3个包,当然安装为了安装vpopmail和igenus的webmail还需要安装apache,php,mysql。我们认为这些都以安装并以配制进行正常的使用。并且你dns的mx记录都以做好。
2. qmail的安装
tar xvfz qmail-1.03.tar.gz
mkdir /var/qmail (建立qmail的home目录)
mkdir /etc/qmail 建立qmail的配制文件
ln -s /etc/qmail /var/qmail/control
cd /usr/local/src/qmail-1.03
cp INSTALL.ids IDS 建立qmail的用户和组的shell文件
chmod 700 IDS
/bin/sh IDS
make setup check
./config-fast mail.xxx.com
cd /var/qmail/
cp boot/home /var/qmail/rc
chmod 755 /var/qmail/rc
vi rc
|
将rc文件中的qmail-start ./Mailbox splogger qmail中的Mailbox改为“./Maildir/”。记住若./Maildir/中缺少最后的“/”,qmail将不能进行正常的投递!!!(当初我就吃过这亏)
创建3个别名用户文件,qmail将退信等邮件以以下的用户发送,可以将下面的“dave”改为你邮箱的系统用户的名字
echo dave > /var/qmail/alias/.qmail-root
echo dave > /var/qmail/alias/.qmail-postmaster
echo dave > /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail*
echo "csh -cf @#/var/qmail/rc &@# " >> /etc/rc.d/rc.local
(机器启动时,自动启动qmail)
ps –ef| grep sendmail
kill pid-of-sendmail 停掉已运行的sendmail服务
csh -cf @#/var/qmail/rc &@# 启动qmail
|
由于我是采用inetd的方式进行启动qmail的,所以在inetd.conf中加入smtp和pop3的配制
smtp stream tcp nowait qmaild
/var/qmail/bin/tcp-env tcp-env
/var/qmail/bin/qmail-smtpd
pop3 stream tcp nowait root
/var/qmail/bin/qmail-popup qmail-popup xxx.com
/var/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir
|
重起inetd。
在xinetd.d中,添加smtp和pop3
vi smtp
# default: off
# description: The POP3 service allows remote
users to access their mail
# using an POP3 client such as Netscape
Communicator, mutt,
# or fetchmail.
service smtp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = qmaild
server = /var/qmail/bin/tcp-env
server_args = -R /var/qmail/bin/qmail-smtpd
log_type = FILE /var/log/maillog
env = NODNSCHECK=""
log_on_success = HOST
log_on_failure = HOST RECORD
only_from = 0.0.0.0
}
|
vi pop3
#default: off
# description: The POP3 service allows remote
users to access their mail
# using an POP3 client such as Netscape
Communicator, mutt,
# or fetchmail.
service pop3
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /var/qmail/bin/qmail-popup
server_args = mail.ellenzp.com /home/vpopmail/bin/vchkpw
/var/qmail/bin/qmail-pop3d Maildir
log_type = FILE /var/log/maillog
log_type = FILE /var/log/xinetd.log
log_on_success = HOST
log_on_failure = HOST RECORD
}
|
重起xinetd /etc/rc.d/init.d/xinetd restart mkdir /etc/skel (建立一个样本,每当添加一个新用户的时候自动在他的home目录下建立Maildir目录) /var/qmail/bin/maildirmake /etc/skel/Maildir 测试本地投递:
echo to: dave@xxx.com |/home/qmail/bin/qmail-inject
|
如果没有报错,你可以在 ~dave/Maildir/new/目录下,看到一封信。
测试远程投递:
telnet mail.xxx.com 25 登陆本机的25端口
helo mail.xxx.com
mail from : |
如果你在你的远程信箱中看见了这封信,那么恭喜你,你的qmail基本配制成功了。
3. Vpopmail的安装
进入解压之后的vpopmail的目录
vi vmysql.h
#define MYSQL_SERVER "localhost" (mysql服务器名)
#define MYSQL_USER "root" (用户名)
#define MYSQL_PASSWD "yyyyy" (密码)
前面的“#”号不能去掉,否则安装时会出错
groupadd -g 89 vchkpw
useradd -g vchkpw -u 89 vpopmail
至于组号89,可以自行修改。
touch ~vpopmail/etc/tcp.smtp
建立smtp发信规则文件,不过在我的机上vpopmail
下并没有etc目录,需要自己手工建立#mkdir etc
echo "127.0.0.:allow,RELAYCLIENT=""" >
~vpopmail/etc/tcp.smtp
|
由于我的mysql使用rpm安装,所以在安装mysql的时候并不需要进行什么设置,如果你的mysql安装在一个指定的目录,例如你安装在/usr/local/mysql/,那么你在./configure vpopmail的时候,需要指定。
./configure --enable-mysql=y --enable-mysql-replication=y
--enable-valias=y --enable-qmail-ext=y --enable-ip-alias-domains=y
--enable-password=n --enable-tcpserver-file=~vpopmail/etc/tcp.smtp
--enable-incdir=你mysql的include目录的绝对路径,
--enable-libs=你mysql的lib目录的绝对路径
make
make install-strip
用./vadddomain添加域名和./vadduser添加用户
cd ~vpopmail/bin/
./vadddomain xxx.com
在添加域名的时候会让你输入postmaster的密码,这个密码可以随意
./vadddomain dave@xxx.com
在添加用户的时候会让你输入用户的密码。
|
如果没有报错,则在~vpopmail/domain/目录下会看到你添加的域名的目录 xxx.com/,在此目录下可以看见你添加用户的目录 dave/
在mysql库中可以看见一个名为vpopmail的库。
3.igenus的安装
igenus是一个国内制作的webmail,省去了我们还要对国外webmail进行翻译的麻烦。
将解压后的igenus目录放入你web浏览的目录下面,如/usr/local/apache/htdoc/.
进入解压后的目录
mkdir temp
chown -R vpopmail.vchkpw temp
cd config
vi config_inc.php
|
修改以下部分
$CFG_BASEPATH = "/var/www/iGENUS"; --->是iGNEUS webmail安装在系统的路径
$CFG_MYSQL_HOST = @#localhost@#;
$CFG_MYSQL_USER = @#root@#;
$CFG_MYSQL_PASS = @#yyyyy@#;
$CFG_MYSQL_DB = @#vpopmail@#
$CFG_HOSTNAME = "http://mail.xxx.com";
$CFG_LANGUAGE = gb
$CFG_GMT = +8;
$CFG_TEMP = $CFG_BASEPATH."./temp";确保浏览的目录和temp的目录在同一路径。
|
修改默认登录域的设置:
编辑login.php
|
如果在浏览的时候,出现Mkdir 不能创建目录的情况,那么你可以将这个目录的权限设低一点,或者将这个目录的用户和组修改为vpopmail的用户和组。
如果出现imap之类的错误,那么是你的php没有安装imap的模块,
4. 安装imap的php模块
下载http://gd.tuwien.ac.at/infosys/mail/imap/c-client.tar.Z
tar zxvf c-client.tar.Z
cd imap-2002.RC6
more Makefile 找到关于你unix系统相应的参数
|
例如linux 的参数是 slx
make slx
cp c-client/c-client.a /usr/local/lib
cp c-client/rfc822.h mail.h
linkage.h /usr/local/include
|
如果你以前安装php的时候没有采用以模块的方式安装php(--with-apxs),那你只好连apache一起从新安装,由于我以前安装php的时候采用模块化的安装,所以我没有对apache进行任何改动。
然后进入你php解压后的目录,从新编译php
./configure --with-mysql --with-apxs=/usr/local/apache/bin/apx –with-imap
make
make install
|
至此你的qmail都以安装完毕,希望你能看见你的qmail。
二.参考文献
http://www.lifewithqmail.com/
http://www.ietf.org/rfc/rfc0821.txt
http://www.ietf.org/rfc/rfc1939.txt
http://www.linuxaid.com.cn/forum/showelite.jsp?i=36&t=170
http://tech.enet.com.cn/document/20011228/2001122811475501.shtml
http://nfans.net/article/manu/23.html
http://211.157.101.32/cgi-bin/do/LeoBoard/leoboard.cgi
|
《qmail 实用技术指南》 清华大学出版
三.感谢曾经帮助过我的人
boy QQ: 2127156
梦幻冰翔 QQ: 22369558
螃蟹 QQ: 16360544
还有就是我自己 世纪之星: 15082261
文章来源于领测软件测试网 https://www.ltesting.net/