· 系统需求
删除其他MAIL系统:
rpm -e --nodeps sendmail postfix
|
确认下列软件已安装:如果没没安装可以采用yum直接安装
rpm -q httpd php php-mysql mysql mysql-server mysql-devel gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel
yum install httpd php php-mysql mysql mysql-server mysql-devel
|
· 软件下载
定义环境变量:
export DOMAIN=domain.com
export PKG_DIR=/home/pkg
mkdir -p $PKG_DIR/src
|
下载软件:
cd $PKG_DIR/src
wget -r -l2 -np -nH --cut-dirs=2 http://www.funbsd.net/down/qmail
|
生成初始安装包:
cd $PKG_DIR
tar xzf src/netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
|
· mysql
更改初始密码:
mysqladmin -u root password 'mysqlpwd'
|
· daemontools
daemontools是一个收集可管理的UNIX服务的工具。
网址:http://cr.yp.to/daemontools.html
mkdir /package
chmod 1755 /package
cd /package
tar zxf $PKG_DIR/src/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < $PKG_DIR/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
|
· ucspi-tcp
ucspi-tcp包括tcpserver和tcpclient,是一个建立client-server应用程序的命令行工具。
网址:http://cr.yp.to/ucspi-tcp.html
cd $PKG_DIR
tar zxf src/ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < $PKG_DIR/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make && make setup check
|
· netqmail
netqmail是qmail加上一些推荐的最基本的补丁。
网址:http://qmail.org/netqmail/
mkdir /var/qmail
groupadd -g 2520 nofiles
useradd -u 2521 -g nofiles -d /var/qmail/alias alias
useradd -u 2522 -g nofiles -d /var/qmail qmaild
useradd -u 2523 -g nofiles -d /var/qmail qmaill
useradd -u 2524 -g nofiles -d /var/qmail qmailp
groupadd -g 2525 qmail
useradd -u 2526 -g qmail -d /var/qmail qmailq
useradd -u 2527 -g qmail -d /var/qmail qmailr
useradd -u 2528 -g qmail -d /var/qmail qmails
# 注:有些RedHat/Fedora版本需要执行以下命令才能安装成功
ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h /usr/kerberos/include/profile.h /usr/include/
cd $PKG_DIR/netqmail-1.05/netqmail-1.05
make && make setup check
echo 3 > /var/qmail/control/spfbehavior
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
echo ./Maildir/ > /var/qmail/control/defaultdelivery
echo postmaster@$DOMAIN > /var/qmail/alias/.qmail-root
echo postmaster@$DOMAIN > /var/qmail/alias/.qmail-postmaster
echo postmaster@$DOMAIN > /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail*
./config-fast mail.$DOMAIN
|
· vpopmail
vpopmail是一个基于qmail的邮件虚拟域软件。
网址:http://vpopmail.sf.net/
设置安装环境:
groupadd -g 8989 vchkpw
useradd -u 8989 -g vchkpw vpopmail
mkdir /home/vpopmail/etc
cd /home/vpopmail/etc
echo "$DOMAIN" > defaultdomain
echo '127.:allow,RELAYCLIENT=""' > tcp.smtp
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
echo "localhost|0|vpopuser|vpoppwd|vpopmail" > vpopmail.mysql
chmod 640 vpopmail.mysql
chown -R vpopmail:vchkpw ./
mysql -u root --password="mysqlpwd" <<EOF
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopuser@localhost IDENTIFIED BY 'vpoppwd';
FLUSH PRIVILEGES;
QUIT
EOF
|
安装:
cd $PKG_DIR
tar zxf src/vpopmail-*
cd vpopmail-*
./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords
make && make install-strip
|
设置邮箱空间警告:
echo "邮件被拒绝,用户的邮箱已满。" > /home/vpopmail/domains/.over-quota.msg
cat <<EOF > /home/vpopmail/domains/.quotawarn.msg
From: 邮箱管理员 <postmaster@$DOMAIN>
Reply-To: <postmaster@$DOMAIN>
Subject: 邮箱空间警告
您的邮箱空间已经达到90%。如果想继续使用,请删除一些信件。
如需帮助,请联系邮箱管理员。
Email : postmaster@$DOMAIN
EOF
|
添加虚拟域和用户:
echo 'export PATH=/home/vpopmail/bin:$PATH' >> /etc/profile
export PATH=/home/vpopmail/bin:$PATH
vadddomain -q 100M $DOMAIN pmpwd
vmoddomlimits -q 100M $DOMAIN
#!/bin/sh
#A simple vadduser script
cat user.txt | while read NAME USER PASSWORD
do
vadduser -c $NAME $USER $PASSWORD
done
|
· toaster
Bill's Qmail Toaster。
网址:http://shupp.org/
安装:
cd $PKG_DIR
tar zxf src/toaster-scripts-0.8.tar.gz
cd netqmail-1.05/netqmail-1.05
bunzip2 -c ../../src/qmail-toaster-0.8.1.patch.bz2 | patch -p0
make clean
make && make setup check
make cert
make tmprsadh
chown -R vpopmail:vchkpw /var/qmail/spam
|
· autorespond
autorespond是一个自动回复工具。
网址:http://qmailadmin.sf.net
安装:
cd $PKG_DIR
tar zxf src/autorespond-2.0.4.tar.gz
cd autorespond-2.0.4
patch -p1 < ../src/autorespond-2.0.4-2.0.5.patch
make && make install
|
· ezmlm
ezmlm是一个快速,强大的邮件列表程序。
网址:http://www.ezmlm.org/
安装:
cd $PKG_DIR
tar zxf src/ezmlm-0.53.tar.gz
tar zxf src/ezmlm-idx-0.443.tar.gz
mv -f ezmlm-idx-0.443/* ezmlm-0.53/
cd ezmlm-0.53
patch -p0 < idx.patch
make && make man && make ch_GB && make setup
|
· qmailadmin
qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有其他的虚拟域管理。
网址:http://qmailadmin.sf.net
安装:
cd $PKG_DIR
tar zxf src/qmailadmin-1.2.9.tar.gz
tar zxf src/qmailadmin-help-1.0.8.tar.gz
cd qmailadmin-1.2.9
./configure \
--enable-htmldir=/var/www/html \
--enable-cgibindir=/var/www/cgi-bin \
--enable-maxusersperpage=20 \
--enable-maxaliasesperpage=20 \
--enable-domain-autofill \
--enable-modify-quota \
--enable-help \
--disable-ezmlm-mysql
make && make install-strip
cd /usr/local/share/qmailadmin/lang
mv en en.bak
cp zh-cn en
cd $PKG_DIR
cp -r qmailadmin-help-1.0.8 /var/www/html/images/qmailadmin/help
|
测试:
http://mail.domain.com/cgi-bin/qmailadmin
|
· igenus
igenus是一个基于php的webmail。
网址:http://www.igenus.org
安装:
cd /home/vpopmail
tar zxf $PKG_DIR/src/igenus*
|
配置(/home/vpopmail/igenus/config/config_inc.php):
// 安装位置
$CFG_BASEPATH = "/home/vpopmail/igenus";
// 数据库账号
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopuser';
$CFG_MYSQL_PASS = 'vpoppwd';
$CFG_MYSQL_DB = 'vpopmail';
// 临时目录
$CFG_TEMP = $CFG_BASEPATH."/temp";
// autorespond的位置
$CFG_AUTORESPOND_PROM = "/usr/bin/autorespond";
// 网络目录
$CFG_NETDISK_PATH = $CFG_BASEPATH."/netdisk";
|
创建相关目录:
cd /home/vpopmail/igenus
mkdir temp netdisk
chown -R vpopmail:vchkpw ./
|
修改并导入表:
mysql -uroot --password="mysqlpwd" <<EOF
alter table vpopmail.vpopmail drop primary key;
alter table vpopmail.vpopmail add column pw_id int(5) unsigned NOT NULL PRIMARY KEY auto_increment;
alter table vpopmail.vpopmail add KEY pw_name (pw_name,pw_domain);
QUIT
EOF
mysql -uroot --password="mysqlpwd" -f vpopmail < /home/vpopmail/igenus/docs/iGENUS.sql
|
配置apache(/etc/http/conf/httpd.conf):
User vpopmail
Group vchkpw
NameVirtualHost *:*
<VirtualHost *:*>
ServerName mail.domain.com
DocumentRoot /var/www/html
Alias /igenus /home/vpopmail/igenus
</VirtualHost>
|
配置php(/etc/php.ini):
register_globals = On
session.auto_start = 1
session.bug_compat_warn = 0
max_execution_time = 60
memory_limit = 20M
upload_max_filesize = 10M
post_max_size = 10M
log_errors = Off
sendmail_path = /var/qmail/bin/qmail-inject
|
重启apache:
service httpd restart
vi /etc/sysconfig/selinux
SELINUX=disabled
chmod 777 /var/lib/php/session/ -R
|
测试:
http://mail.domain.com/igenus
|
·