一、安装说明。 为了方便安装我在安装Redhat3.0时选了apache、php、mysql,注意mysql-devel开发包一定要装上,
二、安装ucspi-tcp-0.88 1.这是由于redhat3.0(包括redhat 9.0)的glibc的版本有问题,必须有下列软件及补丁才能编译 http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.errno.patch http://qmail.te8.com/rpms/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch
把所有的qmail文件都放到 /soft/qmail目录下
2.安装ucspi-tcp-0.88
[root@localhost qmail]# tar zxvf ucspi-tcp-0.88.tar.gz [root@localhost qmail]# cd ucspi-tcp-0.88 [root@localhost ucspi-tcp-0.88 ]# patch -p1 < ../ucspi-tcp-0.88.a_record.patch [root@localhost ucspi-tcp-0.88 ]# patch -p1 < ../ucspi-tcp-0.88.errno.patch [root@localhost ucspi-tcp-0.88 ]# patch -p1 < ../ucspi-tcp-0.88.nobase.patch [root@localhost ucspi-tcp-0.88 ]# make [root@localhost ucspi-tcp-0.88 ]# make setup check
三、安装qmail 1.需要的软件及补丁 http://cr.yp.to/software/qmail-1.03.tar.gz http://www.ckdhr.com/ckd/qmail-103.patch http://www.qmail.org/qmailqueue-patch http://www.shupp.org/patches/qmail-maildir++.patch http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.errno.patch http://qmail.te8.com/rpms/glibc-2.3.1/qmail-1.03.qmail_local.patch http://members.elysium.pl/brush/qmail-smtp-auth/dist/qmail-smtpd-auth-0.31.tar.gz
2.建立目录 [root@localhost qmail]# mkdir /var/qmail [root@localhost qmail]# mkdir /var/qmail/alias
3.建组及用户 [root@localhost qmail]# groupadd nofiles [root@localhost qmail]# groupadd qmail [root@localhost qmail]# useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent [root@localhost qmail]# useradd qmaild -g nofiles -d /var/qmail -s /nonexistent [root@localhost qmail]# useradd qmaill -g nofiles -d /var/qmail -s /nonexistent [root@localhost qmail]# useradd qmailp -g nofiles -d /var/qmail -s /nonexistent [root@localhost qmail]# useradd qmailq -g qmail -d /var/qmail -s /nonexistent [root@localhost qmail]# useradd qmailr -g qmail -d /var/qmail -s /nonexistent [root@localhost qmail]# useradd qmails -g qmail -d /var/qmail -s /nonexistent
4.打补丁及编绎安装qmail [root@localhost qmail]# tar zxvf qmail-1.03.tar.gz [root@localhost qmail]# tar zxvf qmail-smtpd-auth-0.31.tar.gz [root@localhost qmail]# cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 [root@localhost qmail]# patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch [root@localhost qmail]# cd qmail-1.03 [root@localhost qmail-1.03]# patch -p1 < ../qmail-103.patch [root@localhost qmail-1.03]# patch -p1 < ../qmailqueue-patch [root@localhost qmail-1.03]# patch -p1 < ../qmail-maildir++.patch [root@localhost qmail-1.03]# patch -p1 < ../qmail-1.03.errno.patch [root@localhost qmail-1.03]# patch -p1 < ../qmail-1.03.qmail_local.patch [root@localhost qmail-1.03]# vi qmail-smtpd.c //将函数straynewline中的451改为553 [root@localhost qmail-1.03]# make setup check [root@localhost qmail-1.03]# ./config-fast gooyo.net
5.添加别名用户 [root@localhost qmail]# touch /var/qmail/alias/.qmail-root [root@localhost qmail]# touch /var/qmail/alias/.qmail-postmaster [root@localhost qmail]# touch /var/qmail/alias/.qmail-mailer-daemon 6.如果存在postfix和sendmail,将它们停用。 [root@localhost qmail]# /etc/rc.d/init.d/sendmail stop [root@localhost qmail]# cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail [root@localhost qmail]# rm -f /etc/alternatives/mta [root@localhost qmail]# ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta [root@localhost qmail]# rm -f /usr/lib/sendmail [root@localhost qmail]# rm -f /usr/sbin/sendmail [root@localhost qmail]# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail [root@localhost qmail]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail [root@localhost qmail]# chmod 777 /usr/sbin/sendmail
四、安装vpopmail 1.下载vpopmail http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz
2.建立目录 [root@localhost qmail]# mkdir /home/vpopmail [root@localhost qmail]# mkdir /home/vpopmail/etc
3.添加用户和组 [root@localhost qmail]# groupadd vchkpw [root@localhost qmail]# useradd -g vchkpw vpopmail
4.添加mysql的vpopmail用户,用于操作vpopmail数据库 [root@localhost qmail]# mysqladmin -u root password **** 设置mysql的root密码。 [root@localhost qmail]# mysql -u root -p mysql>create database vpopmail; mysql>grant all on vpopmail.* to vpopmail@localhost identified by "密码"; mysql>FLUSH PRIVILEGES; //重载受权表
5.编译安装vpopmail [root@localhost qmail]# tar zxvf vpopmail-5.2.1.tar.gz [root@localhost qmail]# cd vpopmail-5.2.1 [root@localhost vpopmail-5.2.1]# vi vmysql.h =========================== vmysql.h ============================== #define MYSQL_UPDATE_SERVER "localhost" #define MYSQL_UPDATE_USER "vpopmail" #define MYSQL_UPDATE_PASSWD "****" (改成你设置的密码)
#define MYSQL_READ_SERVER "localhost" #define MYSQL_READ_USER "vpopmail" #define MYSQL_READ_PASSWD "****" (改成你设置的密码) ==========================================================
6.创建tcp.smtp [root@localhost vpopmail-5.2.1]# vi /home/vpopmail/etc/tcp.smtp ==================== tcp.smtp ============================ 127.0.0.1:allow,RELAYCLIENT="" :allow ==========================================================
[root@localhost vpopmail-5.2.1]# cd /home/vpopmail/etc [root@localhost etc]# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
7.进行编译: [root@localhost vpopmail-5.2.1]# ./configure --prefix=/home/vpopmail --enable-mysql=y --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --enable-default-domain=domain.com --enable-passwd=n --enable-defaultquota=52428800s (10485760:10MB,20971520:20MB,52428800s:50MB) --enable-tcprules-prog=/usr/local/bin/tcprules --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw --enable-ip-alias-domains=n
[root@localhost vpopmail-5.2.1]# make [root@localhost vpopmail-5.2.1]# make install-strip
8.创建虚拟域 [root@localhost vpopmail-5.2.1]# cd /home/vpopmail/bin
[root@localhost bin] /home/vpopmail/bin/vadddomain 域名 密码 [root@localhost bin] /home/vpopmail/bin/vadduser 用户名 密码 (用户名要带域名,如[email protected]) 删除创建域的命令是:./vdeldomain 域名
五、设置smtp-auth 1.修改vchkpw的属性 [root@localhost qmail]# chmod 4755 vchkpw [root@localhost qmail]# chown root.root vchkpw
2.下载安装cmd5checkpw wget http://members.elysium.pl/brush/cmd5checkpw/dist/cmd5checkpw-0.22.tar.gz
[root@localhost qmail]# tar zxvf cmd5checkpw-0.22.tar.gz [root@localhost qmail]# cd cmd5checkpw-0.22 [root@localhost cmd5checkpw-0.22]# make [root@localhost cmd5checkpw-0.22 ]# make install
六、生成qmail的启动脚本 [root@localhost qmail]# cp /var/qmail/boot/home /var/qmail/rc [root@localhost qmail]# 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/bin:$PATH" qmail-start ./Maildir/ splogger qmail & ================== rc ==========================
[root@localhost qmail]# vi /var/qmail/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 domain.com /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 & =================== smtp ============================
[root@localhost qmail]# vi /var/qmail/pop3 //编辑pop3服务的启动脚本 ====================== pop3 ========================= #!/bin/sh
/usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/qmail-popup domain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir & ======================= pop3==========================
[root@localhost qmail]# chmod 755 /var/qmail/rc [root@localhost qmail]# chmod 755 /var/qmail/smtp [root@localhost qmail]# chmod 755 /var/qmail/pop3
七、运行qmail并测试 [root@localhost qmail]# /var/qmail/rc [root@localhost qmail]# /var/qmail/smtp [root@localhost qmail]# /var/qmail/pop3 [root@localhost qmail]# ps aux | grep "qmail" 查看POP3和SMTP是否工作 # telnet 192.168.0.1 110 # telnet 192.168.0.1 25 注意在outlook中设置邮件帐号时,用户名后要加上域名,如[email protected]。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录。
八、安装并运行igenus 1.下载最新的安装包:igenus_2_20030516_snap.tgz [root@localhost qmail]# tar zxvf igenus_2_20030516_snap.tgz -C /var/www/html 2.建temp文件夹 [root@localhost qmail]# cd /var/www/html/igenus [root@localhost igenus]# mkdir temp [root@localhost igenus]# chmod -R 0755 temp [root@localhost igenus]# chown -R vpopmail:vchkpw temp 在httpd.conf中设置权限不允许访问temp目录。
deny from all
3.修改httpd.conf [root@localhost igenus]# vi /etc/httpd/conf/httpd.conf User Apache Group Apache 修改为: User vpopmail Group vchkpw 为了解决APACHE的默认语言问题添加这个: AddDefaultCharset GB2312 [root@localhost igenus]# /etc/rc.d/init.d/httpd restart
4.解决个别邮箱拒收邮件的问题(如新浪网) 修改邮件签名信息 [root@localhost igenus]# vi /var/www/html/igenus/config/config_inc.php
$CFG_BASEPATH = "/var/www/html/igenus"; $CFG_MYSQL_HOST = 'localhost'; $CFG_MYSQL_USER = 'vpopmail'; $CFG_MYSQL_PASS = '******'; 改成你的密码 $CFG_MYSQL_DB = 'vpopmail'; $CFG_TEMP = $CFG_BASEPATh."/temp"; 删除其中的 “iGENUS is a free webmail interface, NO fee, FREE download” 修改其中的http://www.igenus.org为http://domain.com
[root@localhost igenus] vi /var/qmail/control/helohost =============== helohost ==================== domain.com =============== helohost ====================
[root@localhost igenus]# chmod 755 /var/qmail/control/helohost 如果你用的邮件服务器是postfix就这样处理 postconf -e "smtp_helo_name = 我的邮件服务器的域名(A记录)" 如果你用的邮件服务器是sendmail就这样处理 vi /etc/sendmail.cf Cw我的邮件服务器的域名(A记录)
5.修正邮箱无退信问题 [root@localhost qmail]# rm -f /usr/sbin/sendmail [root@localhost qmail]# ln -s /var/qmail/bin/sendmail
如果用qmailadmin管理邮箱则这样处理 进入qmailadmin -->主菜单“邮件账号”-->Set no default catch all account 就OK了。这时网页上面的CatchAll应该显示为Bounced。 6.修改config_inc.php文件 [root@localhost qmail]# cd /var/www/html/igenus/config [root@localhost config]# vi config_inc.php
=============== config_inc.php ==================== $CFG_BASEPATH = "/var/www/html/igenus";
$CFG_MYSQL_HOST = 'localhost'; $CFG_MYSQL_USER = 'vpopmail'; $CFG_MYSQL_PASS = '****'; 这里改成你的密码 $CFG_MYSQL_DB = 'vpopmail';
$CFG_TEMP = $CFG_BASEPATh."/temp"; ============================================== 7.重新编制Mysql数据库表格 [root@localhost config]# 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;
8.如果需要,用vadddomain和vadduser添加新域名和新用户
9.Qmail限制附件的大小 在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。 smtp方式是以qmail的databytes作限制的 创建databytes并设置邮件最大为4m [root@localhost qmail]# echo 4000000 >/var/qmail/control/databyte
10.限制单域的邮箱数量 [root@localhost qmail]# vi /home/vpopmail/domains/domain.com/.qmailadmin-limits ===============.qmailadmin-limits ==================== maxpopaccounts 200 default_quota 52428800s ===============.qmailadmin-limits ==================== [root@localhost qmail]# chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits [root@localhost qmail]# chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits 这样就把邮箱总数限制在200个,每个邮箱为50M了
11.用qmail封mailfrom [root@localhost qmail]# vi/var/qmail/control/badmailfrom 这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。例如: [email protected] -----限制一个特定的用户 @sina.com -----限制整个域中的邮件 12.设置igenus 定义允许上传下载的邮件的大小 [root@localhost qmail]# vi /etc/php.ini max_execution_time = 60 memory_limit = 16M post_max_size = 4M upload_max_filesize = 4M file_uploads = On session.auto_start = 1 register_globals = On session.bug_compat_42 = 1 session.bug_compat_warn = 0
[root@localhost qmail]# vi /etc/httpd/conf.d/php.conf
SetOutputFilter PHP SetInputFilter PHP LimitRequestBody 4242880
九、编辑qmail自启动脚本 [root@localhost qmail]# vi /etc/rc.d/init.d/qmail ===================== qmail ====================== #! /bin/sh # chkconfig: 2545 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 ============================================== [root@localhost qmail]# chmod 755 /etc/rc.d/init.d/qmail [root@localhost qmail]# chkconfig --add qmail
-------------------------------到这里一般就可以使用了-----------------------------
十、安装autorespond [root@localhost qmail]# tar xzvf autorespond-2.0.2.tar.gz [root@localhost qmail]# cd autorespond-2.0.2 [root@localhost autorespond-2.0.2]# vi Makefile 将其中的INSTALL_DIR =修改为 /var/qmail/bin [root@localhost autorespond-2.0.2]# make [root@localhost autorespond-2.0.2]# make install [root@localhost autorespond-2.0.2]# cp autorespond /usr/local/bin
十一、安装qmailadmin-1.0.6.tar.gz [root@localhost qmail]# tar xzvf qmailadmin-1.0.6.tar.gz [root@localhost qmail]# cd qmailadmin-1.0.6 [root@localhost qmailadmin-1.0.6]# ./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html --disable-ezmlmdir
[root@localhost qmailadmin-1.0.6]# make [root@localhost qmailadmin-1.0.6]# make install-strip
再一次执行
[root@localhost qmail]# chmod -R 0755 /var/www/html/igenus [root@localhost qmail]# chmod -R 0755 /var/www/html/images [root@localhost qmail]# chown -R vpopmail:vchkpw /var/www/html/igenus [root@localhost qmail]# chown -R vpopmail:vchkpw /var/www/html/images
汉化qmailadmin 首先删除qmailadmin安装的菜单文件 [root@localhost qmail]# rm –f /usr/local/share/qmailadmin/html/en [root@localhost qmail]# rm –f /usr/local/share/qmailadmin/html/en-us 生成自己的简体中文菜单文件/usr/local/share/qmailadmin/html/en [root@localhost qmail]# vi /usr/local/share/qmailadmin/html/en
000 gb2312 001 主菜单 002 邮件帐号 003 添加邮件机器人: 004 邮件机器人的名字: 005 发送拷贝到邮件地址: 006 标题: 007 添加转发帐号: 008 转发到邮件地址: 009 本地邮件用户名: 010 要转发的邮件地址的格式是:[email protected]. 本地邮件用户的格式是: popaccount 例如, 如果转发 本地用户: sales到邮件地址: [email protected] 那么所有发到sales用户的邮件都将转发到 [email protected]这个邮件地址中 011 Add List Moderator 012 Add Moderator to mailing list 013 邮件地址: 014 添加新的用户到邮件类别 015 创建新的邮件列表 016 邮件列表的名字 017 邮件列表所有者的邮件地址: 018 Archived 019 Not archived 020 Block archive. Only moderators are allowed to access the archive. 021 Archive access is open to anyone or subscribers only, depending on the Guard setting. 022 No digest. Do not set up the digest list. 023 Prefix. Set up the list so that the outgoing subject will be prefixed with the list name. 024 No prefix. 025 Guard archive. Archive access requests from unrecognised SENDERs will be rejected. 026 Do not guard archive. Archive access request from any SENDERs will be serviced. 027 Subscriptions do not require confirmation. 028 Subscription requires confirmation by reply to a message sent to the subscription address. 029 Indexed for WWW archive access. 030 The list is created without WWW archive index 031 Unsubscribe does not require confirmation. 032 Unsubscribe requires confirmation by a reply to a message sent to the subscription address. 033 List subscribers. Remote administrators can request a subscriber list, and search the subscriber log. 034 The subscriber list cannot be obtained. 035 Message moderation. 036 Message posting is not moderated. 037 Posts from addresses other than moderators are rejected. This is applicable to message moderated lists only. 038 Others not rejected. For moderated lists, all posts are forwarded to the moderators. The switch has effects only on message moderated lists. 039 Respond to adminstrative requests and allow archive retrieval. 040 Allow only digest creation, remote adminstration, and archive retrieval by remote administrators, (if the list is configured with this options). 041 Allow remote administrators to edit files in text directory 042 Text file editing is not allowed 043 ReQuest address is serviced 044 Do not process messages sent to the request address 045 Enables remote administration 046 No remote administration. 047 Subscription moderation. 048 Subscriptions are not moderated. 049 Trailer 050 No trailer 051 User posts only 052 Do not restrict posts based on SENDER address 053 允许数据库支持 054 主机名 055 端口 056 用户名 057 密码 058 数据库 059 表 060 添加 061 邮件帐号 062 CatchAll: 063 说明 064 修改 用户 065 删除 帐号 066 CatchAll 帐号 067 创建新的邮件帐号 068 帐号别名 069 别名 070 邮件帐号 071 修改 072 删除 073 创建新的别名 074 Forward Accounts 075 转发 076 创建新的转发 077 邮件机器人 078 邮件机器人 079 新的邮件机器人 080 邮件列表 081 列表 082 打开.qmail-default时出错 083 添加 订阅人 084 删除 订阅人 085 列出 订阅人 086 添加 Moderator 087 删除 Moderator 088 列出 Moderators 089 新的邮件列表 090 创建邮件帐号 091 密码 (again): 092 真实姓名 093 列表名 094 提交用户 095 提交新用户到下列邮件列表 096 删除别名 097 确认删除 098 删除邮件机器人 099 数据库设置 100 删除转发 101 删除邮件列表 102 删除用户 103 转发邮件 104 是的, 将它转发到: 105 修改邮件机器人 106 名字 107 说明 108 创建新的邮件地址 109 修改用户 110 新的密码 111 修改用户 112 管理员帐号 113 域名 114 登录 115 Redirects for user 116 Current redirects 117 Add/Replace redirect email 118 Delete rediect 119 添加成功 120 无法添加 121 别名 122 转发 123 Show redirect 124 快捷链接 125 创建新的邮件帐号 126 创建新的别名 127 创建新的转发 128 创建新的邮件机器人 129 创建新的邮件列表 130 CatchAll: Bounced 131 没有用户可供浏览,请返回到上一页 132 默认 133 索引: 134 Set no default catch all account 135 上一页 136 刷新 137 下一页 138 Type in password 139 邮件用户的密码更改成功。 140 密码修改失败。 141 用删除成功。 142 没有认证 143 目录权限错误 144 文件权限错误 145 无效用户内部错误 146 Cannot Do redirect 147 Redirect Now 148 无效邮件地址 149 Cannot Delete Last Entry 150 文件错误 151 Line Deleted Succesfully 152 转发添加成功 153 用户名不存在 154 别名添加成功 155 Invalid Action 156 达到最大的别名数目限制 157 达到最大的转发数目限制 158 达到最大邮件机器人数目限制 159 Invalid DotQmail Type: adddotqmail() 160 别名无效 161 Did not add alias. POP Account must be an existing POP Account. 162 邮件用户名无效 163 本地用户名无效 164 Invalid Alias Type : adddotqmailnow() 165 添加邮件用户的别名失败 166 添加邮件用户的别名成功 167 删除用户的别名/转发出错。 168 添加用户的别名/转发成功。 169 Error deleting redirect/forward for POP Account 170 Redirect/forward for POP Account deleted successfully 171 Error: could not change to directory 172 Only one person can log in as system postmaster at one time. Someone else has logged in. Please only have one login at a time. 173 登录过期,请重新登录 174 无效的邮件机器人名 175 用户名已存在 176 Please fill in Mail Robot name 177 Invalid Owner Email Address 178 请输入标题 179 Please type in something to send 180 邮件机器人添加成功 181 无法删除邮件机器人 182 邮件机器人删除成功 183 邮件机器人修改成功 184 达到最大的邮件列表数 185 无法删除邮件列表数 186 邮件列表删除成功 187 邮件列表添加成功 188 无效的邮件列表名 189 邮件列表中邮件地址一览 190 End of list 191 邮件列表中moderator用户的邮件地址一览 192 返回主菜单 193 添加到主菜单 194 Email address added as a moderator to mailing list 195 从邮件列表中删除订阅人 196 从邮件列表中删除moderator 197 removed as a moderator for mailing list 198 登录无效 199 达到最大的邮件用户数目 200 密码不匹配,请重新输入 201 内存耗尽 202 Where the parameters are: 203 从邮件列表中移除 204 Go user 205 禁止 转发/假期(Vacation) 206 Set remote catch all account 207 Set Remote CatchAll 208 Remote CatchAll Address: 209 允许转发 210 允许保存拷贝和转发 211 转发邮件到: 212 允许假期(Vacaction) 213 Vacation 标题: 214 Vacation 信息: 215 必须提供转发地址 216 必须提供标题 217 刷新主菜单 218 退出 219 Moderators列表 220 Moderator 地址 221 订阅人列表 222 提交 地址 223 用户不存在 224 (点击修改) 225 修改邮件列表 226 邮件列表修改成功 227 诊断 228 总数: 229 不限制 230 订阅人总数: 231 没有列表可供显示 232 没有别名和转发可供显示 233 没有邮件机器人可供显示
生成自己的简体中文菜单文件/usr/local/share/qmailadmin/html/en-us cp /usr/local/share/qmailadmin/html/en /usr/local/share/qmailadmin/html/en-us
生成admin表 mysql>use vpopmail; mysql>CREATE TABLE `admin` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `domain` varchar(128) NOT NULL default '', `quota` smallint(5) unsigned NOT NULL default '0', `total` smallint(5) unsigned NOT NULL default '0', `createtime` timestamp(14) NOT NULL, `login` char(1) NOT NULL default '', `cur_total` smallint(5) NOT NULL default '0', `cur_quota` smallint(5) NOT NULL default '0', PRIMARY KEY (`id`), UNIQUE KEY `domain` (`domain`) ) TYPE=MyISAM PACK_KEYS=1 AUTO_INCREMENT=1 ;
十二、建立QMAIL防火墙FOR ADSL。 echo 1 >/proc/sys/net/ipv4/ip_forward /sbin/iptables -F INPUT /sbin/iptables -F FORWARD
### enable client to vist the web-server on internet /sbin/iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT /sbin/iptables -A INPUT -i ppp0 -p tcp ! --syn -s any/0 --sport 80 --dport 1024:65535 -j ACCEPT
### SET IP-MASQUERADE /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
### ip packets limit /sbin/iptables -A FORWARD -f -m limit --limit 10/s --limit-burst 10 -j ACCEPT /sbin/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 3 -j ACCEPT /sbin/iptables -A INPUT -i ppp0 -p icmp -j DROP
### enable some internet-service on intranet for the clients on internet /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
### open some port for ftp-users to use passive mode /sbin/iptables -A INPUT -i ppp0 -p tcp --dport 25 -j ACCEPT /sbin/iptables -A INPUT -i ppp0 -p tcp --dport 110 -j ACCEPT ### disable any port you don't want to be visited /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -i ppp0 -j DROP
十三、补充说明 如果你按照上面的步骤进行了安装,你还需要对一些PHP页面进行修改以便适合你的应用, 可使用VI直接打开修改。我这里就不在一一列举了。 测试邮箱:http://www.gooyo.net/igenus 管理邮箱:http://www.gooyo.net/cgi-bin/qmailadmin
==========================================================================
建立qmail服务器的防病毒系统
所需软件: maildrop-1.5.2.20030423.tar.gz perl-Time-HiRes-1.38-3.i386.rpm clamav-0.65.tar.gz qmail-scanner-1.20.tgz
安装maildrop: tar zxvf maildrop-1.5.2.20030423.tar.gz cd maildrop-1.5.2.20030423 ./configure make make install-strip make install-man 安装 perl-Time-HiRes-1.38-3.i386.rpm rpm -ivh perl-Time-HiRes-1.38-3.i386.rpm
安装clamav-0.65.tar.gz groupadd clamav useradd –g clamav –s /bin/false clamav tar zxvf clamav-0.65.tar.gz cd clamav-0.65 ./configure make check make install
更新病毒库 运行freshclam 把freshclam加入crontab 定时更新病毒库, vi /usr/local/etc/clamav.conf 注释掉Example 执行clamscan 执行clamd 然后执行clamdscan
安装qmail-scanner-1.20.tgz groupadd qscand useradd -g qscand -s /bin/false qscand tar zxvf qmail-scanner-1.20.tgz cd qmail-scanner-1.20 ./configure --qmail-queue-binary /var/qmail/bin/qmail-queue --admin postmaster --domain nero.3322.org --notify sender,admin --local-domains nero.3322.org --lang en_GB --debug yes --unzip yes --scanners clamscan --install 在编译过程中需要安装perl-DB_File-x.x.x.rpm,在光盘中可找到。 chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl 然后用一个普通用户登陆,执行/var/qmail/bin/qmail-scanner-queue.pl -z 如果没有Can't do setuid出现,恭喜你,如果有 回到安装文件目录,有个contrib目录, make make install
附加步骤: chown qscand:qscand /var/qmail/bin/qmail-scanner-queue chmod 4755 /var/qmail/bin/qmail-scanner-queue chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl
然后用一个普通用户登陆,执行 /var/qmail/bin/qmail-scanner-queue -z /var/qmail/bin/qmail-scanner-queue -g 修改环境变量 1.在你的qmail启动脚本加入 QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue.pl 如果作了附加步骤用下面的 QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue export QMAILQUEUE 2.修改qmail-scanner-queue.pl中的 my $clamscan_options="-r --disable-summary --max-recursion=10 --max-space=1000000";为 my $clamscan_options="-r --mbox --disable-summary --max-recursion=10 --max-space=1000000";
重起qmail 测试 这里有测试程序 /software/qmail-scanner-1.20/contrib/test_installation.sh
主要的排错监测日志 /var/spool/qmailscan/quarantine.log /var/spool/qmailscan/qmail-queue.log /var/log/clamd.log /var/log/maillog
给qmail + vpopmail + igenus邮件服务器添加新功能
1.注册新用户和找回密码 建立数据库 mysql -u root -p mysql> use vpopmail; mysql> CREATE TABLE password ( id int(11) unsigned NOT NULL auto_increment, pw_name varchar(32) NOT NULL default '', pw_domain varchar(64) NOT NULL default '', problem varchar(32) NOT NULL default '', answer varchar(32) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1;
安装软件包 password.rar其中有五个文件 signup.php,submit.php是注册用的 getpassword.php,getpassword2.php,getpassword3.php是找回密码用的. 中间有关默认域名的地方.自行修改为自己的默认域名. 如果igenus安装到/var/www/html/igenus的话,就把这五个文件解压缩到/var/www/html目录下,然后在首页的index.php文件中增加相应的链接就可以了.
2.自动转发 把发往自己邮箱的邮件定向到其他邮箱 mysql> use vpopmail; mysql> CREATE TABLE forword ( id int(11) unsigned NOT NULL auto_increment, pw_id int(5) NOT NULL default '0', email varchar(64) NOT NULL default '', success int(1) NOT NULL default '0', save int(1) NOT NULL default '0', PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1;
3.个人资料 mysql> use vpopmail; mysql> CREATE TABLE personal ( id int(11) unsigned NOT NULL auto_increment, pw_id int(5) NOT NULL default '0', truename varchar(10) NOT NULL default '', fax varchar(20) NOT NULL default '', telephone varchar(15) NOT NULL default '', sex int(1) NOT NULL default '0', year int(4) NOT NULL default '', month int(2)NOT NULL default '', day int(2)NOT NULL default '', education varchar(4) NOT NULL default '', marital int(1) NOT NULL default '', occupation varchar(15) NOT NULL default '', companyname varchar(30) NOT NULL default '', province varchar(6) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1;
4.通告栏 只有域管理员可以发给该域的所有用户通告,而该域的所有用户只可以查看通告 mysql> use vpopmail; mysql> CREATE TABLE board ( id int(11) unsigned NOT NULL auto_increment, num int(5) NOT NULL default '0', title varchar(50) NOT NULL default '', content varchar(255) NOT NULL default '', host varchar(50) NOT NULL default '', allhost int(1) NOT NULL default '0', PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1;
5.收藏夹 mysql>use vpopmail; 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; 6.名片夹 mysql>use vpopmail; mysql>CREATE TABLE card ( id int(11) unsigned NOT NULL auto_increment, pw_id int(5) NOT NULL default '0', addrname varchar(10) NOT NULL default '', companyname varchar(30) NOT NULL default '', address varchar(255) NOT NULL default '', job varchar(255) NOT NULL default '', telephone varchar(20) NOT NULL default '', mobile varchar(15) NOT NULL default '', email varchar(50) NOT NULL default '', bearing varchar(4) NOT NULL default '', note varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1;
Linux+adsl+qdns
一、安装拨号软件包 为了以后的防火墙应用我安装了两块网卡要确保其工作正常: # ifconfig eth0 eth0接内网 # ifconfig eth1 eth1接ADSL 删除默认网关: 在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后执行: # service network restart 安装pppd软件包。 如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd; 如果未安装,从RedHatLinux安装光盘上可找到这个软件包。 # rpm –ivh rp-pppoe-3.5.2.i386.rpm
二、配置PPPOE客户端软件 adsl安装很简单我就不多说了 # adsl-setup 安装完软件包后配置/etc/sysconfig/network-scripts/ifcfg-ppp0 # vi /etc/sysconfig/network-scripts/ifcfg-ppp0,修改 PPPOE-TIMEOUT=0 CONECT-TIMEOUT=0 # cp /etc/sysconfig/network-scripts/ifcfg- ppp0 /etc/ppp/pppoe.conf
三、安装设置动态域名QDNS 登录www.3322.org网站,注册一个用户,申请一个动态域名 domain.3322.org, 并下载linux客户端软件:ez-ipupdate-3.0.10-linux-i386.tgz 安装软件: # tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz # mv ez-ipupdate-3.0.10-linux-i386 /usr/local/ezip # chmod 755 /usr/local/ezip/ez-ipupdate # chmod 755 /usr/local/ezip/qdns.conf # cp /usr/local/ezip/qdns.conf /usr/local/bin # cp /usr/local/ezip/ez-ipupdate /usr/local/bin 编辑/usr/local/ezip/qdns.conf文件: # vi /usr/local/ezip/qdns.conf service-type=qdns user=your use rname:your password host=domain.3322.org interface=ppp0 max-interval=2073600 cache-file=/tmp/ez-ipupdate.cache 将当前ip更新到我们申请的域名: # /usr/local/ezip/ez-ipupdate –c qdns.conf 系统会提示数据更新成功。 实现拨号连接建立后自动更新域名: 修改/etc/ppp/ip-up脚本 # vi /etc/ppp/ip-up 在exit 0前增加一行: /usr/local/ezip/ez-ipupdate -c /usr/local/ezip/qdns.conf 设置每隔五分钟自动同步一下你的域名: # crontab -e然后加入下面一行: 0-59/50-59/5 * * * * /usr/local/bin/ez-ipupdate - c /usr/local/bin/qdns.conf
四、测试 # adsl-start # adsl-status 在输出中应该含有关于 ppp0 的信息,包括从dhcp得到的IP 地址。 # ping domain.3322.org 如果解析出正确的ip,说明拨号连接已经建立并且并且能正确的解析动 态域名。 
|