分享
 
 
 

qmail邮件系统(2)安装

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

(二)qmail+vpopmail+mysql+qmailadmin+ezmlm+igenus的安装

作者:peng

论坛ID:peng www.chinaunix.net

QQ: 螃蟹 16360544

2.1实现的功能

通过以下安装,构建一个完整的mail邮件服务器。它用qmail为MTA,用vpopmail实现pop3服务和虚拟的邮件域。用mysql来存取用户信息和认证。用qmailadmin来通过web形式进行方便的用户管理,用ezmlm来实现基于mysql的大容量的邮件列表功能。通过igenus来实现webmail的功能。

2.2主机系统

我用的是redhat8.0的系统,在一台康柏的pc server上作的。安装的时候,选择了custom模式。其他系统我没有做过,应该是可以支持的,具体的可以看相应的软件包中的README文件,都对所支持的主机系统做了详细说明。如果有时间,我会在solaris for spare上安装一下。

2.3 所用软件包

以下软件的软件,由于我用过iceblood的软件包,其中关于qmailadmin汉化的文件—en-us取自于他的qmail- setup.1.53.tar.gz。要是用它的包中别的文件,一定要仔细察看配置文件,不少默认的安装路就都被改过。建议大家去相关网站去找,我在上一章都做了介绍。Mysql我用的是系统的rpm包安装的,也可自己用源代码编译。

httpd-2.0.40.tar.gz

php4-200303121030.tar.gz

qmail-1.03.tar.gz

qmail-103.patch

ucspi-tcp-0.88.tar.gz

ezmlm-0.53.tar.gz

ezmlm-idx.0.40.tar.gz

autorespond-2.0.0.tar.gz

vpopmail-5.2.tar.gz

qmailadmin-0.80.tar.gz

igenus_2_20030311.tgz

qmail-setup.1.53.tar.gz中的en-us ---qmailadmin汉化文件

把以上文件包都上传到/home/software目录下

2.4安装前系统设定

mysql管理用户名:root 口令:mysql2003

qmail安装设置的默认域:chinaunix.net

vpopmail安装设置的默认域 管理口令:12345

ezmlm的mysql管理用户:ezmlm 口令:ezmlm 数据库名:ezmlm

2.5装MYSQL

在第二张盘上运行:

# rpm -ivh mysql*

启动mysql server:

# /etc/rc.d/init.d/mysqld start

设置mysql root口令:

# mysqladmin -u root -p password mysql2003

Enter passwod:(直接回车)

(注:我安装系统的时候,就选择了安装mysql的所有的包,这样就不会有再安装mysql时出现连带关系。有连带关系时,可以在x-windows模式下安装,系统自动就可以解决,command模式的rpm参数我忘了)

2.6 apache

# cd /home/software/

# tar -zxvf httpd-2.0.40.tar.gz

# cd httpd-2.0.40

# ./configure --prefix=/var/www --enable-modules=so

# make

# make install

2.7安装php

# cd /home/software

# tar -zxvf php4-200303121030.tar.gz

# cd php4-200303121030

# ./configure --with-mysql --with-apxs2=/var/www/bin/apxs

# make

# make install

# cp php.ini-dist /usr/local/lib/php.ini

2.8装qmail-1.03(带认证功能)

添加用户和组:

# mkdir -p /var/qmail

# groupadd nofiles

# useradd -g nofiles -d /var/qmail/alias alias

# useradd -g nofiles -d /var/qmail qmaild

# useradd -g nofiles -d /var/qmail qmaill

# useradd -g nofiles -d /var/qmail qmailp

# groupadd qmail

# useradd -g qmail -d /var/qmail qmailq

# useradd -g qmail -d /var/qmail qmailr

# useradd -g qmail -d /var/qmail qmails

# cd /home/software

# tar xzvf qmail-1.03.tar.gz

# patch -p0 < qmail-103.patch

# cd qmail-1.03

# make setup check

# ./config-fast chinaunix.net

# cd /var/qmail/alias

# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root

# chmod 644 /var/qmail/alias/.qmail*

# cp /var/qmail/boot/home /var/qmail/rc

# chmod 755 /var/qmail/rc

# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

# ln -s /varl/qmail/bin/sendmail /usr/sbin/sendmail)

# vi /var/qmail/rc

修改其中./Mailbox为./Maildir/

# mkdir /etc/qmail

# touch /etc/qmail/start

# echo "csh -cf '/var/qmail/rc &'">/etc/qmail/start

# echo "/etc/qmail/smtp.sh">>/etc/qmail/start

2.8 安装ucspi-tcp

# cd /home/software

# tar zxvf ucspi-tcp-0.88.tar.gz

# cd ucspi-tcp-0.88

# make

# make setup check

# touch /etc/qmail/smtp.sh

# echo "/usr/local/bin/tcpserver -H -R –l chinaunix.net -t 1 -c 100 -v -p -x/etc/qmail/tcp.smtp.cdb

-u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true | /var/qmail/bin/splogger &" > /etc/qmail/smtp.sh

(注:502 and 501换成系统上的qmaild与nofiles的uid and gid的值。)

# chmod 755 /etc/qmail/smtp.sh

# touch /etc/qmail/tcp.smtp

# echo "127.0.0.1:allow,RELAYCLIENT=""" > /etc/qmail/tcp.smtp

echo ":allow" >> /etc/qmail/tcp.smtp

# /usr/local/bin/tcprules /etc/qmail/tcp.smtp.cdb /etc/qmail/tcp.smtp.tmp < /etc/qmail/tcp.smtp

# echo “/etc/qmail/start” >> /etc/rc.d/rc.locad

2.9 安装vpopmail

# groupadd vchkpw

# useradd -g vchkpw -d /home/vpopmail vpopmail

[说明:4.9.10也可通过smtp认证,4.10.26认证失败并有一系列的问题,不建议使用。

如不与mysql数据库集成也可,不要修改vmysql.h文件,并去掉./configure中的相关选项

# tar vpopmail-5.2.tar.gz

# cd vpopmail-5.2

# vi vmysql.h

根据你的MYSQL的设置,更改下面的配置

#define MYSQL_SERVER "localhost"

#define MYSQL_USER "root"

#define MYSQL_PASSWD "mysql2003"

#define MYSQL_SERVER "localhost"

#define MYSQL_USER "root"

#define MYSQL_PASSWD "mysql2003"

# ./configure --enable-default-domain=chinaunix.net

--enable-passwd=n --enable-tcprules-prog=/usr/local/bin/tcprules --enable-ip-alias-domains=n --enable-defaultquota=n --enable-sqwebmail-pass=y --enable-roaming-users=n--enable-mysql=y --enable-indir=/usr/include/mysql --enable-libdir=/usr/lib/mysql

# make

# make install-strip

# chmod 6755 /home/vpopmail/bin/vchkpw

(注意:我用的是--enable-defaultquota=n ,你要用vsetuserquota设置信箱打小; 你可以用--enable-defaultquota=10500000 默认是10M。)

# echo " tcpserver -c 100 -v -l chinaunix.net -U -H -R 0 pop3 /var/qmail/bin/qmail-popup chinaunix.net /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

| /var/qmail/bin/splogger &" > /etc/qmail/pop.sh

# chmod 755 /etc/qmail/pop.sh

# echo "/etc/qmail/pop.sh">>/etc/qmail/start

添加域:

# /home/vpopmail/bin/vadddomain chinaunix.net

(回车:输入两遍密码)

添加用户:

# /home/vpopmail/vadduser peng@chinaunix.net

2.10 zmlm and ezmlm-idx with MySQL support!

注意:为了启用maillist的MySQL支持,你必须首先:

建立mysql管理用户:(Ex:user:ezmlm,pass:ezmlm)

# mysql -u root –pmysql2003

>use mysql;

>insert into user values('localhost','ezmlm','','y','y','y','y','y','y','y','y','y','y','y','y','y', 'y');

>update user set password=password('ezmlm') where user='ezmlm';

>FLUSH PRIVILEGES;

>exit;

建库:(Ex:database:ezmlm)

# mysqladmin -u root -pXXXXX create ezmlm

ezmlm-idx包含有对ezmlm的修正和补充,他们是一个整体。

#cd /home/software

# tar -zxvf ezmlm-0.53.tar.gz

# tar -zxvf ezmlm-idx.0.40.tar.gz

# mv ezmlm-idx-0.40/* ezmlm-0.53/

# cd ezmlm-0.53

# patch < idx.patch

# make mysql #MySQL 支持

# make clean

# make man

# make ch_GB #汉字GB2312支持

# make setup

在你建立一个基于MySQL的maillist之前,你必须保证ezmlm库中已存在一个对应的表:

Ex:你想建一个基于MySQL的maillist:testlist

# /usr/local/bin/ezmlm/ezmlm-mktab -d testlist | mysql -uezmlm -pezmlm -f ezmlm

这样就在ezmlm库中为testlist建立了一系列相关表格:

+------------------------+

| Tables |

+------------------------+

| testlist |

| testlist_allow |

| testlist_allow_slog |

| testlist_cookie |

| testlist_deny |

| testlist_deny_slog |

| testlist_digest |

| testlist_digest_cookie |

| testlist_digest_mlog |

| testlist_digest_slog |

| testlist_mlog |

| testlist_mod |

| testlist_mod_slog |

| testlist_slog |

+------------------------+

你可以用一下命令察看!

# mysqlshow -u root -pXXXX ezmlm

2.11安装autorespond

(对于qmailadmin-0.74版以上,必须使用2.0以上的版本)

# tar zxvf autorespond-2.0.0.tar.gz

# cd autorespond-2.0.0

# make

# make install

# cp autorespond /usr/local/bin

2.12 安装igenus

# cd /home/software

# cp igenus_2_20030311.tgz /var/www

# cd /var/www

# mkdir temp

# chown vpopmail.vchkpw temp

# tar zxvf igenus_2_20030311.tgz

修改config/config_inc.php文件。config_inc.php是igenus的配置文件,必须正确设置,具体设置如下:

# vi /var/www/igenus/config/config_inc.php

$CFG_BASEPATH = "/var/www/igenus";

$ CFG_BASEPATH -----是iGNEUS webmail安装在系统的路径。

$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_HOST -----是mysql服务器的地址。

$CFG_MYSQL_USER = 'root';

$CFG_MYSQL_USER -----是mysql服务器的用户名。

$CFG_MYSQL_PASS = 'mysql2003';

$CFG_MYSQL_PASS -----是mysql服务器的密码,根据你的实际填写

$CFG_LANGUAGE = gb;

$CFG_LANGUAGE-----是系统默认语言,可有中英日可选。

$CFG_GMT = +8; // GMT time local

$CFG_GMT----是时区设置,中国选+8。

$CFG_TEMP = $CFG_BASEPATH."/../temp";

$CFG_TEMP----临时文件的位置。

3、修改默认登录域的设置,编辑login.php,查找以下字符,可设置你默认的邮件主机地址,可以设置多个。当然了,不改也可以的,略过这一步。

# vi /var/www/igenus/login.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'> ----删除@后面的句子,改变成以下:

<option value="webmail.readchina.com:>webmail.readchina.com</option>

设置apache相关的配置:

# vi /var/www/conf/httpd.conf

在AddType application/x-tar.tgz下面,添加以下内容:

AddType application/x-httpd-php .php

LoadModule php4_module /var/www/modules/libphp4.so

修改以下部分为:

DirectoryIndex index.php

DocumentRoot "/var/www/igenus"

<Directory "/var/www/igenus">

User vpopmail

Group vchkpw

AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off

#vi /etc/rc.d/rc.local

添加:

/var/www/bin/apachectl start

(注:使它开机自动启动。)

更改php的设置:

# vi /usr/local/lib/php.ini

register_globals =off 更改为:register_globals =on

发送附件大小设置:

upload_max_filesize = 10M ---默认是2M

vi igenus/language/gb_inc.php文件如下:

$LANG_SENDFORM_ATTACH_MESG = "请注意文件的大小不要超过1MB,否则系统无法正确接收;如果附件超过1MB,请通过Foxmail或Outlook发信!";

//$LANG_SENDFORM_ATTACH_MESG = "请注意文件的大小不要超过10MB,否则系统无法正确接收!";

更改mysql数据库:

# mysql -uroot -pmysql2003

在mysql中创建address表,具体表结构如下:

# use vpopmail

# 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表,方法如下:

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)

2。13 安装qmailadmin-0.80

在安装之前先确认:

你是否已经安装了vpopmail,并使用vchkpw 。

是否已经安装ezmlm。

是否已经安装autorespond。

确认以上的工作已完成,可以开始安装qmailadmin。

# cd /home/software

# tar zxvf qmail-setup.1.5.3.tar.gz

# tar xvzf qmailadmin-1.0.6.tar.gz

# cd qmailadmin-1.0.6

# cp iceblood/en-us qmailadmin-1.0.6/html/en

# cp iceblood/en-us qmailadmin-1.0.6/html/en-us

(注:以上两步,是为了汉化qmailadmin,用iceblood的qmail-setup的汉化文件。)

# cd qmailadmin-1.0.6

#./configure --enable-cgibindir=/var/www/cig-bin --enable-htmldir=/var/www/igenus

# make

# make install-strip

2。.14测试

现在,重起你主机系统,你可以设置一下你的outlook或者foxmail.接受邮件了。也可以通过webmail访问你的mail系统了。

http://mail.chinaunix.net 通过webmail接受你的邮件信息

http://mail.chinaunix.net/cgi-bin/qmailadmin 通过web方式管理和添加用户了

2.15 小结

好了,到这里,安装部分就算完成了,但是,如果你以为到这就大功告成了,那就大错特错了,因为痛苦刚刚开始。。。在以后的贴子,我将重点讲qmail及其组件的工作原理和配置、管理等等。

关于本文挡的声明:

这份文档,是我参考了大量的网友的文章和书籍而写成的。自己经过反复安装和测试,均安装成功。但由于本人水平有限,文档难免有一些遗漏。如果你在安装的时候发现有什么地方有错误的话,请去www.chinaunix.net 的mail论坛讨论,我尽快回复的。

对于这片文档,网友可以任意转贴。但出于对作者的尊重,转贴时请注明作者姓名。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有