今天安装了一套全新的WAMP和ExpressionEngine系统。这次安装为两个工作做准备:
1. China Business Feature的改版;
2. 将一台服务器上的WAMP环境做彻底升级;
(一)组件清单及其版本
1. Apache Web Server: 2.2.9 (apache_2.2.9-win32-x86-no_ssl-r2, windows installer, msi文件)
2. PHP 5.2.6 (php-5.2.6-Win32, zip压缩包,手动安装)
3. MySQL 5.0.51b (mysql-essential-5.0.51b-win32, windows installer)
4. ImageMagick 6.4.2 (ImageMagick-6.4.2-1-Q16-windows-dll, windows installer)
5. Aspell 0.5 (Aspell-0-50-3-3-Setup.exe)
6. Aspell-en 0.50 (Aspell-en-0.50-2-3.exe)
7. ExpressionEngine 1.6.4 正式版
8. WINDOWS XP SP3
(二)安装流程
(1)安装Apache服务器
Apache服务器的安装非常直接很简单,一路确认就可以了。需要说明的是,Apache 2.2+ 版本以上的服务器对Server Name有比较严格的要求,如果你的机器没有注册合法域名,在重新启动服务器的时候会出现警告提示:
“Starting the Apache2.2 service httpd.exe: Could not reliably determine the server’s fully qualified domain name, using xxxxx for ServerName”.
这是一个警告提示,并不影响apache服务器的正常工作。解决这个问题的方法是将httpd.conf里的的server name, Redirect permanent, ErrorDocument里的URL参数前的”#”去掉,并将里面的URL参数统一成机器的DNS注册名或本机名,我用的名称是localhost.
(2) 安装PHP
我采用的是PHP作为Apache的加载模块来安装的。具体步骤如下:
a) 将php压缩文件包解压,将解压后的文件夹命名为php, 然后放到了C盘;
b) 将下面的代码贴到httpd.conf文件的底部;
c) 设置windows的系统环境变量;
d) 将php文件夹里的php.ini-recommended的名称改为php.ini
e) 重新启动电脑;
# For PHP 5 do something like this:
LoadModule php5_module "C:/php5/php5apache2.dll"
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php5"
出现问题:
重启apache服务器后,严重错误提示:apache无法加载php5apache2.dll。这个问题很诡异,解决的方案是启用php5apache2-2.dll。 将php5apache2-2的文件名改为php5apche2.dll, 或者修改加载loadmodule命令行的加载参数。
(3) 安装MySQL
MySQL的安装比较简单。我采用的是windows的自动安装包,一路确认就可以了。但是将mysql加载到php里会有点波折。
(a) 在php.ini文件里,设置php加载模块的路径,比如:extension_dir = “C:/php5/ext”
(b) 将下面两个模块前的”#”去掉;
extension=php_mysql.dll
extension=php_mysqli.dll
(c) 重新启动apche服务。
问题:我的曾经在一篇博客文章里提到了mysql和php5的问题,http://www.listen1999.com/?p=6。现在看来这个解决方案不是一个最佳的方法,其实只要在前面的步骤中设置了windows的环境变量就能够解决这个问题。
(4) 安装imagemagick
imagemagick的安装也非常简单。只要一步步安装就可以了,单最后别忘了在php.ini中将gd2的模块加载,并重新启动apache。
(5) 安装Aspell和Aspell-en
我这次研究的开源项目有拼写查错的功能,经过研究,发现竟然有个php模块可以支持这个事情,这个模块是 php_pspell.dll。
(a) 安装Aspell。安装结束后将bin里的一个文件,aspell-15.dll,拷到php的文件夹。
(b) 安装Aspell-en,这个是个英文的语言包。
(c) 在php.ini里加载php_pspell.dll模块。
(d) 重新启动apche。
(6) 安装ExpressionEngine
ExpressionEngine的安装其实没什么可说的,唯一的问题是安装程序在安装过程中报错:
“ExpressionEngine will not run on a MySQL server operating in strict mode”. 我知道这个问题的原因所以没有慌张。解决方案是修改MySQL的my.ini文件,修改方法如下:
#sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”