Linux下安装配置qmail服务器的详细步骤
2007年12月02日 星期日 17:11
Linux下安装配置qmail服务器的详细步骤
本文档提供了在Linux下安装配置qmail服务器的详细过程,其中需要安装如下软件包,本站提供下载:
httpd-2.2.3.tar.gz
mysql-5.0.24.tar.gz
php-5.1.4.tar.gz
daemontools-0.76.tar.gz
ucspi-tcp-0.88.tar.gz
djbdns-1.05.tar.gz
netqmail-1.05.tar.gz
vpopmail-5.4.0.tar.gz
ezmlm-0.53.tar.gz
qmailadmin-1.2.9.tar.gz
autorespond-2.0.5.tar.gz
vqadmin-2.3.6.tar.gz
igenus_2.0.2_20040901_release.tgz
创建一个用于存放安装文件的目录
mkdir /packages
1.apache安装
下载apache安装包
[root@linuxedu.net]# wget
[root@linuxedu.net]# cd httpd-2.2.3
[root@linuxedu.net]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --with-mpm=worker --enable-deflate --enable-headers --with-mpm=worker --enable-proxy=shared --enable-ssl=shared --enable-modules=all
[root@linuxedu.net]# make
[root@linuxedu.net]# make install
[root@linuxedu.net]# /usr/local/apache2/bin/apachectl start
测试:通过浏览器访问 ,检查是否有apache页面显示。
2.mysql安装
下载qmail安装包
[root@linuxedu.net]# wget
添加用户和组
[root@linuxedu.net]# groupadd mysql
[root@linuxedu.net]# useradd -g mysql mysql
[root@linuxedu.net]# tar xzf mysql-5.0.24.tar.gz
[root@linuxedu.net]# cd mysql-5.0.24
[root@linuxedu.net]# ./configure --prefix=/usr/local/mysql
[root@linuxedu.net]# make
[root@linuxedu.net]# make install
[root@linuxedu.net]# cp support-files/my-medium.cnf /etc/my.cnf
[root@linuxedu.net]# cd /usr/local/mysql
[root@linuxedu.net]# bin/mysql_install_db --user=mysql
[root@linuxedu.net]# chown -R root .
[root@linuxedu.net]# chown -R mysql var
[root@linuxedu.net]# chgrp -R mysql .
[root@linuxedu.net]# bin/mysqld_safe --user=mysql &
测试:
[root@linuxedu.net]# /usr/local/mysql/bin/mysql -A
是否能进入mysql.
3.php安装
下载php安装包
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf php-5.1.4.tar.gz
[root@linuxedu.net]# cd php-5.1.4
[root@linuxedu.net]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/
[root@linuxedu.net]# make
[root@linuxedu.net]# make install
安装完成后在apache配置文件/usr/local/apache2/conf/httpd.conf中会自动添加如下信息:
LoadModule php5_module libexec/libphp5.so
接下来我们在编辑配置文件
[root@linuxedu.net]# vi /usr/local/apache2/conf/httpd.conf
追加如下内容:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
重启apache
/usr/local/apache2/bin/apachectl restart
测试:编辑一个php测试文件
[root@linuxedu.net]# vi /usr/local/apache2/htdocs/index.php
phpinfo();
?>
通过浏览器访问如下信息,查看是否能看到php相关信息,如果能看到表明php与apache整合完成。
如果看到的是上面的源代码,说明有错误。
/index.php
4.安装daemontools
下载安装文件
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzvf daemontools-0.76.tar.gz
[root@linuxedu.net]# cd admin/daemontools-0.76/
[root@linuxedu.net]# patch -p1 < ../../daemontools-0.76.errno.patch
[root@linuxedu.net]# package/install
测试:ps axww |grep svcan
如果有进程在运行说明运行正常。
5.安装ucspi-tcp
下载安装文件
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf ucspi-tcp-0.88.tar.gz
[root@linuxedu.net]# cd ucspi-tcp-0.88
[root@linuxedu.net]# patch -p1 < ../ucspi-tcp-0.88.errno.patch
[root@linuxedu.net]# patch -p1 < ../ucspi-tcp-0.88.a_record.patch
[root@linuxedu.net]# patch -p1 < ../ucspi-tcp-0.88.nodefaultrbl.patch
[root@linuxedu.net]# make
[root@linuxedu.net]# make setup check
测试:输入tcpserver是否有内容输出
6.安装djbdns
[root@linuxedu.net]# wget
[root@linuxedu.net]# groupadd Gdnscache -g 9001
[root@linuxedu.net]# groupadd Gdnslog -g 9002
[root@linuxedu.net]# useradd Gdnscache -u 9001 -g Gdnscache -d /home/Gdnscache -s /bin/true
[root@linuxedu.net]# useradd Gdnslog -u 9002 -g Gdnslog -d /home/Gdnslog -s /bin/true
[root@linuxedu.net]# tar xzf djbdns-1.05.tar.gz
[root@linuxedu.net]# cd djbdns-1.05
[root@linuxedu.net]# cat conf-home
[root@linuxedu.net]# echo "/usr/local/djbdns" > conf-home
[root@linuxedu.net]# make setup check
[root@linuxedu.net]# /usr/local/djbdns/bin/dnscache-conf Gdnscache Gdnslog /home/Gdnscache/dnscache
vi /etc/resolv.conf
nameserver 127.0.0.1
测试:
dig
看是否能解析出ip地址。
7.安装qmail
添加相关的用户和组。
[root@linuxedu.net]# groupadd nofiles -g 7001
[root@linuxedu.net]# groupadd qmail -g 7002
[root@linuxedu.net]# groupadd vchkpw -g 7003
[root@linuxedu.net]# mkdir -p /var/qmail/alias
[root@linuxedu.net]# useradd -u 7001 -g nofiles -d /var/qmail/alias -s /bin/true alias
[root@linuxedu.net]# useradd -u 7002 -g nofiles -d /var/qmail -s /bin/true qmaild
[root@linuxedu.net]# useradd -u 7003 -g nofiles -d /var/qmail -s /bin/true qmaill
[root@linuxedu.net]# useradd -u 7004 -g nofiles -d /var/qmail -s /bin/true qmailp
[root@linuxedu.net]# useradd -u 7005 -g qmail -d /var/qmail -s /bin/true qmailq
[root@linuxedu.net]# useradd -u 7006 -g qmail -d /var/qmail -s /bin/true qmailr
[root@linuxedu.net]# useradd -u 7007 -g qmail -d /var/qmail -s /bin/true qmails
[root@linuxedu.net]# useradd -u 7008 -g vchkpw -d /home/vpopmail -m -s /bin/true vpopmail
[root@linuxedu.net]# rm -rf /var/qmail
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf netqmail-1.05.tar.gz
[root@linuxedu.net]# cd netqmail-1.05
[root@linuxedu.net]# ./collate.sh
[root@linuxedu.net]# cd netqmail-1.05
[root@linuxedu.net]# make setup check
[root@linuxedu.net]# ./config-fast mail.linuxedu.net
[root@linuxedu.net]# mv /usr/sbin/sendmail /usr/sbin/sendmail.sendmail
[root@linuxedu.net]# cp /var/qmail/bin/sendmail /usr/sbin/
[root@linuxedu.net]# cd /var/qmail/alias
[root@linuxedu.net]# echo "" > .qmail-postmaster
[root@linuxedu.net]# echo "&postmaster" > .qmail-root
[root@linuxedu.net]# echo "&postmaster" > .qmail-mailer-daemon
8.安装vpopmail
下载安装文件
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf vpopmail-5.4.0.tar.gz
[root@linuxedu.net]# cd vpopmail-5.4.0
[root@linuxedu.net]# mkdir -p /home/vpopmail/etc
[root@linuxedu.net]# echo "127.0.0.1:allow,RELAYCLIENT=\"\"" >/home/vpopmail/etc/tcp.smtp
[root@linuxedu.net]# cd /home/vpopmail/etc
[root@linuxedu.net]# tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
[root@linuxedu.net]# echo "localhost|0|vpopmailuser|vpoppasswd|vpopmail" > ~vpopmail/etc/vpopmail.mysql
[root@linuxedu.net]# chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql
[root@linuxedu.net]# chmod 640 ~vpopmail/etc/vpopmail.mysql
[root@linuxedu.net]# /usr/local/mysql/bin/mysql -A
[root@linuxedu.net]# CREATE DATABASE vpopmail;
[root@linuxedu.net]# GRANT select,insert,update,delete,create,drop ON vpopmail.*
[root@linuxedu.net]# TO IDENTIFIED BY 'vpoppasswd';
[root@linuxedu.net]# quit
[root@linuxedu.net]# echo "mail.linuxedu.net" > /home/vpopmail/etc/defaultdomain
[root@linuxedu.net]# ./configure --enable-auth-module=mysql --enable-incdir=/usr/local/mysql/include/mysql --enable-libdir=/usr/local/mysql/lib/mysql --enable-logging=v --disable-passwd --disable-ip-alias-domains --enable-auth-logging --enable-mysql-logging --enable-valias --disable-mysql-limits --disable-many-domains
如果不支持mysql可以用下面的编译参数
[root@linuxedu.net]# ./configure \
--enable-passwd=y --disable-clear-passwd --enable-roaming-users=y
[root@linuxedu.net]# make
[root@linuxedu.net]# make install-strip
[root@linuxedu.net]# crontab -e
*/10 * * * * /home/vpopmail/bin/clearopensmtp >/dev/null 2>&1
[root@linuxedu.net]# /home/vpopmail/bin/vadddomain mail.linuxedu.net 123456
[root@linuxedu.net]# /home/vpopmail/bin/vadduser
9.安装ezmlm
下载安装文件
[root@linuxedu.net]# wget
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzvf ezmlm-0.53.tar.gz
[root@linuxedu.net]# tar xzvf ezmlm-idx-0.42.tar.gz
[root@linuxedu.net]# cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
[root@linuxedu.net]# cd ezmlm-0.53
[root@linuxedu.net]# patch < idx.patch
[root@linuxedu.net]# chmod 755 makelang
[root@linuxedu.net]# make clean
[root@linuxedu.net]# make
[root@linuxedu.net]# make man
[root@linuxedu.net]# make ch_GB
[root@linuxedu.net]# make setup
10.daemontools起动qmail
[root@linuxedu.net]# groupadd logadmin -g 9003
[root@linuxedu.net]# useradd -u 9003 -g logadmin -d /home/logadmin -s /bin/true logadmin
[root@linuxedu.net]# mkdir -p /var/qmail/supervise
[root@linuxedu.net]# cd /var/qmail/supervise
[root@linuxedu.net]# mkdir qmail-send
[root@linuxedu.net]# chmod +t qmail-send
[root@linuxedu.net]# mkdir qmail-send/log
[root@linuxedu.net]# mkdir qmail-send/log/main
[root@linuxedu.net]# touch qmail-send/log/status
[root@linuxedu.net]# chown logadmin:logadmin qmail-send/log/main
[root@linuxedu.net]# chown logadmin:logadmin qmail-send/log/status
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-send/run
#!/bin/sh
PATH=/var/qmail/bin:/home/vpopmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
exec env - PATH=$PATH \
qmail-start ./Maildir/ 2>&1
[root@linuxedu.net]# chmod 755 /var/qmail/supervise/qmail-send/run
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec setuidgid logadmin multilog t s1000000 n100 ./main
[root@linuxedu.net]# chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@linuxedu.net]# mkdir qmail-pop3d
[root@linuxedu.net]# chmod +t qmail-pop3d
[root@linuxedu.net]# mkdir qmail-pop3d/log
[root@linuxedu.net]# mkdir qmail-pop3d/log/main
[root@linuxedu.net]# touch qmail-pop3d/log/status
[root@linuxedu.net]# chown logadmin:logadmin qmail-pop3d/log/main
[root@linuxedu.net]# chown logadmin:logadmin qmail-pop3d/log/status
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-pop3d/run
#!/bin/sh
PATH=/var/qmail/bin:/home/vpopmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
exec env - PATH=$PATH \
tcpserver -HRDl0 -u vpopmail -g vchkpw 0 pop3 \
qmail-popup `hostname` vchkpw qmail-pop3d Maildir 2>&1
chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-pop3d/log/run
#!/bin/sh
exec setuidgid logadmin multilog t s1000000 n100 ./main
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
mkdir qmail-smtpd
chmod +t qmail-smtpd
mkdir qmail-smtpd/log
mkdir qmail-smtpd/log/main
touch qmail-smtpd/log/status
chown logadmin:logadmin qmail-smtpd/log/main
chown logadmin:logadmin qmail-smtpd/log/status
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
PATH=/var/qmail/bin:/home/vpopmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
rule=/home/vpopmail/etc/tcp.smtp.cdb
exec env - PATH=$PATH \
envuidgid qmaild tcpserver -HRDl0 -U -x $rule 0 smtp \
qmail-smtpd 2>&1
chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@linuxedu.net]# vi /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec setuidgid logadmin multilog t s1000000 n100 ./main
[root@linuxedu.net]# chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@linuxedu.net]# ln -s /var/qmail/supervise/qmail-send /service/
[root@linuxedu.net]# ln -s /var/qmail/supervise/qmail-smtpd /service/
[root@linuxedu.net]# ln -s /var/qmail/supervise/qmail-pop3d /service/
以下是qmail启动后看到的进程
root 18724 0.0 0.0 3276 292 ? S 19:03 0:00 supervise qmail-send
qmails 18725 0.0 0.0 3096 364 ? S 19:03 0:00 qmail-send
root 18739 0.0 0.0 2648 312 ? S 19:03 0:00 qmail-lspawn ./Maildir/
qmailr 18740 0.0 0.0 3104 312 ? S 19:03 0:00 qmail-rspawn
qmailq 18741 0.0 0.0 2280 316 ? S 19:03 0:00 qmail-clean
以下是smtp启动后看到的进程
root 18808 0.0 0.0 2028 292 ? S 19:04 0:00 supervise qmail-smtpd
qmaild 18809 0.0 0.0 3276 468 ? S 19:04 0:00 tcpserver -HRDl0 -U -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp qmail-smtpd
以下是pop3启动后看到的进程
root 18876 0.0 0.0 2760 288 ? S 19:06 0:00 supervise qmail-pop3d
root 18877 0.0 0.0 2140 460 ? S 19:06 0:00 tcpserver -HRDl0 -u vpopmail -g vchkpw 0 pop3 qmail-popup mlp.livedoor.cn vchkpw qmail-pop3d Maildir
qmail已经正常运行了,现在发封邮件测试是否正常
echo "this is my test mail "> /tmp/mailtest
mail -s "qmail test " to "你的E-mail地址" < /tmp/mailtest
11.autorespond安装
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf autorespond-2.0.5.tar.gz
[root@linuxedu.net]# cd
[root@linuxedu.net]# make
[root@linuxedu.net]# make install
[root@linuxedu.net]# /usr/bin/autorespond
12.qmailadmin安装
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzvf qmailadmin-1.2.9.tar.gz
[root@linuxedu.net]# cd qmailadmin-1.2.9
[root@linuxedu.net]# ./configure --enable-htmldir=/usr/local/apache2/htdocs --enable-cgibindir=/usr/local/apache2/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-path=/usr/bin --disable-ezmlm-mysql --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --enable-domain-autofill --enable-ezmlmdir=/usr/local/bin/ezmlm
[root@linuxedu.net]# make
[root@linuxedu.net]# make install-strip
[root@linuxedu.net]# cd /usr/local/share/qmailadmin/lang/
[root@linuxedu.net]# mv en en.old
[root@linuxedu.net]# ls -l
[root@linuxedu.net]# cp zh-cn en
/cgi-bin/qmailadmin
13.vqadmin安装
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar zxf vqadmin-2.3.6.tar.gz
[root@linuxedu.net]# cd vqadmin*
[root@linuxedu.net]# ./configure
[root@linuxedu.net]# make
[root@linuxedu.net]# make install
[root@linuxedu.net]# cd /usr/local/apache/conf
[root@linuxedu.net]# vi httpd.conf
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
[root@linuxedu.net]# cd /usr/local/apache/cgi-bin/vqadmin
[root@linuxedu.net]# vi vqadmin.acl
[root@linuxedu.net]# vi .htaccess
AuthType Basic
AuthUserFile /usr/local/apache/conf/vqadmin.passwd
AuthName vQadmin
require valid-user
satisfy any
[root@linuxedu.net]# chown nobody .htaccess
[root@linuxedu.net]# chmod 600 .htaccess
[root@linuxedu.net]# /usr/local/apache/bin/htpasswd -bc /usr/local/apache/conf/vqadmin.passwd admin adminpass
[root@linuxedu.net]# /usr/local/apache/bin/apachectl stop
[root@linuxedu.net]# /usr/local/apache/bin/apachectl start
14.igenus安装
[root@linuxedu.net]# wget
[root@linuxedu.net]# tar xzf igenus_2.0.2_20040901_release.tgz
[root@linuxedu.net]# mv igenus /usr/local/apache2/htdocs/
[root@linuxedu.net]# mkdir /usr/local/apache2/htdocs/igenus/temp
[root@linuxedu.net]# chown -R vpopmail:vchkpw /usr/local/apache2/htdocs/igenus/temp
编辑配置文件更改以下内容
[root@linuxedu.net]# vi /usr/local/apache2/htdocs/igenus/config/config_inc.php
$CFG_BASEPATH = "/usr/local/apache2/htdocs/igenus";
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmailuser';
$CFG_MYSQL_PASS = 'vpoppasswd';
$CFG_MYSQL_DB = 'vpopmail';
$CFG_TEMP = $CFG_BASEPATH."/temp";
在mysql中执行以下sql语句创建数据库
CREATE TABLE `vpopmail` (
`pw_id` int(5) unsigned NOT NULL auto_increment,
`pw_name` varchar(32) NOT NULL default '',
`pw_domain` varchar(64) NOT NULL default '',
`pw_passwd` varchar(40) NOT NULL default '',
`pw_uid` int(11) default NULL,
`pw_gid` int(11) default NULL,
`pw_gecos` varchar(64) default NULL,
`pw_dir` varchar(160) default NULL,
`pw_shell` varchar(20) default NULL,
`createtime` timestamp(14) NOT NULL,
`pw_clear_passwd` varchar(16) default NULL,
PRIMARY KEY (`pw_id`),
KEY `pw_name` (`pw_name`,`pw_domain`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
OK!到这里安装全部完成!!现在就可以通过web方式来管理您的mail服务器了,
阅读(4355) | 评论(0) | 转发(0) |