环境和预备条件:
- FreeBSD Release 6.1Q5RLinux联盟
- Web Server - Version - 2.2.0Q5RLinux联盟
- PHP - Version 5.1
- Perl – 5.8.8
- GCC – 编译器
- MySQL – version 5.1.建议用4.x或更高版本。如果你不用数据库存储虚拟域和用户,不需要。
- OpenSSL
- Wget – 下载软件包的软件 Q5RLinux联盟
Q5RLinux联盟
一、下载所需的软件包 在根目录下建立文件夹存放所需的软件包Q5RLinux联盟
#mkdir /downloadsQ5RLinux联盟
#cd /downloadsQ5RLinux联盟
从Qmailrocks.org下载捆绑好的软件包Q5RLinux联盟
#wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gzQ5RLinux联盟
解压缩Q5RLinux联盟
#tar zxvf qmailrocks.tar.gz
二、安装qmail本身
首先,Qmailrocks已经写好一个脚本,它的作用是:Q5RLinux联盟
<!--[if !supportLists]-->
1、 初始化qmail所需的目录Q5RLinux联盟
2、 增加用户和用户组Q5RLinux联盟
3、 从软件包里把qmail、ucspitcp和daemontools解压缩
这个脚本已经在上面的软件包里,运行这个脚本就可以了:Q5RLinux联盟
# /downloads/qmailrocks/scripts/install/qmr_install_freebsd-s1.script
接着,为qmail打补丁Q5RLinux联盟
# /downloads/qmailrocks/scripts/util/qmail_patches.script
现在开始安装qmail了
# cd /usr/src/qmail/qmail-1.03
#make man
#make setup check
#./config-fast mail.test.com (mail.test.com要用你自己的真正的主机域名全称)
安装ucspi-tcp
#cd /usr/src/qmail/ucspi-tcp-0.88/
#make
#make setup check
安装daemontools....
#cd /package/admin/daemontools-0.76
#package/install
安装完成后,会提示你重启。
重启后用ps –aux命令查看你将看到svcscan服务在运行了。
三、安装EZmlm和EZmlm-idx
EZmlm是个邮件列表插件,安装很简单
#cd /downloads/qmailrocks/
#tar zxvf ezmlm-0.53-idx-0.41.tar.gz
#cd ezmlm-0.53-idx-0.41
#make
#make setup
四、安装Qmail-Autoresponder
#pkg_add –r autorespond
你也可以通过port安装它。
五、安装Vpopmail
不用MySQL
#cd /downloads/qmailrocks
#tar zxvf vpopmail-5.4.13.tar.gz
#cd vpopmail-5.4.13
#./configure –enable-logging=p // 你可以用./configure –help查看配置选项
#make
#make install-strip
使用MySQL
记得在第二部分已经创建了系统用户vpopmail和组vchkpw,现在我门要在用户vpopmail主目录下设置vpopmail的数据库连接
#mkdir ~vpopmail/etc
#chown vpopmail:vchkpw ~vpopmail/etc // 可以用其它用户和组替换用户vpopmail和组vchkpw
#echo "localhost|0| [vpopmailuser] | [password] |vpopmail" > ~vpopmail/etc/vpopmail.mysql
上面的vpopmailuser和password是连接数据库的用户名和密码,把它们替换成下面将创建的数据库用户名和密码
[vpopmailuser] - 连接数据库的用户名:
[password] - 连接数据库的密码:
为MySQL数据库连接配置文件设置所有者和权限
#chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
#chmod 640 ~vpopmail/etc/vpopmail.mysql
登入MySQL并建立数据库vpopmail
#mysql -u root -p
提示输入密码时,输入数据库的root用户的密码
mysql>CREATE DATABASE vpopmail; //建立新的数据库vpopmail
建立一个能够访问vpopmail数据库的用户,用户名和密码和上面的配置文件里的一致。
mysql>GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmailuser@localhost IDENTIFIED BY 'password';
mysql>quit //退出数据库
上面是数据库设置部分,下面是安装配置vpopmail了
#cd /downloads/qmailrocksQ5RLinux联盟
#tar zxvf vpopmail-5.4.13.tar.gzQ5RLinux联盟
#cd vpopmail-5.4.13Q5RLinux联盟
#./configure \Q5RLinux联盟
--enable-logging=p \Q5RLinux联盟
--enable-auth-module=mysql \Q5RLinux联盟
--disable-passwd \Q5RLinux联盟
--enable-clear-passwd \Q5RLinux联盟
--disable-many-domains \Q5RLinux联盟
--enable-auth-logging \Q5RLinux联盟
--enable-sql-logging \Q5RLinux联盟
--enable-valias \Q5RLinux联盟
--disable-mysql-limits
#makeQ5RLinux联盟
#make install-strip
Q5RLinux联盟
六、安装Vqadmin
安装
#cd /downloads/qmailrocks
#tar zxvf vqadmin-2.3.6.tar.gz
#cd vqadmin-2.3.6
#./configure --enable-cgibindir=/path/to/your/cgi-bin --enable-htmldir=/path/to/
your/html/directory
(Example: ./configure --enable-cgibindir=/usr/local/www/apache22/cgi-bin --enable-
htmldir=/usr/local/www/apache22/data )
#make && make install-strip
在Apache配置文件http.conf中加入下面的
<Directory "/usr/local/www/apache22/cgi-bin/vqadmin">
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
进入cgi,对目录vqadmin设置访问限制
#cd /usr/local/www/apache22/cgi-bin/vqadmin
#ee .htaccess
AuthType Basic
AuthUserFile /usr/local/etc/apache22/vqadmin.passwd
AuthName vQadmin
require valid-user
satisfy any
更改文件.htaccess所有者和访问权限
#chown www .htaccess //所有者为apache用户
#chmod 644 .htaccess
建立相应的.htpasswd文件,里面存储Vqadmin管理员的用户名和密码
#htpasswd -bc /usr/local/etc/apache22/vqadmin.passwd admin admin
上面一行里的最后两个分别是用户名和密码,都是admin
#chmod 644 /usr/local/etc/apache22/vqadmin.passwd
重启apache,然后打开浏览器,输入:
http://mail.test.com/cgi-bin/vqadmin/vqadmin.cgi
输入上面设置的管理员和密码登录进去。试着添加一个虚拟域。
新添加的域的默认管理员为postmaster
七、安装maildrop
通过port装的为maildrop-2.0.1.tar.bz2
#cd /downloads/qmailrocks
#tar zxvf maildrop-1.6.3.tar.gz
#cd maildrop-1.6.3
#./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota
#make
#make install-strip
#make install-man
八、安装QmailAdmin
#cd /downloads/qmailrocks
#tar zxvf qmailadmin-1.2.9.tar.gz
#cd qmailadmin-1.2.9
#./configure \
--enable-cgibindir=/usr/local/www/apache22/cgi-bin \
--enable-htmldir=/usr/local/www/apache22/data \
--enable-imagedir=/usr/local/www/apache22/data/images \
--enable-help
#make && make install-strip
打开浏览器输入
http://mail.test.com/cgi-bin/qmailadmin
用postmaster就可以登录域进行管理了。
九、完成Qmail的配置
首先,创建脚本qmail supervise,rc,qmailctl并设置相应的权限。在Qmailrocks包里有个脚本直接运行,
#/downloads/qmailrocks/scripts/finalize/freebsd/finalize_freebsd.script
这些刚创建的脚本还不能直接用,修改一些东西就可以了
#ee /var/qmail/supervise/qmail-pop3d/run
把mail.example.com改为你的域名就可以了,我的虚拟域为mail.test.com
#ee /var/qmail/supervise/qmail-smtpd/run
#echo ‘127.:allow,RELAYCLIENT=” ”’ >>/etc/tcp.smtp
或者cp /usr/local/vpopmail/etc/tcp.smtp-dist /etc/tcp.smtp
#qmailctl cdb
建立别名
#echo postmaster >/var/qmail/alias/.qmail-root
#echo postmaster > /var/qmail/alias/.qmail-postmaster
#echo postmaster > /var/qmail/alias/.qmail-mailer-daemon
#ln –s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
#chmod 644 /var/qmail/alias/.qmail*
十、卸载Sendmail
首先检查进程里是否有sendmail进程,如果有,结束它。
#ps –aux|grep sendmail
#kill xxx //xxx 为sendmail的进程号
移走sendmail程序
#mv /usr/sbin/sendmail /usr/sbin/sendmail.old
#chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old
修改/etc/rc.conf,确保有一下选项
#ee /etc/rc.conf
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
建立qmail链接
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
十一、 启动qmail
启动前先运行一个脚本检查一下
#/downloads/qmailrocks/scripts/util/qmr_inst_check
如果出现congratulation,说明qmail好了,可以启动了。
#qmailctl stop
#qmailctl start
检查qmail运行状况
#qmail stat
如果看到下面这些,说明qmail已经正常运行
/service/qmail-send: up (pid 90660) 6 seconds
/service/qmail-send/log: up (pid 90662) 6 seconds
/service/qmail-smtpd: up (pid 90666) 6 seconds
/service/qmail-smtpd/log: up (pid 90667) 6 seconds
/service/qmail-pop3d: up (pid 90671) 6 seconds
/service/qmail-pop3d/log: up (pid 90669) 6 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0
最后,测试一下
#telnet localhost 110
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.test.com.
Escape character is '^]'.
+OK <7737.1186892826@mail.test.com>
user test@test.com
+OK
pass 123456
+OK
quit
+OK
Connection closed by foreign host.
第二部分 WEB邮件系统,病毒扫描、过滤垃圾邮件机其它
一、 安装Courier imap/imaps和courierpassd
安装courier-authlib
#tar zxvf courier-authlib-0.58.tar.bz2Q5RLinux联盟
#cd courier-authlib-0.58Q5RLinux联盟
#./configure –prefix=/usr/local/courier-authlib\Q5RLinux联盟
--without-authpam \Q5RLinux联盟
--without-authldap \Q5RLinux联盟
--without-authpwd \Q5RLinux联盟
--without-authmysql \Q5RLinux联盟
--without-authpgsql \Q5RLinux联盟
--without-authshadow \Q5RLinux联盟
--without-authuserdb \Q5RLinux联盟
--without-authcustom \Q5RLinux联盟
--without-authcram \Q5RLinux联盟
--without-authpipe \Q5RLinux联盟
--with-authdaemon \Q5RLinux联盟
--with-authvchkpw
#gmakeQ5RLinux联盟
#gmake install-stripQ5RLinux联盟
#gmake install-configureQ5RLinux联盟
#make config
安装 courier-imap
#tar zxvf courier-imap-4.1.3.tar.bz2Q5RLinux联盟
#cd courier-imap-4.1.3Q5RLinux联盟
#./configure \Q5RLinux联盟
--prefix=/usr/local/courier-imap\Q5RLinux联盟
--disable-root-check\Q5RLinux联盟
--with-trashquota\Q5RLinux联盟
--without-ipv6\Q5RLinux联盟
CPPFLAGS=’-I/usr/local/courier-authlib/include’\Q5RLinux联盟
COURIERAUTHCONFIG=’/usr/local/courier-authlib/bin/courierauthconfig’
#gmakeQ5RLinux联盟
#gmake installQ5RLinux联盟
#gmake install-configure
建立IMAP-SSL服务器的SSL证书
#/usr/local/courier-imap/sbin/mkimapdcert
修改配置文件是其可以自动启动
#ee /usr/local/courier-imap/etc/imapQ5RLinux联盟
把IMAPDSTART=NO改为IMAPDSTART=YESQ5RLinux联盟
#ee /usr/local/courier-imap/etc/imapd-sslQ5RLinux联盟
把IMAPDSSLSTART=NO改为IMAPDSSLSTART=YESQ5RLinux联盟
#cp /usr/local/courier-imap/libexec/imapd.rc /usr/local/etc/rc.d/imap.shQ5RLinux联盟
#cp /usr/local/courier-imap/libexec/imapd-ssl.rc /usr/local/etc/rc.d/imaps.shQ5RLinux联盟
安装courierpassd
#cd /usr/ports/security/courierpasswdQ5RLinux联盟
#make install clean
利用Daemontool配置为service。参考http://qmail.jms1.net/courierpassd.shtml
#cd /var/qmail/superviseQ5RLinux联盟
#mkdir -p 755 courierpasswd/log
在courierpasswd和log目录建立run文件,分别如下Q5RLinux联盟
#cd courierpasswdQ5RLinux联盟
#ee runQ5RLinux联盟
内容如下Q5RLinux联盟
#!/bin/shQ5RLinux联盟
exec env -PATH="/usr/bin: /usr/local/bin: /usr/local/sbin" \Q5RLinux联盟
tcpserver 127.0.0.1 106 courierpasswdQ5RLinux联盟
#cd logQ5RLinux联盟
#ee runQ5RLinux联盟
内容如下Q5RLinux联盟
#!/bin/shQ5RLinux联盟
exec env -PATH="/usr/bin:Q5RLinux联盟
建立链接Q5RLinux联盟
#ln -s /var/qmail/supervise/courierpasswd /serviceQ5RLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论