声明如需转载请保留如下信息:
作者: LLZQQ
MAIL: LLZQQ@126.COM
FROM:WWW.CHINAUnix.NET
一、准备工作:
安装gcc、make、autoconf、automake等编译工具,建立网络连接,配置域名 。
二、安装patch工具:
# gzip –d patch-2.5.4-sol8-intel-local.gz
# pkgadd –d patch-2.5.4-sol8-intel-local
# mv /usr/bin/patch /usr/bin/patch.bak
# cp /usr/local/bin/patch /usr/bin/patch
三、安装ucspi-tcp-0.88
# gzip -d ucspi-tcp-0.88.tar.gz
# tar xvf ucspi-tcp-0.88.tar
# 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.建目录:
# mkdir /var/qmail
# mkdir /var/qmail/alias
2.建组及用户:
# groupadd nofiles
# groupadd qmail
# useradd -g nofiles -m -d /var/qmail/alias -s /bin/false alias
# useradd -g nofiles -m -d /var/qmail -s /bin/false qmaild
# useradd -g nofiles -m -d /var/qmail -s /bin/false qmaill
# useradd -g nofiles -m -d /var/qmail -s /bin/false qmailp
# useradd -g qmail -m -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -m -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -m -d /var/qmail -s /bin/false qmails
3.打补丁及编绎安装qmail
# gzip -d qmail-1.03.tar.gz
# tar xvf qmail-1.03.tar
# gzip -d qmail-smtpd-auth-0.31.tar.gz
# tar xvf qmail-smtpd-auth-0.31.tar
# cp qmail-smtpd-auth-0.31/base64.* qmail-1.03
# 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-1.03.qmail_local.patch
# patch -p1 < ../qmail-maildir.patch
# patch -p1 < ../qmail-1.03.errno.patch
修改qmail-smtpd.c将函数straynewline中的451改为553.(在53行)
查找“http://”两次,改其中的url如下(这样可以使QMAIL更安全些):
void straynewline() { out("451 See http://nero.3322.org .rn");
out("214 llzqq home page: http://nero.3322.org rn");
# make setup check
出现错误后,修改auto-ccld.sh文件中CC,LD成你所用的环境就可以了 。
# ./config-fast nero.3322.org
4.添加别名用户:
# touch /var/qmail/alias/.qmail-root
# touch /var/qmail/alias/.qmail-postmaster
# touch /var/qmail/alias/.qmail-mailer-daemon
5.如果存在postfix和sendmail,停用现在的mail服务
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
# chmod 777 /usr/sbin/sendmail
五、安装vpopmail
1.建立目录:
# mkdir /export/home/vpopmail
# mkdir /export/home/vpopmail/etc
2.添加用户和组:
# groupadd vchkpw
# useradd -g vchkpw -s /bin/false -m -d /export/home/vpopmail vpopmail
3.添加mysql的vpopmail用户,用于操作vpopmail数据库
# mysql -u root –p******
mysql>create database vpopmail;
mysql>grant all on vpopmail.* to vpopmail@localhost identifIEd by "passWord";
4.编译安装vpopmail
# gzip -d vpopmail-5.2.1.tar.gz
# tar xvf vpopmail-5.2.1.tar
# cd vpopmail-5.2.1
# vi vmysql.h
========================= vmysql.h========================
#define MYSQL_UPDATE_SERVER "localhost" (mysql服务器名)
#define MYSQL_UPDATE_USER "vpopmail" (用户名)
#define MYSQL_UPDATE_PASSWD "*****" (改成你设置的密码)
#define MYSQL_READ_SERVER "localhost" (mysql服务器名)
#define MYSQL_READ_USER "vpopmail" (用户名)
#define MYSQL_READ_PASSWD "*****" (改成你设置的密码)
在54行和58行后加
#define TABLE_LAYOUT "pw_name char(32) not null,
pw_domain char(64) not null, <===== 54
pw_passwd char(40),
pw_uid int, pw_gid int,
pw_gecos char(48),
pw_dir char(160), <===== 58
pw_shell char(20),
primary key (pw_name, pw_domain ) "
========================= vmysql.h========================