Windows平台安装Apache+PHP+MySql+PHPMyAdmin手记
sshong 发表于2009年11月27日 08:46:00 更新于2009年12月15日 15:50:00
webserver黄金搭档安装配置手记,备查。转载请注明出处。

首先这些软件在windows平台基本都提供了安装包,但是为了了解基本配置内幕,以及方便以后重转系统,觉得选择绿色包,直接解压,通过修改配置文件以及手工构建相关服务。

第二,要有一个基本概念,php是作为一个apache的一个module(可以通过apache配置直接让apache加载),而mysql是作为php的一个extension,而apache和mysql由于常需要随系统启动(当然也可以手工启动),一般都需要安装配置成系统服务。

首先到官网准备好文件:
1、apache 2.2.14:apache_2.2.14-win32-x86-openssl-0.9.8k.msi
由于apache没有提供windows绿色包,只能选择msi安装包。
2、PHP 5.3.1:php-5.3.1-Win32-VC6-x86.zip
官网上提供了四种特性版本:None-Thread Safe与Thread Safe、VC6与VC9
选择方式如下:如果你用apache,请选择VC6版本,如果你用IIS,请下载VC9版本
所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本,所以如果是以 ISAPI来执行PHP,建议选择Thread Safe版本。
3、MySql 5.1.41:mysql-noinstall-5.1.41-win32.zip
4、phpMyAdmin:phpMyAdmin-3.2.3-all-languages.7z

一、安装apache
apache虽然是个msi安装包,其实也就是解压出一些文件,可以选择非系统盘安装,然后选择仅个人使用,并采用8080端口,这样apache安装程序将不会自动创建windows系统服务。
此时运行bin下面的ApacheMonitor.exe将看不到apache。
下面手工创建apache服务,
cmd中,cd到apache的bin子目录,运行
httpd -k install
此时默认服务名叫Apache2.2,
或者
httpd -k install -n 服务名
手工指定服务名,
你还可以手工指定config配置文件,默认是conf下的httpd.conf,
httpd -k install -n 服务名 -f d:apacheconfigs091127.conf
一旦安装了服务后,你可以设置该服务为“自动”,这样windows系统启动apache也就启动了。

此时,ApacheMonitor中就可以看到并控制apache的启动等事宜啦。
移除apache服务用命令
httpd -k uninstall -n 服务名


二、安装PHP
直接解压php到某个目录。

此时,apache并不能加载php这个module,需要手工修改apache服务使用的config文件,默认就是apache目录conf下的httpd.conf。
在loadmodule字段最后加入:
LoadModule php5_module D:/webserver/php5/php5apache2_2.dll
AddType application/x-httpd-php .php
PHPIniDir "D:/webserver/php5"
注:因为我们安装的apache2.2,这里需要用php5apache2_2.dll。
手工指定加载PHP module,并指定php的config文件路径,并且设置.php结尾用php进行解释。

php的config文件也就是php.ini,php压缩包解压后有两个php.ini-**文件,你可以选择一个合适的改名为php.ini。
请更改里面的extension_dir为你解压php的路径下的ext目录。
extension_dir = "D:webserverphp5ext"

在apache的htdocs目录下新建一个phpinfo.php文件,
<?php
    phpinfo();
?>
重启apache,并运行该php以测试php是否安装成功。


三、安装MySQL
解压MySQL到某目录,首先配置mysql。
mysql的解压目录下有好几个my-**.ini文件,选择一个你合适个改名为my.ini,这个就是mysql的配置文件了。
修改:
[client]字段添加
default-character-set = utf8
[mysqld]字段添加
default-character-set = utf8
character_set_server = utf8
basedir=D:/webserver/mysql5.1
datadir=D:/webserver/mysql5.1/data

其意义一方面是设置数据库字符集(更多信息请参考:MYSQL 字符集问题,另一方面是设置mysql路径以及mysql数据存放路径。
如果你想把数据路径不放在mysql路径下,请加data目录完整剪切到其他目录,并设置datadir。

注:选项文件中使用正斜线儿不是反斜线指定Windows路径名。如果使用反斜线,必须用双反斜线!
[mysqld]
basedir=E:\mysql
datadir=E:\mydata\data

然后我们采取apache一样的方式安装为系统服务。
cmd中cd到你解压的mysql的bin目录(可能会看到mysqld**.exe的有好几个,每一个呢都有不同的特征,其中mysqld.exe是优化的二进制,支持InnoDB。我们就用它了。)
运行:
mysqld --install MySQL --defaults-file=D:webservermysql5.1my.ini
install后的MySQL为指定服务名称为MySQL,defaults-file用于指定mysql的配置文件。
当然跟apache一样,也可以省略参数,
mysqld --install
此时,mysql服务名称默认为MySQL,并且将从C:WINDOWS中寻找my.ini配置文件。安装好之后就可以看到mysql服务了。
删除mysql服务用
mysqld --remove MySQL



启动mysql服务后,可以测试mysql安装是否成功


当然此时php并不知道你已经安装好mysql了,需要在php的config中(在apache的config文件中loadmodule指定的路径下的PHP.ini),将extension段中的
;extension=php_mysql.dll的;去掉,这样php就可以使用mysql扩展了。

四、安装PHPMyAdmin
解压PHPMyAdmin到某目录,修改其config(library目录的config.default.php)
配置
$cfg['PmaAbsoluteUri']、$cfg['blowfish_secret']、$cfg['Servers'][$i]['auth_type']等。
当然如果你的phpMyAdmin不是解压在apache的hotdocs目录下,需要设置apache的config文件的虚拟路径。
<IfModule alias_module>字段中增加
Alias /phpMyAdmin/ "D:/webserver/phpmyadmin3.2/"
同时新增一个Directory字段用于权限设置。
<Directory "D:/webserver/phpmyadmin3.2">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
访问你的phpmyadmin以测试是否安装成功。


注:如果访问出现403错误,请查看apache的logs目录下的error.log,如果
出现错误“Directory index forbidden by Options directive”请修改apache的config文件,这样在访问某目录时会自动搜索是否有如下默认打开网页。
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

最后,如果你安装的php为5.2系列,可能需要将php目录下的libmysql.dll、libmcrypt.dll拷贝到windows下的system32目录下,否则可能会有mysql可能无效启动等等乱七八糟的事情。
标签:apachephpmysql分类:PHP阅读:4478
评论
暂无评论
添加评论
您的大名,限长10汉字,20英文(*)
电子信箱(*)
您的网站
正文,限长500汉字,1000英文(*)
验证码(*) 单击刷新验证码
联系我
博客订阅