近几天一直被人问及Qmail安装的问题,经过2天的翻箱倒柜,终于将以前总结的文档找到了
现在发上来跟大家分享一下。当时装到最后可能是有些问题,后来也一直没弄了,如果哪里有问题,也请大家指正。不过照这个文档做qmail的架构还是可以搭建起来的,o(∩_∩)o...
由于这是以前写的文档,可能有的源码包已经有了新版本,大家可以尝试一下,其实我觉得文档就是给大家一个思路,并不一定每一个细节都要一样
下面我们就开始吧
首先做好安装前的准备:
(文中提到的相关包这里提供下载 [url]http://bbs.51cto.com/thread-466458-1-1.html[/url] )
需要apache、mysql、php的支持:
我的apache、mysql装在了/usr/local下,php配置文件在/etc/php.ini
还要确认下面的软件也已经安装:
rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
rpm -q krb5-devel
检查DNS设置
在开始之前,确保正确设置了DNS MX记录.例如使用"termite.org"作为邮件域,对MX记录进行测试:
在Linux下:
# host -t mx termite.org
termite.org. mail is handled by 10 mail.termite.org.
# host -t a mail.termite.org
mail.termite.org. has address xxx.xxx.xxx.xxx
在Windows下:
C:\>nslookup
Default Server: ns.termite.org
Address: xxx.xxx.xxx.xxx
>set type=mx
>termite.org
termite.org MX preference = 10, mail exchanger = mail.termite.org
mail.termite.org internet address = xxx.xxx.xxx.xxx
>exit
卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
ntsysv
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
rpm -e --nodeps postfix
需要的软件包: qmail-1.03.tar.tar
qmail-1.03.errno.patch
qmail-1.03.qmail_local.patch
qmail-103.patch
qmail-maildir++.patch
qmail-smtpd-auth-0.31.tar.gz
qmail-toaster-0.6-1.patch.bz2
qmailadmin-1.2.9.tar.gz
qmailqueue-patch
netqmail-1.05.tar.gz
toaster-scripts-0.6.tar.gz
ucspi-tcp-0.88.tar.gz
ucspi-tcp-0.88.a_record.patch
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.nobase.patch
daemontools-0.76.tar.gz
vpopmail-5.4.13.tar.tar
vqadmin-2.3.6.tar.gz
chkuser-0.6.mysql.patch
courier-imap-2.2.2.20040207.tar.bz2
autorespond-2.0.4.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.42.tar.gz
igenus_2.0.1_20040713_release.tgz
一、安装qmail (qmail-1.03.tar.tar)
安装netqmail:
我把上面提到的包都放到了/home/qmail下,(目录自己定)
tar zxf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
安装daemontools (daemontools-0.76.tar.gz)
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d
cp daemontools-0.76.tar.gz /home/qmail
tar zxf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /home/qmail/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
ps ax | grep svscan \\验证daemontools已经运行:
1242 ? Ss 0:00 /bin/sh /command/svscanboot
1244 ? S 0:00 svscan /service
1254 pts/2 S+ 0:00 grep svscan
创建目录:
mkdir -p /var/qmail/alias
创建组和用户:
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
groupadd vchkpw \\这里把vpopmail用户也加上
useradd -g vchkpw vpopmail
打补丁&编译安装:
cd /home/qmail
tar zxf qmail-1.03.tar.tar
tar -zxf qmail-smtpd-auth-0.31.tar.gz
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-maildir++.patch
patch -p1 < ../qmail-1.03.errno.patch
patch -p1 < ../qmail-1.03.qmail_local.patch
vi qmail-smtpd.c 将函数straynewline中的451改为553
cd ../netqmail-1.05
bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 |patch -p0
cd netqmail-1.05
make
make setup check
./config-fast domain.com \\domain.com 为你的服务器名
添加别名用户
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*
如果存在postfix和sendmail,将它们停用。
killall sendmail
cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail
rm -f /etc/alternatives/mta
ln -s /usr/sbin/qmail.sendmail /etc/alternatives/mta
rm -f /usr/lib/sendmail
rm -f /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
chmod 777 /usr/sbin/sendmail
echo 1 > /var/qmail/control/mfcheck
echo ./Maildir/ > /var/qmail/control/defaultdelivery
make cert 按提示输入公司信息
make tmprsadh
用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1
cd /home/qmail
tar zxf toaster-scripts-0.6.tar.gz
创建服务:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
chmod +t /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3ds/log
cp /home/software/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run
cp /home/software/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/software/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/software/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/software/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/software/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/software/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/software/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown -R qmaill /var/log/qmail
Qmail限制附件的大小:在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。 smtp方式是以qmail的databytes作限制的
echo 20480000 > /var/qmail/control/databytes \\设置邮件最大为20M
用qmail拒绝寄信人:/var/qmail/control/badmailfrom 这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效
vi /var/qmail/control/badmailfrom
[email protected] \\限制一个特定用户
@456.net \\限制整个域
启动脚本:
cp /home/qmail/toaster-scripts-0.6/rc /var/qmail/
cp /home/qmail/toaster-scripts-0.6/qmailctl /var/qmail/bin
chmod 755 /var/qmail/rc
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin/
安装ucspi-tcp (ucspi-tcp-0.88.tar.gz) :ucspi-tcp包括tcpserver和tcpclient,一个命令行工具来建立client-server应用程序
cd /home/software
tar zxf 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
用daemontools来启动qmail-send和qmail-smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
命令:
启动,停止,重启,查看队列等
qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help
检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
日志
/var/log/maillog
/var/log/qmail/current
/var/log/qmail/pop3d/current
/var/log/qmail/pop3ds/current
/var/log/qmail/smtpd/current
二、安装vpopmail (vpopmail-5.4.13.tar.tar) vpopmail是一个以qmail为基础的虚拟域管理包
vpopmail的用户和组前面已经建立了
配置:
mkdir -p /home/vpopmail/etc
设置默认域:domain.com为你要设置的域
echo 'termite.org' > /home/vpopmail/etc/defaultdomain
设置SMTP规则,关闭open relays
echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp
cd /home/vpopmail/etc
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
设置MySQL信息,第一个vpopmail是帐号,xukixu为密码,第二个vpopmail是数据库
echo "localhost|0|vpopmail|4321|vpopmail" > /home/vpopmail/etc/vpopmail.mysql
chmod 640 /home/vpopmail/etc/vpopmail.mysql
chown -R vpopmail.vchkpw /home/vpopmail/etc
在MySQL里添加vpopmail的帐号
mysql (这里我的mysql中的root没有设置密码,如果你的有密码的话用:mysql -u root -p)
mysql> create database vpopmail;
mysql> grant all on vpopmail.* to vpopmail@localhost identified by '4321';
mysql> flush privileges 更新MySQL的权限表,用grant的就不需要
mysql> quit
安装
cd /home/software/
tar zxf vpopmail-5.4.13.tar.tar
cd vpopmail-5.4.13
vi vmysql.h 修改文件
添加下面几行:
#define UPDATE SERVER "localhost"
#define UPDATE USER "vpopmail"
#define UPDATE PASSWD "4321"
#define READ SERVER "localhost"
#define READ USER "vpopmail"
#define READ PASSWD "4321"
如果版本较低的话,要这样写(具体的要看文件里的注释):
#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "vpopmail"
#define MYSQL_UPDATE_PASSWD "4321"
#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "vpopmail"
#define MYSQL_READ_PASSWD "4321"
./configure --prefix=/home/vpopmail --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --enable-auth-module=mysql --enable-passwd=n --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 --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
make
make install-strip
管理
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
source /etc/profile
测试
vadddomain 123.com 密码
vuseradd (-q 邮箱大小)
[email protected] 密码 括号中的可以不写
vmoduser -c 邮箱描述
[email protected]
vdeldomain 123.com
等...
限制单域的邮箱数量
vi /home/vpopmail/domains/domain.com/.qmailadmin-limits
添加 maxpopaccounts 100
default_quota 52428800s
chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits
chown vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits
这样就把邮箱总数限制在100个,每个邮箱为50M了
启动脚本
cp /home/software/toaster-scripts-0.6/vpopmailctl /var/qmail/bin/
ln -s /var/qmail/bin/vpopmailctl /usr/bin/
chmod 755 /var/qmail/bin/vpopmailctl
ln -s /var/qmail/supervise/qmail-pop3d /service
ln -s /var/qmail/supervise/qmail-pop3ds /service
启动,停止,重启,查看队列等
vpopmailctl start|stop|restart|stat|pause|cont|help
检查服务
netstat -an | grep 110
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
带数据库支持
cd /home/software/netqmail-1.05/netqmail-1.05
patch -p0 < /home/software/chkuser-0.6.mysql.patch
修改libmysqlclient.a存在路径
vi conf-mysql
改为/usr/lib/mysql/libmysqlclient.a
make clean
make
qmailctl stop
make setup check
qmailctl start
修改vchkpw的属性 (如果是以root安装的话可以不改)
cd /home/software/vpopmail-5.4.13
chmod 4755 vchkpw
chown root.root vchkpw 如果使用带验证的smtp,smtp进程要调用密码验证程序,则必须要使用 setuid 和setgid。提高vchkpw的权限,才能完成setgid操作。
三、安装cmd5checkpw (cmd5checkpw-0.22.tar.gz) cmd5checkpw是一个和checkpasswd兼容的支持CRAM-MD5算法进行认证的工具。只要支持checkpasswd进行系统用户认证的程序均可以使用其来支持CRAM-MD5算法对数据进行信息摘要,防止密码被盗取。
cd /home/software
tar zxf cmd5checkpw-0.22.tar.gz
cd cmd5checkpw-0.22
make
make install 如果出错的话就修改Makefile文件:
vi Makefile
将cp cmd5checkpw /bin/ ; cp cmd5checkpw.8 /usr/man/man8/
改为cp cmd5checkpw /bin/ ; cp cmd5checkpw.8 /usr/share/man/man8/
make install
四、安装courier-imap (courier-imap-2.2.2.20040207.tar.bz2) 传统的IMAP并不支持Maildir邮件存储格式,为给Qmail用户提供IMAP协议,必须安装Courier-IMAP。Courier-IMAP 是一个提供IMAP协议访问Maildir的服务器,它不再支持传统的Mailbox邮件存储方式。 Courier-IMAP主要特点 * 小巧而高效; * 提供多种用户认证模块和方式; * 支持虚拟邮箱; * 可限制IMAP同时登录的总数目及同一个IP地址同时登录的数目,能有效保护系统在受到拒绝服务(Denial-of-service)攻击时不致因超载而瘫痪; * 支持共享文件夹(Shared folder)。
tar jxf courier-imap-2.2.2.20040207.tar.bz2
cd courier-imap-2.2.2.20040207
chown -R vpopmail.vchkpw ../courier-imap-2.2.2.20040207
su vpopmail 以vpopmail用户安装
./configure --with-redhat 注:Redhat用户需要使用"--with-redhat"选项
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
chkconfig --add courier-imap
修改文件:
vi /usr/lib/courier-imap/etc/authdaemonrc
改为authmodulelist="authvchkpw"
vi /usr/lib/courier-imap/etc/imapd
改为IMAPDSTART=YES
vi /usr/lib/courier-imap/etc/imapd-ssl
改为IMAPDSSLSTART=YES
/etc/rc.d/init.d/courier-imap start 启动
五、安装autorespond (autorespond-2.0.4.tar.gz) Autorespond是一个自动回复工具,可以很好的与qmailadmin配合使用
tar zxf autorespond-2.0.4.tar.gz
cd autorespond-2.0.4
make
make install
cp autorespond /usr/local/bin/
六、安装ezmlm和ezmlm-idx (ezmlm-0.53.tar.gz和ezmlm-idx-0.42.tar.gz) 使qmail支持邮件列表功能,可以通过qmailadmin对其进行配置
为了启用maillist的MySQL支持,必须建立mysql管理用户:
mysql
mysql> create database ezmlm;
mysql> grant all on ezmlm.* to ezmlm@localhost identified by 'ezmlm';
mysql> flush privileges; 我用的是grant,所以这步可以不做
mysql> exit
tar zxf ezmlm-0.53.tar.gz
tar zxf ezmlm-idx-0.42.tar.gz # ezmlm-idx包含有对ezmlm的修正和补充,他们是一个整体
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/ 将ezmlm-idx-0.40下的文件覆盖到ezmlm-0.53下
cd ezmlm-0.53
patch < idx.patch
make mysql #MySQL 支持
make clean
make man
make ch_GB #汉字GB2312支持 这里可能会提示错误"Permission denied",这是权限问题,更改makelang的权限:chmod 744 makelang 后就可以了
修改下列文件:
vi conf-sqlcc
内容为:-I/usr/include/mysql
vi conf-sqlld
内容为: -L/usr/lib/mysql -lmysqlclient -lnsl -lm -lz
-lz是增加zip压缩支持
vi conf-bin
第一行:/var/qmail/bin/ezmlm
vi conf-man
第一行:/var/qmail/man
vi conf-qmail
第一行:/var/qmail
make setup
补充:
1、修改/var/qmail/bin/ezmlm/ezmlmrc将"To:##L@##H"修改为"To:<#L#>@<#H#>",主要是修改用邮件客户端收到信之后,收件人地址显示格式错误。 (找不到就不用改)
2、邮件列表收到的信息乱码解决方法:
在/home/vpopmail/domains/cloud.com/maillistname/下建立一个charset的文件
#touch charset
#chown vpopmail:vchkpw charset
#chmod go-r charset
#vi charset 添加一行gb2312
这样你发一份邮件到
[email protected] 你收到的信息将可以正确的显示中文了!
3、在你建立一个基于MySQL的maillist之前,你必须保证ezmlm库中已存在一个对应的表(其实我发现没有表,ezmlm会自动建立,只是会提示错误):
Ex:你想建一个基于MySQL的maillist:testlist
# /var/qmail/bin/ezmlm/ezmlm-mktab -d testlist | mysql ezmlm
这样就在ezmlm库中为testlist建立了一系列相关表格,你可以用一下命令察看! (也不需要这样麻烦的,安装了qmailadmin后可以使用qmailadmin管理邮件列表了)
七、安装qmailadmin (qmailadmin-1.2.9.tar.gz) qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理
tar zxf qmailadmin-1.2.9.tar.gz
cd qmailadmin-1.2.9
./configure --enable-htmldir=/usr/local/apache/htdocs --enable-cgibindir=/usr/local/apache/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-path=/usr/bin --enable-ezmlmdir=/var/qmail/bin/ezmlm --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --disable-ezmlm-mysql --disable-help
make
make install-strip
八、安装igenus (igenus_2.0.1_20040713_release.tgz) 作为webmail这个iGENUS使用上更符合中国人的习惯,功能也很强.
tar zxf igenus_2.0.1_20040713_release.tgz -C /usr/local/apache/htdocs
cd /usr/local/apache/htdocs/igenus/
mkdir temp
mkdir /home/netdisk
chmod -R 0755 /home/netdisk/
chown -R vpopmail.vchkpw /home/netdisk/
chmod -R 0755 ../
chown -R vpopmail.vchkpw ../
vi /usr/local/apache/conf/httpd.conf \\修改apache配置文件
User vpopmail
Group vchkpw
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html index.html.var
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mail.domain.net
DocumentRoot /var/www/html
</VirtualHost>
/usr/local/apache/bin/apachectl restart \\重启apache
vi config/config_inc.php \\\ 修改config_inc.php文件
$CFG_BASEPATH = "/usr/local/apache/htdocs/igenus"; \\改成你安装的目录
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmail'; \\vpopmail 访问mysql的帐号
$CFG_MYSQL_PASS = '4321'; \\ vpopmail访问mysql的密码
$CFG_MYSQL_DB = 'vpopmail'; \\数据库
$CFG_TEMP = $CFG_BASEPATH."/temp"; \\改成你安装的目录的当前目录下
重新编制Mysql数据库表格:
vdeldomain domain.com \\删除之前建立的虚拟域
mysql vpopmail
mysql> drop table 表名; \\删除vpopmail库中的所有表
mysql> quit
vi docs/iGENUS.sql \\修改iDENUS.sql文件
CREATE TABLE `vpopmail` (^M
`pw_id` int(5) unsigned NOT NULL auto_increment,^M
`pw_name` varchar(32) NOT NULL default '',^M
`pw_domain` varchar(64) NOT NULL default '',^M
`pw_passwd` varchar(40) NOT NULL default '',^M
`pw_uid` int(11) default NULL,^M
`pw_gid` int(11) default NULL,^M
`pw_gecos` varchar(48) default NULL,^M
`pw_dir` varchar(255) default NULL,^M
`pw_shell` varchar(20) default NULL,^M
`pw_clear_passwd` varchar(16) default NULL,^M \\添加这一行,写后面的^M的方法是(Ctrl+v和Ctrl+m,这个是我偶然发现的哦 ^o^),有点麻烦,不如改的时候复制其它一行再修改就OK了
`createtime` timestamp(14) NOT NULL,^M
PRIMARY KEY (`pw_id`),^M
KEY `pw_name` (`pw_name`,`pw_domain`)^M
) TYPE=MyISAM PACK_KEYS=1 ;^M
mysql vpopmail < docs/iGENUS.sql \\导入数据表
设置igenus 定义允许上传下载的邮件的大小:
vi /etc/php.ini \\修改PHP配置文件
max_execution_time=60
memory_limit=20M
post_max_size = 10M
file_uploads=on
upload_max_filesize=10M
register_globals=On
session.bug_compat_42=0
session.bug_compat_warn=0
sendmail_path = /var/qmail/bin/qmail-inject
测试
[url]http://127.0.0.1/[/url]
九、安装vqadmin (vqadmin-2.3.6.tar.gz) vqadmin 是虚拟域的管理程序,适合多域管理使用,qmailadmin适合单域管理员管理,各有区别。
tar zxf vqadmin-2.3.6.tar.gz
cd vqadmin-2.3.6
vi db_owner.c \\修改文件
static const char *host="localhost";
static const char *user="vpopmail";
static const char *passwd="4321";
static const char *db="vpopmail";
./configure --enable-cgibindir=/usr/local/apache/cgi-bin --enable-mysql=y --enable-vpopuser=vpopmail --enable-vpopgroup=vchkpw
make
make install
增加vqadmin打开时候认证机制:
vi /usr/local/apache/conf/httpd.conf \\修改apache配置文件
添加下面:
<Directory "/usr/local/apache/cgi-bin/vqadmin">
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
vi /usr/local/apache/cgi-bin/vqadmin/.htaccess \\这里的内容如果与下面的不一样,就改一下
AuthType Basic
AuthUserFile /usr/local/apache/conf/vqadmin.passwd
AuthName vQadmin
require valid-user
satisfy any
设置认证的用户名和密码
/usr/local/apache/bin/htpasswd -bc /usr/local/apache/conf/vqadmin.passwd admin adminpass
chown apache:apache /usr/local/apache/conf/vqadmin.passwd
/usr/local/apache/bin/apachectl restart \\重启apache
测试:
[url]http://127.0.0.1/cgi-bin/vqadmin/vqadmin.cgi[/url] (当时装完有点问题,待解决)