文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Qmail for centos4.4(简装版)

Qmail for centos4.4(简装版)

时间:2007-03-21  来源:zzymonk

Qmail for centos4.4(简装版)

原文:Bill's Qmail Toaster
整理:zzymonk
版本:0.8.1
最后更新:2007年2月24日



操作系统:RedHat EL4/CentOS 4.4

·                  系统需求

删除其他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

service mysqld start

更改初始密码:

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

·                   

排行榜 更多 +
益源乐购

益源乐购

购物比价 下载
恶魔不撒谎地下室

恶魔不撒谎地下室

休闲益智 下载
长江在线教育

长江在线教育

学习教育 下载