LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1866|回复: 10

谁能给小弟推荐一篇坛子里较完整的qmail安装说明文档

[复制链接]
发表于 2003-12-1 22:11:30 | 显示全部楼层 |阅读模式
恳请各位高手帮帮小弟,最近已经被qmail折腾得不行了,坛子里帖子都参照过,我实在理不出头绪来,不象配置dns、dhcp那么清晰有条理。谁有关于qmail或sendmail的系统的安装说明,或者推荐一篇被测试通过的帖子,最好附上如何管理用户(添加、删除、修改用户等),谢谢!!!!!:help :help :help :help :help :help :thank :thank :thank :thank
发表于 2003-12-2 01:18:24 | 显示全部楼层
[转帖] 至于来源,也说不清楚。如果作者看到了,就直接回一下帖子吧。

================================================

Qmail Vpopmail Mysql的安装心得 (  2003-08-26 16:15  )
作者:banq
  网络上关于qmail和vpopmail Mysql安装文章不少,但往往都偏重VPOPMAIL+MYSQL 或偏重qmail+mysql 等,没有一个完全从头到尾的思路,因为这几套程序是不同人完成,自己的linux系统各人情况又不一样,因此安装过程曲曲折折,几天内能安装成功是不错的了,我走了不少弯路,当然就是按照那些参考文摘做,总是前后不衔接,我这里总结下来,看到我这篇文章的人应该思路清晰点了。

基本分三步走:
##########################################################################

1.安装好Qmail ,这一步需要几个软件包:
Qmail的安装参考:
http://www.lifewithqmail.org/ + qmail安装目录下的INSTALL; 这两个需要结合起来:


qmail-1.03-xxx
按照qmail的安装目录中的INSTALL 或lifewithqmail安装,比较容易,一般可以做到按照qmail目录下的TEST.deliver测试qmail的发送功能,如果测试ok,表示qmail安装成功一半了。到这一步比较简单,容易成功,如果不成功,重新再做一遍。但是以下就稍微复杂点。


ucspi-tcp-xxx
主要产生tcpserver , Qmail使用tcpserver驻守端口 smtp是25 pop是110,类似sendmail侦听25端口一样,使用这个包,就不要使用sendmail和inet.conf中的pop3d了。 tcpserver只是调用qmail的smtp程序 。

daemontools-xxxx
使用该包中的syscan功能,主要用于在系统启动时能够自动启动Qmail。
sendmail是在/etc/rc.d/init.d下有一sendmail启动程序;syscan是扫描/service目录下文件,然后分批执行 (Linux世界真是一个人一个主意,让人头晕)。Qmail是在/service目录下安装了三个启动项目:Qmail-send Qmail-smtp Qmail-pop3d。
qmail-pop3d参考lifewithqmail的qmail-pop3d章节安装的,这是qmail的pop功能,当然也可以使用linux原来的pop3功能。

上面三套软件安装成功后,重新启动机器,使用ps -ax | grep qmail 会发现三个qmail程序,基本qmail安装正常,按照qmail安装目录中的TEST.receive指示测试qmail.如果测试ok, 表示Qmail安装成功。

网络上有Qmail + MySQL的文章,那是没有使用vpopmail的情况,一般现在使用vpopmail来代替qmail-pop3d,因为vpopmail可以做多个域名的pop3d, 比如你可以提供abc.com ppp.com xxx.com多个域名的免费信箱服务,这点vpopmail是优势,现在一般使用vpopmail结合mysql安装。

##########################################################################

2.安装VPOPMAIL
  要下载最新版本,我用的是开发版本5.0 ,这样对数据库支持好,其他配套软件包都要求越新越好,注意这些软件包有配合的问题,新版本的这个软件包不会和旧版本的那个软件包一起正常工作的。

这里我们都介绍.tar.gz的源程序安装。

这一步主要在configure配置: 我的配置如下:
./configure --enable-mysql=y --enable-mysql-replication=y --enable-default-domain=你的欠缺域名
首先要激活mysql数据库, 为什么要设定欠缺域名? 因为如果不设置,你使用pop3软件如foxmail收信时,需要将用户名变成 "用户名%域名",这带来不便。同时保证/var/qmail/control/locals 中有欠缺域名。

vpopmail安装目录是根据你的用户名vpopmail设置的目录确定,一般是/home下,如果你要改变其他目录,需要改变用户名vpopmail的目录,在linux的userconf中可以改,使用命令行也可以。

安装vpopmail好后,使用/home/vpopmail/bin/vadddomain 增加域名,增加域名时需要你输入密码,请记住,qmailadmin登陆时用这个域名和密码。网上有的文章对此处密码解释错误。

安装好qmailadmin后,最重要的一步,需要将vpomail和qmail结合起来,就是将vpopmail代替qmail-pop3d,只要修改/var/qmail/supervise/qmail-pop3d/run 这个文件。 如下:

/usr/local/bin/tcpserver -H -R 0 pop-3 /var/qmail/bin/qmail-popup 你的POP服务器 /server/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop$

以上是在一行,其中你的POP服务器是你自己必须设定的,通常是在DNS服务器相应域名库库中"IN MX 你的域名服务器"。

##########################################################################

3.安装Qmailadmin
使用qmailadmin可以增加编辑邮件用户,同时也是能检验你的qmail vpopmail运行正常与否。
安装qmailadmin所需要的autorespond ezmlm(可支持数据库的邮件列表).
安装qmailadmin的configure参数:
./configure --enable-cgibindir=你的cgi目录 --with-htmllibdir=/html根目录/qmailadmin -enable-htmldir=/html根目录

你的cgi绝对路径目录 是为了能从浏览器运行 http://你的域名/你的cgi目录/qmailadmin
一般是cgi-bin,

安装qmailadmin成功后,就可以从浏览器打开qmialadmin, 需要你输入domain name 和password ,这是我上面vaddadomain提到的。

最后是收发邮件测试,不要忘记先重启一下机器。
 楼主| 发表于 2003-12-2 08:31:56 | 显示全部楼层
谢谢南北兄,我试试
发表于 2003-12-2 12:48:35 | 显示全部楼层
可以用http://www.linuxts.com/
的tsmail+qmail,我在fedora test3上测试通过。只要安装了apache、php和mysql就可以,安装是完全向导式的。
 楼主| 发表于 2003-12-3 16:07:06 | 显示全部楼层
谢谢!!
 楼主| 发表于 2003-12-4 22:00:41 | 显示全部楼层
南北兄,请帮忙,我在编译qmailctl文件后(其实是直接拷贝)并按照步骤进行,当执行:
#qmailctl stop或其他有关qmailctl的命令时,被提示:
bash:/usr/bin/qmailctl: bad interpreter: No such file or directory

是什么地方出问题了,请帮忙看看,谢谢了
发表于 2003-12-4 22:29:09 | 显示全部楼层
[转帖]来自哪记不清了
redhat9.0下安装igenus实录

摘要
redhat9.0下安装qmail+smtp-auth+vpopmail+mysql+igenus安装过程详尽记录。(2003-06-27 22:45:28)

--------------------------------------------------------------------------------
By bluelotus


  在REDHAT9.0下安装igenus bluelotus 2003.06.16 Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus,实例:http://0874.cn/mail

一、安装环境及准备工作

  安装Redhat9.0,安装时选取安装apache、php、mysql,可省去以后自已编译安装的麻烦,mysql要注意选取mysql-devel开发包,mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。

  安装完Redhat9.0后,修改/etc/httpd/conf/httpd.conf,使web服务正常启用,为mysql添加root用户的密码。如果设置了防火墙,要打开服务器的smtp 25和pop3 110两个端口。

二、安装ucspi-tcp-0.88

1.下载相应软件及补丁,由于redhat9.0的glibc的版本问题,必须打补丁才能正常编译。

wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://qmail.te8.com/rpms/glibc- ... 0.88.a_record.patch
wget http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
wget http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch

2.安装ucspi-tcp-0.88

#tar zxvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#patch -p1 < ../ucspi-tcp-0.88.a_record.patch
#patch -p1 < ../ucspi-tcp-0.88.errno.patch
#patch -p1 < ../ucspi-tcp-0.88.nobase.patch
#make
#make setup check

三、安装qmail

1.下载软件及补丁:

wget http://cr.yp.to/software/qmail-1.03.tar.gz
wget http://www.ckdhr.com/ckd/qmail-103.patch
wget http://www.qmail.org/qmailqueue-patch
wget http://www.shupp.org/patches/qmail-maildir++.patch
wget http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.errno.patch
wget http://qmail.te8.com/rpms/glibc- ... 3.qmail-local.patch
wget http://members.elysium.pl/brush/ ... pd-auth-0.31.tar.gz

2.建立目录:

# mkdir /var/qmail
# mkdir /var/qmail/alias

3.建组及用户:

# groupadd nofiles
# groupadd qmail
# useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
# useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
# useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
# useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
# useradd qmailq -g qmail -d /var/qmail -s /nonexistent
# useradd qmailr -g qmail -d /var/qmail -s /nonexistent
# useradd qmails -g qmail -d /var/qmail -s /nonexistent

4.打补丁及编绎安装qmail

#tar zxvf qmail-1.03.tar.gz
#tar zxvf qmail-smtpd-auth-0.31.tar.gz
#cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 //安装smtp-auth补丁,支持smtp认证
#patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch
#cd qmail-1.03
#patch -p1 < ../qmail-103.patch
#patch -p1 < ../qmailqueue-patch
#patch -p1 < ..qmail-maildir++.patch
#patch -p1 < ..qmail-1.03.errno.patch
#patch -p1 < ..qmail-1.03.qmail-local.patch
#vi qmail-smtpd.c //将函数straynewline中的451改为553
# make setup check
# ./config-fast test.mydomain.com

5.添加别名用户:

# touch /var/qmail/alias/.qmail-root
# touch /var/qmail/alias/.qmail-postmaster
# touch /var/qmail/alias/.qmail-mailer-daemon

6.如果存在postfix和sendmail,停用现在的mail服务

#/etc/rc.d/init.d/sendmail stop
#cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail
#rm -f /etc/alternative/mta
#ln -s /usr/sbin/qmail.sendmail /etc/alternative/mta
Redhat9.0已经考虑到了使用其它邮件服务器代替sendmail的情况,因为本身就提供postfix和sendmail两种选择。

四、安装vpopmail

1.下载vpopmail的稳定版

wget http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz

2.建立目录:

#mkdir /home/vpopmail
#mkdir /home/vpopmail/etc

3.添加用户和组:

#groupadd vchkpw
#useradd -g vchkpw vpopmail

4.添加mysql的vpopmail用户,用于操作vpopmail数据库

#mysql -u root -p //进入mysql命令行
mysql> grant all on vpopmail.* to vpopmail@localhost identified by "密码";

5.编译安装vpopmail

#tar zxvf vpopmail-5.2.1.tar.gz
#cd vpopmail-5.2.1
#vi vmysql.h
/* =========================== vmysql.h ============================== */
#define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)
#define MYSQL_UPDATE_USER "vpopmail" (用户名)
#define MYSQL_UPDATE_PASSWD "12345678" (改成你设置的密码)

#define MYSQL_READ_SERVER "localhost" (mysql服务器名)
#define MYSQL_READ_USER "vpopmail" (用户名)
#define MYSQL_READ_PASSWD "12345678" (改成你设置的密码)
/*==================================================================*/

6.创建tcp.smtp文件(或者使用/etc/tcp.smtp)

# vi /home/vpopmail/etc/tcp.smtp
/*==================== tcp.smtp ================================ */
127.0.0.1:allow,RELAYCLIENT=""
:allow
/*========================================================== */
#cd /home/vpopmail/etc
#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

7.进行编译:

# ./configure \下面是我使用的参数
--prefix=/home/vpopmail \指定安装路径
--enable-mysql=y \是否应用Mysql数据库
--enable-incdir=/usr/include/mysql \Mysql数据库include文件所在目录
--enable-libdir=/usr/lib/mysql \Mysql数据库lib文件所在目录
--enable-default-domain=mydomain.com \定义虚拟域名
--enable-passwd=n \是否使用系统密码验证方式
--enable-defaultquota=52428800s \定义缺省邮箱大小,10485760为10MB,20971520为20MB,52428800s为50MB
--enable-tcprules-prog=/usr/local/bin/tcprules \指定tcprules目录
--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \指定tcprules应用规则文件
--enable-vpopuser=vpopmail \vpopmail的用户
--enable-vpopgroup=vchkpw \vpopmail的组
--enable-ip-alias-domains=n \在虚拟域中允许通过反向IP地址查找虚拟域名
# make
# make install-strip

8.创建虚拟域

# cd /home/vpopmail/bin
# ./vadddomain 域名 (密码) (在mysql数据库vpopmail中自动生成vpopmail表单)
(如果使用与机器名相同的虚拟域名,应先生成一个其它的虚拟域名,不然会有问题,无法自动生成vpopmail数据库)
# ./vadduser 用户名 密码 (会自动往表vpopmail中添加用户数据,用户名要带域名,如demo@demo.com)
如果不成功的话,则必须先删除创建的域,./vdeldomain 域名

五、smtp-auth的设置

1.修改vchkpw的属性

#chmod 4755 vchkpw
#chown root.root vchkpw
如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid。提高vchkpw的权限,才能完成setgid操作。

2.下载安装cmd5checkpw

wget http://members.elysium.pl/brush/ ... checkpw-0.22.tar.gz
#tar zxvf cmd5checkpw-0.22.tar.gz
#cd cmd5checkpw-0.22
#make
#make install
注意,因为使用vpopmail,所以checkpassword不用安装。

六、生成qmail的启动脚本

#cp /var/qmail/boot/home /var/qmail/rc
# vi /var/qmail/rc //对rc文件进行修改,以决定投送方式:
/* ================= rc =========================*/
#!/bin/sh

# Using splogger to send the log through syslog.
# Using dot-forward to support sendmail-style ~/.forward files.
# Using qmail-local to deliver messages to ~/Mailbox by default.

exec env - PATH="/var/qmail/binPATH"
qmail-start ./Maildir/ splogger qmail &
/* ============================================*/
#vi /var/qmail/smtp //编辑smtp服务的启动脚本
/* ===================== smtp ============================= */
#!/bin/sh

QMAILDUID=qmaild
NOFILESGID=nofiles

/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd hostname /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &
/* ====================================================== */
#vi /var/qmail/pop3 //编辑pop3服务的启动脚本
/* ====================== pop3 =========================== */
#!/bin/sh

/usr/local/bin/tcpserver -H -R 0 pop3
/var/qmail/bin/qmail-popup hostname
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
/* ===================================================== */
#chmod 755 /var/qmail/rc
#chmod 755 /var/qmail/smtp
#chmod 755 /var/qmail/pop3

七、运行qmail并测试

#/var/qmail/rc
#/var/qmail/smtp
#/var/qmail/pop3
#ps aux | grep "qmail" //查看qmail的服务进程是否已完全正常启动
如果qmail已正常启动,用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如demo@demo.com。smtp是带认证的,在outlook中也要作相应设置。建议先将qmail测试正常后再安装igenus,我在qmail正常工作后,安装igenus只用了10分钟,非常顺利。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。

八、安装并运行igenus

1.到http://www.igenus.org下载最 ... 2_20030516_snap.tgz

#tar zxvf igenus_2_20030516_snap.tgz -C /var/www/html //redhat下apache的缺省document root

2.建temp文件夹

cd /var/www/html/igenus
mkdir temp
chmod -R 0755 temp
chown -R vpopmail:vchkpw temp

3.修改httpd.conf

#vi /etc/httpd/conf/httpd.conf
Group Apache
User Apache
修改为:
Group vchkpw
User vpopmail

4.修改config_inc.php文件

# cd /usr/local/apache/htdocs/igenus/config
# vi config_inc.php
/* =============== config_inc.php ==================== */
$CFG_BASEPATH = "/usr/local/apache/htdocs/igenus";

$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmail';
$CFG_MYSQL_PASS = '12345678'; \改成你的密码
$CFG_MYSQL_DB = 'vpopmail';

$CFG_TEMP = $CFG_BASEPATh."/temp";
/* ============================================== */

5.重新编制Mysql数据库表格

#mysql -u root -p
mysql>use vpopmail;
mysql>alter table vpopmail drop primary key;
mysql>alter table vpopmail add column pw_id int(5) NOT NULL primary key auto_increment;
mysql>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)
) TYPE=MyISAM;
mysql>quit;

6.如果需要,用vadddomain和vadduser添加新域名和新用户。

最后打开浏览器,输入http://你的网站/igenus,说Good Luck!。
 楼主| 发表于 2003-12-4 22:40:17 | 显示全部楼层
谢谢jovi,你发的帖子介绍的方法你安装成功了么?

可我在安装比你哪个简单的qmail时都不行,郁闷!!!
http://lifewithqmail.org/LWQ-CN.html
帮忙看看,我安装时,在执行 qmailctl自动运行脚本时被提示错误:
bash: /usr/bin/qmailctl: bad interpreter: No such file or directory
 楼主| 发表于 2003-12-4 22:42:13 | 显示全部楼层
我的qmailctl文件就是直接复制:http://www.lifewithqmail.org/qmailctl-script-dt70,应该说没错啊
发表于 2003-12-5 00:10:51 | 显示全部楼层
是不是/usr/local/bin啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表