Redhat9.0下Qmail完全安装笔记(比较齐全的哦)

JavaGG 发布于 2009/05/05 16:34
阅读 372
收藏 0

Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus+ezmlm+autorespond+qmailadmin+sqwebmail+antivir-mailgate安装笔记
 
cloud/2003.10.23
mail:flashc@21cn.com
声明:这个文档不是我原创的,甚至还有抄袭的哦(不要告我亲权哟^~^),只是我在学习qmail时做的一些整理,基本上齐全的收集了安装时常见的一些问题和解决方法。个人水平有限,不能保证其完全可用。(基本上没什么问题,就缺最后测试一次了,因我装了sqwebmail后我的验证坏掉了,一直没法搞定,有时间需要重新安装系统测试,测试后我会重新编辑此笔记的,文中有错误的地方希望大家指出,共同学习,谢谢

 首先,如果你的mysql是自己编译安装,并指定了安装目录的话,那么先复制mysql的库文件和include文件到/usr/lib和/usr/include目录下,否者安装后,如果能发信,不能收信,一般也是由于找不到mysql的库文件造成的。apache请使用vpopmail和vchpkw的用户/组运行。主要讲下如何安装mail服务器,其他的apache,php,mysql就不多说了,不懂的朋友请查下我以前的帖子。
 # cp /web/mysql/lib/mysql/* /usr/lib/ 
 # cp /web/mysql/include/mysql/* /usr/include/ 
 
 ●安装ucspi-tcp-0.88 
 1.下载相应软件及补丁,由于redhat9.0的glibc的版本问题,必须打补丁才能正常编译。 
 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.下载软件及补丁: 
 2.建立目录: 
 # mkdir /var/qmail 
 # mkdir /var/qmail/alias 
 3.建组及用户: 
嫌麻烦也可以在qmail源码目录找到一个INSTALL.ids的文件,用sed或者其他什么编辑器提取出适合你系统的命令,保存为一个新文件,source filename就ok了。
 # 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 
//将451改为553是为避免当其它服务器给你发来无效格式的邮件时,你的服务器陷入循环应答。当你的服务器收到无效格式的邮件时,一般会发送:"I am not going to accept that message at the moment,you can try again later",对方服务器收到后,几秒钟后又会发送同样的邮件给你,造成多次的重复。改为553后,你的服务器将直接发送:"I am not going to accept that message,don't try sending it again.",告诉对方的服务器不要再发这封无效的信件。 
 
 # make setup check 
 # ./config-fast mail.cloud.com 
 
 
 5.添加别名用户: 
 # touch /var/qmail/alias/.qmail-root 
 # touch /var/qmail/alias/.qmail-postmaster 
 # touch /var/qmail/alias/.qmail-mailer-daemon 
 # chmod 644 /var/qmail/alias/.qmail*
 # echo postmaster >; /var/qmail/control/bouncefrom  \\退回邮件
 # echo mail.cloud.com >; /var/qmail/control/helohost  \\主机名(解决新浪拒收邮件问题)
 # echo 10485760 >; /var/qmail/control/databytes     \\接收邮件的最大容量 (0=无限制)??
 # echo 40 >; /var/qmail/control/concurrencylocal    \\本地同时投递邮件的数目
 # echo 40 >; /var/qmail/control/concurrencyremote    、、同时投递至远程主机的数目
 注意:
 /var/qmail/control/locals中必须有缺省域名,否则投递失败的邮件将不知所踪。

 6.如果存在postfix和sendmail,停用现在的mail服务 
 #/etc/rc.d/init.d/sendmail stop 
 #cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail 
 #rm -f /etc/alternatives/mta 
 #ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta 
 
 # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail 
 # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 
 #chmod 777 /usr/sbin/sendmail  //这里特别要注意检查/usr/sbin/sendmail的属性.不然会导致装完后用igenus在web界面发信不成功
 
 
 ●安装vpopmail 
 1.下载vpopmail的稳定版 
 2.建立目录: 
 #mkdir /home/vpopmail 
 #mkdir /home/vpopmail/etc 
 3.添加用户和组: 
 #groupadd vchkpw 
 #useradd -g vchkpw vpopmail 
 4.添加mysql的vpopmail用户,用于操作vpopmail数据库 
 #mysql -u root -pwangxu //进入mysql命令行 
 mysql>;create database vpopmail; 
 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 
 
 #define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名) 
 #define MYSQL_UPDATE_USER "vpopmail" (用户名) 
 #define MYSQL_UPDATE_PASSWD "wangxu" (改成你设置的密码) 
 
 #define MYSQL_READ_SERVER "localhost" (mysql服务器名) 
 #define MYSQL_READ_USER "vpopmail" (用户名) 
 #define MYSQL_READ_PASSWD "wangxu" (改成你设置的密码) 
 
 6.创建tcp.smtp文件(或者使用/etc/tcp.smtp) 
 # vi /home/vpopmail/etc/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=10485760 \\定义缺省邮箱大小,10485760为10MB,20971520为20MB,52428800为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地址查找虚拟域名 
                --enable-sqwebmail-pass=y \\sqwebmail密码验证支持
                --enable-hardquota=10000000 \\限制磁盘限额为10M就需要使用下面这个配置参数,若磁盘限额超出,将拒绝接受该用户的新邮件,并返回一封拒绝信息邮件,其中的信息可以定制
 # make 
 # make install-strip 
 8.创建虚拟域 
 # cd /home/vpopmail/bin 
 # ./vadddomain 域名 (密码) (在mysql数据库vpopmail中自动生成vpopmail表单,生成的密码是postmaster@域名帐户的密码,以后登陆qmailadmin就是使用postmaster登陆的) 
 # ./vadduser 用户名 密码 (会自动往表vpopmail中添加用户数据,用户添加到默认的域里面。如果要添加到其他的虚拟域,用户名要带域名,如demo@demo.com) 
 如果不成功的话,则必须先删除创建的域,./vdeldomain 域名 不要使用手工操作mysql删除域和用户帐号,否则会引起系统帐户的紊乱)
 
 ●smtp-auth的设置 
 1.修改vchkpw的属性 
 #chmod 4755 vchkpw 
 #chown root.root vchkpw 
 如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid。提高vchkpw的权限,才能完成setgid操作。 
 2.下载安装cmd5checkpw 
 #tar zxvf cmd5checkpw-0.22.tar.gz 
 #cd cmd5checkpw-0.22 
 #make 
 #mkdir /usr/man 
 #mkdir /usr/man/man8 
 #make install 
  
 注意,因为使用vpopmail,所以checkpassword不用安装。 
 
 ●生成qmail的启动脚本 
 #cp /var/qmail/boot/home /var/qmail/rc 
 # vi /var/qmail/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/bin:$PATH" qmail-start ./Maildir/ splogger qmail & 
 
 
 #vi /var/qmail/smtp //编辑smtp服务的启动脚本 
 
 #!/bin/sh
 # -c 100指同时并行连接数为100
 QMAILDUID=qmaild
 NOFILESGID=nofiles

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

 /usr/local/bin/tcpserver -l mail.cloud.com -U -c 100 -H -R 0 pop3 /var/qmail/bin/qmail-popup mail.cloud.com  /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
 
 
 //这里要注意,这三个文件中的命令在一行,最好直接复制,绝对可用,我自己的启动脚本copy过来的。 
 #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出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。 
需要注意的是:
如果你在X下用X的kmail客户端测试,smtp的验证要选择LOGIN,POP的验证选择纯文本(APOP是错的,虽然有时候mail客户端会自动检测条到APOP上面),如果有好几个验证方式给你选择的话。
如果能发信,但收不到,这个时候看一下/var/log/maillog会找到答案的,一般是由于找不到libmysqlclient.so.12这个mysql库文件造成的,前面我之所以要copy到/usr/lib下就是因为这个问题经常卡我(因我都是编译安装程序的,所以程序的位置都指定了的)
 
 ●安装并运行igenus 
 1.到http://www.igenus.org下载最新的安装包 
 #tar zxvf igenus_2_20030516_snap.tgz -C /www/htdocs/  
 2.建temp文件夹 
 cd /www/htdocs/igenus 
 mkdir temp 
 chmod -R 0755 temp 
 chown -R vpopmail:vchkpw temp 
 3.修改httpd.conf 
 #vi /web/httpd/conf/httpd.conf 
 Group Apache 
 User Apache 
 修改为: 
 Group vchkpw 
 User vpopmail 
 
 AddDefaultCharset ISO-8859-1 
 修改为 
 AddDefaultCharset GB2312 //使默认页面为中文,2.x的apache需要修改
 
 #/etc/rc.d/init.d/httpd restart //重启apache,使修改生效 
 4.修改config_inc.php文件 
 # cd /www/htdocs/igenus/config 
 # vi config_inc.php 
 
 $CFG_BASEPATH = "/www/htdocs/html/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>;CREATE TABLE stow ( 
 id int(11) unsigned NOT NULL auto_increment, 
 pw_id int(5) NOT NULL default '0', 
 name varchar(64) NOT NULL default '', 
 http varchar(128) NOT NULL default '', 
 memo varchar(255) NOT NULL default '', 
 PRIMARY KEY (id) 
 ) TYPE=MyISAM PACK_KEYS=1; //收藏夹的表 
 
 mysql>;quit; 
 
 ●编辑qmail自启动脚本 
 
 #vi /etc/rc.d/init.d/qmail //编辑自动运行脚本 
 
 #! /bin/sh 
 # chkconfig: 2345 90 90 
 # description: qmail (include smtp and pop3) auto start/stop scripts. 
 
 . /etc/rc.d/init.d/functions 
 
 case "$1" in 
 
 start) 
 echo -n "start qmail:" 
 /var/qmail/rc & 
 echo "." 
 
 echo -n "start smtp service:" 
 /var/qmail/smtp 
 echo "." 
 
 echo -n "start pop3 service:" 
 /var/qmail/pop3 
 echo "." 
 ;; 
 
 stop) 
 echo "stop qmail:" 
 killproc qmail-send 
 killproc qmail-clean 
 killproc qmail-rspawn 
 killproc qmail-lspawn 
 killproc splogger 
 killproc tcpserver 
 ;; 
 
 *) 
 exit 1 
 ;; 
 esac 
 
 exit 0 
 
 #chmod 755 /etc/rc.d/init.d/qmail 
 #chkconfig --add qmail 
 OK,行了,现在只要你启动系统就会自动运行了。 
 
 
●igenus在安装和使用过程中出现错误的解决方法。 
 1.登录时出现的错误。 
 编辑/usr/loal/lib/php.ini,修改: 
 register_globals = On 
   2.发邮件时出现528错误,其实这是php在编译过程中找不到/usr/sbin/sendmail文件造成的,qmail使用/var/qmail/bin/sendmail发信。解决如下: 
 a.添加链接 
 # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 
 b.停止apache运行 
 c.重新编译php即可 
 
 
 ●安装ezmlm and ezmlm-idx使qmail支持邮件列表功能
 1.注意:为了启用maillist的MySQL支持,你必须首先: 
 建立mysql管理用户:(Ex:user:ezmlm,pass:ezmlm) 
 # mysql -u root -pwangxu 
 >;use mysql; 
 >;create database ezmlm;
 >;grant all on ezmlm.* to ezmlm@localhost identified by "ezmlmpassword";
 >;flush privileges; 
 >;exit; 
  # mysqladmin -u root -pwangxu create ezmlm 
 2.ezmlm-idx包含有对ezmlm的修正和补充,他们是一个整体。 
 #cd /home/software 
 # tar -zxvf ezmlm-0.53.tar.gz 
 # tar -zxvf ezmlm-idx-0.40.tar.gz 
 # mv  -Rf ezmlm-idx-0.40/* ezmlm-0.53/ //将ezmlm-idx-0.40下的文件覆盖到ezmlm-0.53下 
 # cd ezmlm-0.53 
 # patch < idx.patch 
 # patch < ../ezmlm-idx-0.53.400.unified_41.patch 
 # make mysql #MySQL 支持 
 # make clean 
 # make man 
 # make ch_GB #汉字GB2312支持 
 修改conf-sqlcc文件 
 内容为:-I/usr/include/mysql 
 
 修改conf-sqlld 
 内容为: -L/usr/lib/mysql -lmysqlclient -lnsl -lm -lz 
 -lz是增加zip压缩支持
 
 修改conf-bin 
 第一行:/var/qmail/bin/ezmlm 
 
 修改conf-man 
 第一行:/var/qmail/man 
 
 修改conf-qmail 
 第一行:/var/qmail 
 
 # make setup 
 
 修改/usr/local/qmail/bin/ezmlm/ezmlmrc将"To:##L@##H"修改为"To:<#L#>;@<#H#>;",主要是修改用邮件客户端收到信之后,收件人地址显示格式错误。
 邮件列表收到的信息乱码解决方法:
 在/home/vpopmail/domains/cloud.com/maillistname/下建立一个charset的文件
 #touch charset
 #chown vpopmail:vchkpw charset
 #chmod go-r charset
 #vi charset 添加一行gb2312 
这样你发一份邮件到maillistname@xxx.xxx 你收到的信息将可以正确的显示中文了!
 
 3.在你建立一个基于MySQL的maillist之前,你必须保证ezmlm库中已存在一个对应的表(其实我发现没有表,ezmlm会自动建立,只是会提示错误): 
 Ex:你想建一个基于MySQL的maillist:testlist 
 # /var/qmail/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 | 
 +------------------------+ 
 
 你可以用一下命令察看! (也不需要这样麻烦的,安装了qmailadmin后可以使用qmailadmin管理邮件列表了)
 # mysqlshow -uezmlm -pezmlm ezmlm 
 
 ●安装autorespond  (自动回信机器人) 
 # tar zxvf autorespond-2.0.2.tar.gz 
 # cd autorespond-2.0.2 
 修改Makefile文件 
 将其中的INSTALL_DIR =修改为 /var/qmail/bin 
 # make 
 # make install 
 # cp autorespond /usr/local/bin 
 
 
 ●安装qmailadmin 
 在安装之前先确认: 
 你是否已经安装了vpopmail,并使用vchkpw 。 
 是否已经安装ezmlm。 
 是否已经安装autorespond。 
 确认以上的工作已完成,可以开始安装qmailadmin。 
 # cd /home/software 
 # tar zxvf qmailadmin-1.0.6.tar.gz 
 # cp en-us qmailadmin-1.0.6/html/en 
 # cp en-us qmailadmin-1.0.6/html/en-us 
 (注:以上两步,是为了汉化qmailadmin。en-us取自iceblood的qmail安装包) 
 # cd qmailadmin-1.0.6 
 # cd qmailadmin-1.0.6 
 #./configure --enable-cgibindir=/www/cgi-bin --enable-htmldir=/www/htdocs/igenus --enable-ezmlmdir=/var/qmail/bin/ezmlm (确保你的ezmlm程序文件在此目录下)
 # make 
 # make install-strip 
 # mkdir -p /www/htdocs/images/qmailadmin 
 # mv images/*.* /www/htdocs/images/qmailadmin/ //复制images下的图片到/www/htdocs/images/qmailadmin下 
 
 
 ●安装sqwebmail
 1、 安装sqwebmail
 
 #cd /down
 #tar zxvf sqwebmail-3.5.0-cn.tar.gz
 #cd sqwebmail-3.5.0
 #./configure  --with-db=db(如果你没有安装GDBM库,那么请加上这个,默认系统如果找到了GDBM库会使用GDBM库的)
           --enable-webpass=yes
       --without-authpam 
       --without-authpwd 
       --without-authshadow 
       --without-authldap 
       --without-authuserdb 
       --without-authpwd 
       --with-authvchkpw 
       --with-authdaemon \\激活web页面修改密码功能模块
       --enable-cgibindir=/www/cgi-bin/sqwebmail
       --enable-imagedir=/www/htdocs/sqwebmail
       --disable-utf7-folder-encoding  \\ 去掉IMAP文件夹编码支持
           --with-cachedir=/tmp/sqwebmail        \\缓存目录
           --with-cacheowner=bin     \\缓存目录所有者 (default: bin)
           --enable-mimetypes=/www/htdocs/
       --enalbe-mimecharset=gb2312
       --enable-unicode=gb2312
 #make configure-check
 #make 
 #make install-strip
 #make install-configure
 #/usr/local/share/sqwebmail/libexec/authlib/authdaemond start 
 注意,以后必须启动这个进程进行身份验证,我发现安装sqwebmail后,这个进程不启动那么我的邮件系统就没法登陆,总是说密码验证错误,qmailadmin倒可以登陆。
 su -c "/usr/local/share/sqwebmail/cleancache.pl" bin

 
 
 现在,重起你主机系统,你可以设置一下你的outlook或者foxmail.接受邮件了。也可以通过webmail访问你的mail系统了。 
 http://localhost 
http://localhost/cgi-bin/sqwebmail/sqwebmail
通过webmail接受你的邮件信息,sqwebmail我只是装上测试一下,看看效果,不过它对中文支持比较差,也没有比较好的中文版本,所以我觉得还是用igenus比较好。
 http://localhost/cgi-bin/qmailadmin 通过web方式管理和添加用户了 
 
 

补充:在/home/vpopmail/domains/xxx.com下面建立一个.qmailadmin-limits文件(这个文件本身没有在里面写 
maxpopaccounts 100
default_quota 10485760 
这样用qmailadmin添加账号的最大数目就是100,每个邮箱的配额就是10485760,10M。。
变量: 数值型. 
maxaliases,maxforwards,maxautoresponder,maxmailinglists 
变量:bool型 
disable_pop,disable_imap,disable_dialup,disable_password_changing,disable_webmail,disable_external_relay 
 以上的变量只要在文件中存在就起作用,不用设值。 
 
 
●Qmail下的免费防病毒网关antivir-mailgate简易安装
现在病毒猖狂啊,做网管的,网络出了乱子,麻烦就大了,病毒一扩散就比较麻烦了,以下介绍一个适合于unix/linux下的病毒邮件网关。
1.先去该公司网址注册一下,获得一个一年期限的license
www.antivir.de/order/privreg/linux.htm
2.开始安装
# tar zxf avlxmgt.tgz
# cd antivir-mailgate-2.0.1.16
# ./avinstall.pl

这里程序会询问你的一些安装路径这类问题,很easy的,一路回车吧!  
默认情况下,antivir-mailgate是通过监听25端口,收到mail后杀毒处理在通过unix管道调用传递给qmail的。因此,首先需要建立以下链接,因为安装qmail的时候已经做过了。所以这里就可以省略了。
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
修改工作目录的权限和所有者,注意必须是0700的权限模式,否则无法启动,会报错误的
# chown uucp.uucp /var/spool/avmailgate -R
# chmod 0700 /var/spool/avmailgate -R
编辑配置文件,以下是几个有用的配置选项,其他的就不多说了,配置文件里面都有说明的,很easy的,如果你想测试一下,看杀毒后的输出,可以修改里面的选项,追加附加的头部到mail里面去。另外,安装脚本会在rc.d目录下建立相应的启动连接,请确保你的qmail的启动脚本在病毒网关之后启动。INSTALL.qmail文件中提到了3种工作模式,默认的是通过监听25端口,收到邮件后进行杀毒处理后在直接通过unix管道传递给qmail进程处理,还有一种模式是让qmail监听825端口,病毒网关收到邮件后直接转发给825端口上的进程,这种模式下效率可能没有默认的工作模式的效率好,这两种模式下都有个弊病,就是25端口上的病毒网关进程没有验证功能了,INSTALL.qmail文件还有一个方法就是使用两个qmail进程和一个病毒网关协同工作,一个做前台监听25端口,这样就可以验证了,这个前台进程收到邮件后在转发到病毒网关进程,病毒网关进行杀毒处理后在转发到后台的qmail进程上,这个进程在进行本地投送处理,文件里描述的比较详细了,我就不多说了,有兴趣的朋友可以照着做。
# vi /etc/avmailgate.conf
User uucp (默认以uucp用户和uucp组工作,请保证你的系统是否存在这两个帐号)
Group uucp
SpoolDir                        /var/spool/avmailgate  (工作目录)
ForwardTo /usr/lib/sendmail -oem -oi(默认的工作模式) 

# vi /etc/avmailgate.acl #这个文件控制允许接收mail的域,一般不需要修改
# /usr/sbin/rcavgate start (启动mail防毒网关)
检查启动输出

# cat /var/log/maillog
# vi /etc/crontab
#每天的0:25分自动更新病毒库
25 0 * * * /usr/lib/AntiVir/antivir –update -q



加载中
返回顶部
顶部