加入收藏 | 设为首页 | 网站地图 | RSS订阅
阅读内容

qmail+vpopmail+mysql+qmailadmin+ezmlm+igenus构建企业邮局

日期:2006-12-3     来源:不详     作者:5i93.com
    1.1、实现的功能
    通过以下安装,构建一个完整的mail邮件服务器。它用qmail为MTA,用vpopmail实现pop3服务和虚拟的邮件域。用mysql来存取用户信息和认证。用qmailadmin来通过web形式进行方便的用户管理,用ezmlm来实现基于mysql的大容量的邮件列表功能。通过igenus来实现webmail的功能。

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

    1.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目录下

    1.4、安装前系统设定
    mysql管理用户名:root 口令:mysql2003
    qmail安装设置的默认域:anti-spam.org.cn
    vpopmail安装设置的默认域 管理口令:12345
    ezmlm的mysql管理用户:ezmlm 口令:ezmlm 数据库名:ezmlm

    1.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参数我忘了)

    1.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

    1.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

    1.8、装qmail-1.03(带认证功能)

    添加用户和组:
    # 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
    # mkdir -p /var/qmail
    # cd /home/software
    # tar xzf qmail-1.03.tar.gz
    # patch -p0 < qmail-103.patch
    # cd qmail-1.03
    # make setup check
    # ./config-fast anti-spam.org.cn
    # 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 /var/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 %26amp;'">/etc/qmail/start
    # echo "/etc/qmail/smtp.sh">>/etc/qmail/start

    1.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 anti-spam.org.cn -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 %26amp;" > /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

    1.9、 安装vpopmail

    # groupadd vchkpw
    # useradd -g vchkpw -d /home/vpopmail vpopmail
    # echo "/etc/qmail/start">>/etc/rc.d/rc.local
    [说明: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-dmains=n \
    --enable-defaultquota=n \
    --enable-sqwebmail-pass=y \
    --enable-roaming-users=y \
    --enable-mysql=y \
    --enable-indir=/usr/include/mysql \
    --enable-libdir=/usr/lib/mysql
    # make
    # make install-strip
    # chmod 6755 /home/vpopmail/bin/vchkpw
    # echo " tcpserver -c 100 -v -l anti-spam.org.cn -U -H -R 0 pop3 /var/qmail/bin/qmail-popup anti-spam.org.cn /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>%26amp;1 | /var/qmail/bin/splogger %26amp;" > /etc/qmail/pop.sh
    # chmod 755 /etc/qmail/pop.sh
    # echo "/etc/qmail/pop.sh">>/etc/qmail/start
    添加域:
    # /home/vpopmail/bin/vadddomain anti-spam.org.cn
    (回车:输入两遍密码)
    添加用户:
    # /home/vpopmail/vadduser peng@anti-spam.org.cn

    1.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

    1.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

    1.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.conf文件。config_inc.conf是igenus的配置文件,必须正确设置,具体设置如下:
    # vi /var/www/igenus

    $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

    SIZE="10" STYLE="font-family: Tahoma">
    @
    ----删除@后面的句子,改变成以下:

上一篇:通过qmailadmin来实现qmail下的域空间设置    下一篇:没有了

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口

本文评论
推荐广告
推荐文章
关于本站 | 版权声明 | 免责声明 | 联系我们 | 广告服务 | 加入收藏 | 网站地图 | 网站搜索 | RSS订阅