二、软件安装
1、安装apache
tar zxvf httpd-2.2.0.tar.gz
cd httpd-2.2.0
./configure --prefix=/usr/local/apache --enable-so
make
make install
安装最主要的是mod_so模块httpd –l检测mod_so.c,目的是为了以模块方式加载php
2、安装 mysql
tar xvf mysql-5.1.37.tar.gz
cd mysql-5.1.37
./configure -prefix=/usr/local/mysql
make&&make install
useradd mysql
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化数据库
chown -R root .
chown -R mysql var
chgrp -R mysql .
echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
ldconfig
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile
上面这几行红色的字,必须要添加,否则在安装过程中会出现很多错误,还在注意在/tmp目录下是否存在 mysql.sock 这个文件,如果没有的话,就要做一个链接了,避免mysql在启动时报错
复制一个编译目录的脚本,以使 mysql 每次启动时都能自动运行,回到编译的目录mysql-5.1.37
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
service mysqld start
apache 相关配置
[root @test root] # vi /usr/local/apache/conf/httpd.conf
将 User daemon
Group daemon
改为
User postfix
Group postfix
将 Include conf/extra/httpd-vhosts.conf
前的注释去掉,打开 apache 的虚拟主机功能。
# virtual hosts
Include conf/extra/httpd-vhosts.conf
vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName mail.wlq.com
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
</VirtualHost>
<Directory "/var/www/extsuite">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
11、安装 Unix-Syslog-1.1.tar.gz和DBD-mysql-2.9008.tar.gz
extmail 将会用到 perl 的 DBD::Mysql 和 Unix::syslogd 功能, 您可以去http://search.cpan.org下载
tar -zxvf Unix-Syslog-1.1.tar.gz
cd Unix-Syslog-1.1
perl Makefile.PL
make
make install
tar –xvzf DBD-mysql-2.9008.tar.gz
cd DBD-mysql-2.9008
perl Makefile.PL
make && make install
到此为止,Webmail 已经可以使用了,可以在浏览器中输入指定的虚拟主机的 名称进行访问,http://mail.wlq.com (做测试可以事先在机子上解析这个域名,加到hosts,也可以搭个dns)
12、安装extman-0.2.5.tar.gz
tar –xvzf extman-0.2.5.tar.gz
mv extman-0.2.5 /var/www/extsuite/extman
vi /var/www/extsuite/extman/webman.cf (修改后的选项)
SYS_MAILDIR_BASE = /var/mailbox/
SYS_MYSQL_SOCKET = /tmp/mysql.sock
使用 extman 源码目录下 docs 目录中的 extmail.sql 和 init.sql 建立数据库:
cd /var/www/extsuite/extman/docs
/usr/local/mysql/bin/mysql -u root < extmail.sql
/usr/local/mysql/bin/mysql -u root -p < init.sql
Enter password: 输入 mysql root 用户的密码
修改 cgi 目录的属主:
chown -R postfix.postfix /var/www/extsuite/extman/cgi/
如果 extman 访问数据库权限不足的话,可采用以下命令将新生成的数据库赋予 webman
/usr/local/mysql/bin/mysql
mysql> use extmail;
mysql> GRANT all privileges on extmail.* TO webman@localhost IDENTIFIED BY 'webman';
mysql> GRANT all privileges on extmail.* TO webman@127.0.0.1 IDENTIFIED BY 'webman';
mysql> quit
在 apache 的虚拟主机配置文件中 Extmail 的虚拟主机部分,再添加如下两行:
vi /usr/local/apache/conf/extra/httpd-vhosts.conf
ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
Alias /extman /var/www/extsuite/extman/html
启动所有服务: (已启动的可以重启下)
service mysqld start
/usr/local/apache/bin/apachectl start
service courier-authlib start
service imapd start
postfix start
在 IE 浏览器中输入http://mail.wlq.com/extman ,进入邮件服务器的后台,添加域与添加 用户邮箱。默认管理帐号为:root@extmail.org 密码为:extmail*123*。我这里添加了一 个 wlq.com 域和一个用户邮箱:ceshi@wlq.com。至于开通邮件服务器自动注册邮箱服务,只需要编辑该域,将"允许自由注册邮箱"前面打上勾即可。
第一次登录可能出现如下错误:
telnet localhost 25
Trying 127.0.0.1...
Connected to wlq.com (127.0.0.1).
Escape character is '^]'.
220 Welcome to our mail.wlq.com ESMTP,Warning:Version not Available!
ehlo mail.wlq.com
250-mail.wlq.com
250-PIPELINING
250-SIZE 14336000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
Y2VzaGlAd2xxLmNvbQ==
334 UGFzc3dvcmQ6
Y2VzaGk=
235 2.0.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host.
telnet localhost 110
Trying 127.0.0.1...
Connected to wlq.com (127.0.0.1).
Escape character is '^]'.
+OK Hello there.
user ceshi@wlq.com
+OK Password required.
pass ceshi
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host. (上面红色部分为手动输入)
测试authlib
/usr/local/authlib/sbin/authtest -s login ceshi@wlq.com ceshi
Authentication succeeded.
Authenticated: ceshi@wlq.com (uid 2525, gid 2525)
Home Directory: /var/mailbox/wlq.com/ceshi
Maildir: (none)
Quota: (none)
Encrypted Password: $1$Zv/N0qB1$kMAqtkM2L5CiVt8d05FzU/
Cleartext Password: ceshi
Options: (none)
13、安装maildorp-2.0.4.tar.bz2
首先将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些相关 的文件):
ln -sv /usr/local/authlib/bin/courierauthconfig /usr/bin
ln -sv /usr/local/authlib/include/* /usr/include
maildrop需要pcre的支持,因此,接下来将首先安装pcre
tar jxvf pcre-7.2.tar.bz2
cd pcre-7.2
./configure
make
make check
make install
groupadd -g 1001 vmail
useradd -g vmail -u 1001 -M -s /sbin/nologin vmail
tar jxvf maildrop-2.0.4.tar.bz2
cd maildrop-2.0.4
./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1001 --enable-maildrop-gid=1001 --with-trashquota --with-dirsync
make
make install
安装过程中要有这个错误/usr/bin/install: cannot stat `makedat/makedatprog': No such file or directory时,应检查gbdm和gbdm-devel包,安这两包后就可以了
检查安装结果,请确保有"Courier Authentication Library extension enabled."一句出现:
# maildrop -v
maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.
GDBM extensions enabled.
Courier Authentication Library extension enabled.
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
vi /etc/maildroprc (新建)
logfile "/var/log/maildrop.log"
touch /var/log/maildrop.log
chown vmail.vmail /var/log/maildrop.log
配置 postfix,
vi /etc/postfix/master.cf
启用下面这两行,将前面的注释符号去掉
maildrop unix - n n - -
pipe flags=DRhu user=vmail argv=/usr/local/maildrop/bin/maildrop -d ${recipient}
vi /etc/postfix/main.cf
将 virtual_transport = virtual 修改为 virtual_transport = maildrop
virtual_uid_maps = static:1001
virtual_gid_maps = static:1001
vi /usr/local/ authlib/etc/authlib/authmysqlrc
下面两个修改为
MYSQL_UID_FIELD ‘1001’
MYSQL_GID_FIELD ‘1001’
vi /usr/local/apache/conf/httpd.conf (下面选项修改为如下的值)
User vmail
Group vmail
修改用户邮件所在目录 /var/mailbox 和 extman 的临时目录 /tmp/extman 的属主和属组
chown -R vmail.vmail /var/mailbox
chown -R vmail.vmail /tmp/extman
重新启动 apache 和 postfix,在web界面发送一份邮件测试,tail -f /var/log/maillog中看到的日志,
Oct 27 09:45:05 mail postfix/pipe[21265]: 71D4C3674EE: to=<ceshi@wlq.com>, relay=maildrop, delay=486, delays=485/0.08/0/0.25, dsn=4.3.0, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Unable toopen mailbox. )
Oct 27 09:45:35 mail maildrop[21273]: Unable to open mailbox.
报错,在网上找了找,发现在/etc/maildroprc中少了一行,加了这行,测试就OK
[iyunv@mail mailbox]# vi /etc/maildroprc
logfile "/var/log/maildrop.log"
to "$HOME/Maildir" (新加的一行)
再测试:tail –f /var/log/maillog
Oct 27 09:47:16 mail postfix/pipe[21306]: 8D2D03674F9: to=<ceshi@wlq.com>, relay=maildrop, delay=0.96, delays=0.2/0.05/0/0.7, dsn=2.0.0, status=sent (delivered via maildrop service)
Oct 27 09:47:16 mail postfix/qmgr[20843]: 8D2D03674F9: removed
[iyunv@mail mailbox]# tail -f /var/log/maildrop.log
Date: Wed Oct 27 09:46:33 2010
From:
Subj:
File: /var/mailbox/wlq.com/ceshi/Maildir