如何能让 Webmail 运行在 Apache 2.X 环境中[Windows 平台]

Apache 1.X

一、准备工作

如果您的还没有安装 Apache和PHP环境,请先下载apache(下载地址:http://httpd.apache.org)以及PHP(下载地址:http://www.php.net)。
本文以 Apache2.2.15 以及 PHP5.3.2 为例。相关路径分别为:

Apache: C:\Program Files\Apache Software Foundation\Apache2.2
PHP4: C:\php4\
PHP5: C:\php5\
Winmail自带PHP4路径(4.7以前版本):C:\WINDOWS\php4\
Winmail自带PHP5路径(4.8以后版本):C:\WINDOWS\php5\

二、设置 Apache

1. Apache 中设置支持 PHP,按如下操作完成:

1) 找到 Apache 安装的目录,打开 conf\httpd.conf 文件,在文件中修改或者增加以下内容。

对于 PHP5 需要使用Module模式可以按以下更改,

LoadModule php5_module   "C:/php5/php5apache.dll"
AddType application/x-httpd-php .php 
PHPIniDir "C:/php5/php.ini"
注意:apache2.x 版本的要加载 php5apache2.dll,如果是 apache2.2.x 的要加载 php5apache2_2.dll。

如果使用winmail自带的PHP,则以上配置中的c:/php5/都替换成C:/windows/php5/,并且省略下面的第3)点中的设置。

2) 运行Apache, 测试配置是否正确。

3) Winmail 邮件服务器软件的 Webmail 所需要的 PHP5 ,PHP.ini文件需做如下改动:
extension=php_ldap.dll(PHP 需要加载 LDAP 模块)
          此模块需要 PHP 的 dlls 目录中的 libeay32.dll、ssleay32.dll 文件支持,将文件拷贝到 windows 的 system32 目录中。
extension=php_mbstring.dll (PHP 需要加载多字节处理模块)
extension=php_openssl.dll (PHP 需要加载OpenSSL模块)
extension=php_gd2.dll (PHP 需要加载gd图形库模块)
extension=php_com_dotnet.dl (PHP 需要加载 com 组件模块)
extension=php_sqlite3.dl (PHP 需要加载 sqlite模块)     
extension=php_pspell.dll(PHP 需要加载拼写检查模块)
        此模块需要 aspell-15.dll 文件支持(http://aspell.sourceforge.net),将文件拷贝到 windows 的 system32 目录中。
      
short_open_tag = On
register_globals = On
magic_quotes_gpc = Off
display_errors = Off
如果不能上传大的文件,请修改一下后面的值的大小:
post_max_size = 20M
upload_max_filesize = 120M
PHP 扩展模块路径:
extension_dir = "C:\php5\ext\"
时区设置:
date.timezone = PRC

2. 配置 Apache,以下配置只需要选其一配置运行即可。

1)配置 Apache 支持虚拟目录访问,如http://mail.XXX.com/webmail/的形式:

打开 conf\httpd.conf 文件,在文件的最后增加以下内容

Alias /webmail "C:/Program Files/Winmail/server/webmail/www/"
<Directory "C:/Program Files/Winmail/server/webmail/www">
    Options Indexes MultiViews
    AllowOverride None
    Order   allow,deny
    Allow from all
    DirectoryIndex index.php index.html   index.htm
</Directory>
2)配置 Apache 支持虚拟站点访问,如 http://mail.XXX.com/的形式:

打开 conf\httpd.conf 文件,在文件的最后增加以下内容

Include conf/extra/httpd-vhosts.conf
<Directory "C:/Program Files/Winmail/server/webmail/www">
  Options Indexes MultiViews
  AllowOverride None
  Order allow,deny
  Allow from allDirectoryIndex index.php index.html   index.htm
</Directory>
打开conf\extra\httpd_vhosts.conf文件,如果是第一次配置此文件,用#号注释掉所有行,并在文件的最后增加以下内容
NameVirtualHost *:80
<VirtualHost *:80>
  ServerAdmin root@localhost
  DocumentRoot "C:/Program Files/Winmail/server/webmail/www"
  ServerName XXX.com
</VirtualHost>
如果有多个域名需要添加
可以修改ServerName XXX.com为ServerName XXX.com,XX.com,XXXX.com
或者重复<VirtualHost *:80>此段,每段中的各加入一个域名到ServerName

3) 运行Apache, 测试配置是否正确

3. 设置目录(文件)的访问权限

在以下目录和文件的权限中增加 Everyone “完全控制”:(针对文件系统是 NTFS 的, FAT32文件系统的可以跳过本步骤)

1. Webmail\temp 目录: ~\server\webmail\temp
2. 邮件存储目录: ~\server\store
3. 网络磁盘存储目录: ~\server\netstore
4. 数据库文件: ~\server\data\*.cfg (4.8或者更老的版本:~\server\*.cfg)
5. 数据库备份文件: ~\server\data\*.cfg.bak (4.8或者更老的版本:~\server\*.cfg.bak)
6. 智能防垃圾 SpamAssassin 目录: ~\server\SpamAssassin
7. 上传附件目录 ~\server\temp\upload
  自己安装php,或者使用4.8或者更老的版本,为了允许上传附件,要设置 Windows 的 TEMP 目录. Windows 2000系统是 C:\Winnt\temp 目录, Windows XP,2003,2008 等系统为 C:\WINDOWS\temp.

注意:
1. ~ 表示Winmail安装时选择的目录,黙认是安装在 C:\Program Files\Winmail。
2. 如果PHP.ini中已经自行修改过upload_tmp_dir的目录,请把此目录也加入以上要求的权限。
3. 目录的权限要选择“将父系可继承对象传播给该对象”
4. 如果更改了“邮件存储目录”,请直接设置更改后的目录权限。

三、测试

上面的设置过程完程后,您就可以通过浏览器访问 http://yourserverip/webmail/