Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283576
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -10
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-05 09:11
文章分类
文章存档

2015年(1)

2014年(6)

2013年(8)

2012年(1)

2011年(6)

2010年(2)

2009年(16)

2008年(44)

我的朋友

分类: LINUX

2014-01-10 18:00:59

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服务器了,
阅读(4259) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~