Qmail+vpopmail安装文档(提供相关源码包)

近几天一直被人问及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]    (当时装完有点问题,待解决)

你可能感兴趣的:(安装,职场,休闲,qmail,vpopmail)