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.gzphp4-200303121030.tar.gzqmail-1.03.tar.gzqmail-103.patchucspi-tcp-0.88.tar.gzezmlm-0.53.tar.gzezmlm-idx.0.40.tar.gz autorespond-2.0.0.tar.gzvpopmail-5.2.tar.gzqmailadmin-0.80.tar.gzigenus_2_20030311.tgzqmail-setup.1.53.tar.gz中的en-us ---qmailadmin汉化文件把以上文件包都上传到/home/software目录下2.4安装前系统设定  mysql管理用户名:root   口令:mysql2003  qmail安装设置的默认域:chinaunix.net  vpopmail安装设置的默认域    管理口令:12345ezmlm的mysql管理用户:ezmlm  口令:ezmlm  数据库名:ezmlm2.5装MYSQL在第二张盘上运行:# rpm -ivh mysql*启动mysql server:# /etc/rc.d/init.d/mysqld start设置mysql root口令:# mysqladmin -u root -p password mysql2003  Enter passwodqmail邮件系统(二)安装-LMLPHP直接回车)(注:我安装系统的时候,就选择了安装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/start2.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 Cl 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.smtpecho ":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.locad2.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 [email protected] zmlm and ezmlm-idx with MySQL support!注意:为了启用maillist的MySQL支持,你必须首先: 建立mysql管理用户:(Ex:user:ezmlm,pass:ezmlm) # mysql -u root Cpmysql2003>;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 ezmlmezmlm-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/bin2.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    ---默认是2Mvi 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(12qmail邮件系统(二)安装-LMLPHP 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-strip2。.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论坛讨论,我尽快回复的。   对于这片文档,网友可以任意转贴。但出于对作者的尊重,转贴时请注明作者姓名。    

03-14 22:25