Windows环境下完全手工配置Apache、MySQL和PHP

现在LAMP(Linux、Apache、MySQL、PHP/Perl/Python的简称)已经很流行了。在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Windows)。这篇文章主要是介绍如何在Windows环境下完全手工配置Apache、MySQL和PHP,都是解压后直接修改配置文件的。当然也可以下载执行安装文件的版本,一个个进行自动安装。甚至可以下载这些软件的集合版本(WampServerXAMPP),一步到位的安装。这里进行的是解压安装,看起来有些多此一举了,不过这样能了解这些软件安装的过程,有问题时能及时发现,某个软件升级更新时也能快速配置。

 
 
一. 软件下载
 
二. 安装Apache HTTP Server
 
    下载的文件是msi文件,直接双击即可进行界面安装,其中需要填写一些数据,即可完成安装。这里就不采用这种方法了,不过还是推荐这样安装的。下面就说一下另外一种方式安装,解压msi文件,修改配置文件。
 
1. 运行msiexec /a apache_2.2.6-win32-x86-no_ssl.msi ,然后选择"Install",最后"Finish" ,可以把安装文件解压出来。/a 表示网络安装可以指定解压路径,比如解压在F盘了,会生成 F:/program files/Apache Software Foundation/Apache2.2 这样的文件夹, 还有一个 F:/System32/Redist/MS/System/msvcrt.dll。
 
2. 把Apache2.2文件夹移动到合适的目录下,当然也可以不移动。这里,我把它放在 D:/Java 目录下,并重新命名为Apache文件夹。 至于那个msvcrt.dll文件好像在xp下不需要,我是没用到,删了。
 
3. 现在开始配置Apache了,将D:/Java/Apache目录下的conf/default中的文件全部移动到conf目录中。
 
4. 在Apache中建立logs文件夹。
 
5. 将conf目录中httpd-win.conf文件改名为httpd.conf,现在修改httpd.conf里的参数,如下:
  • 第42行 ServerRoot "D:/Java/Apache"   ,指定apache目录
  • 第53行,Listen 80  ,httpd监听在哪个端口。
  • 第133行,ServerAdmin javamxj@gmail.com    ,联系站点的邮件地址。(可以不修改)
  • 第142行,ServerName 127.0.0.1:80     ,主机名字,如果没有主机名,或者域名没有注册,就写成了127.0.0.1。
  • 第149行,DocumentRoot "htdocs"   ,指向"D:/Java/Apache/htdocs"目录,配置最关键的一行,它设置网页文件所在的位置,即网页的发布目录。
  • 第177到205行,<Directory "htdocs">   ,全是上面配置的网站目录的权限设置。
  • 第212行, DirectoryIndex index.html,,当打开一个网站目录时,默认的主页是什么(一般不修改)。
6. 将Apache添加为Windows服务
   在命令提示符窗口中,切换到D:/Java/Apache/bin目录下,输入: httpd -k install,如果成功,能在管理工具->服务中看到Apache2.2服务,如果不想开机就运行,将其启动类型自动改为手动。要移除Apache服务:httpd -k uninstall
 
7. 启动和停止Apache Httpd
   启动 httpd -k start, 停止 httpd -k stop 或 httpd -k shutdown ,重启 httpd -k restart
   或启动 net start Apache2.2, 停止 net stop Apache2.2
   最好是将 D:/Java/Apache/bin目录下的ApacheMonitor.exe在桌面上建立一个快捷方式,直接运行它,即可启动和停止Apache Httpd,方便。
 
8. 启动Apache,在浏览器中输入http://localhost/ 看到页面显示 It works! ,好了,成功了。注意:这里是默认监听80端口,如果有其它软件也在监听80端口,会冲突,可以参考步骤5修改默认的监听端口,如改为8080,则浏览器要输入:http://localhost:8080 
 
 
三. 安装PHP5:
 
1. 将php-5.2.5-Win32.zip解压在D:/Java/php目录下,进入D:/Java/php目录,找到php.ini-dist文件,更名为php.ini,最好是复制一份再更名.
 
2. 编辑Apache的httpd.conf文件(在Apache的安装目录下的conf子目录中),在最后添加下面部分,保存。
 
# ***************** PHP 配置 *****************
 
# 加载 PHP 5 :
LoadModule php5_module "D:/Java/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
 
# 配置 php.ini 的路径
PHPIniDir "D:/Java/php"
 
3. 然后新建一个info.php文件,内容如下,将其放到Apache下的htdocs文件夹中。
<?php
   phpinfo( );
?>
 
4. 启动Apache,在浏览器中输入 http://localhost/info.php  ,如果能出现页面,就成功了。
 
注意: 
  • php的安装目录最好不要用中间有空格的路径(例如:C:/Program Files/PHP 就不太好),如果这样做有些web服务器会崩溃。
  • httpd.conf 不能load php5apache2.dll ,要写成 php5apache2_2.dll
 
 
四. 安装 MySQL
 
1. 解压mysql5到D:/Java目录下,应该会有个mysql-5.0.45-win32文件夹,为了方便,我将这个文件夹重命名为mysql,在此目录下,新建一个my.ini文件。内容如下:
[WinMySQLAdmin]
   Server=D:/Java/mysql/bin/mysqld-nt.exe
  
[mysqld]
   basedir=D:/Java/mysql
   datadir=D:/Java/mysql/data
上面“Server”指向MySQL的执行主程序,“basedir”指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录,如果你的安装目录不是上面所指的,修改成自己的。
  
 
2. 安装MYSQL为系统服务
    切换到mysql安装目录下的bin目录,输入如下命令:
d:/Java/mysql/bin/mysqld-nt  --install mysql --defaults-file=D:/java/mysql/my.ini
mysql是服务名称,就是安装成系统服务,如当安装成功 后,你在DOS下启动命令为 net start mysql,同理,当你改成mysqld-nt.exe -install mysql5,那你启动时命令就应该为 net start mysql5。另外,安装系统服务时还需要加载my.ini文件。
卸载服务 mysqld-nt  --remove mysql
 
3. 启动MYSQL
命令为在dos提示符下,或者开始--运行
net start mysql
net stop mysql
还是使用MySQL GUI Tools 5.0目录下的MySQLSystemTrayMonitor.exe更方便些。
 
4. 修改root的初始密码
    输入(将密码修改为javamxj): mysqladmin -u root -p password javamxj
出现提示: Enter password: ,因为root的初始密码为空,所以直接按回车键即可.
如果要修改的密码不为空,则需要在出现提示时 Enter password: 输入原先旧密码.
注意:这里javamxj是所设的新密码,你可以随便设置,不过要记住所设的密码。
 
5. 测试
    确认已经启动MySQL,切换到mysql安装目录下的bin目录,输入如下命令:
d:/Java/mysql/bin/mysql -uroot -pjavamxj
上面root是用户名,javamxj是刚才修改的新密码。如果出现欢迎信息,OK。
 
 
五. 在php5中使用MySQL 
 
1. 打开php.ini文件,在486行修改extension_dir为:
 extension_dir = "D:/Java/php/ext"
   在625,626行删除extension=php_mysql.dll和extension=php_mysqli.dll前的“;”,以加载php_mysql.dll和php_mysqli.dll
 extension=php_mysql.dll
 extension=php_mysqli.dll
 
2. 在PATH 环境变量中添加 D:/Java/php;以便能加载这个目录下的dll文件(有可能需要重启才能起作用),或者把这些文件复制到windows的system32的目录下。
 
如果没有问题,那么 http://localhost/info.php 应该能看到 mysqli和mysql 模块.
Windows环境下完全手工配置Apache、MySQL和PHP
 
 
 
六. 编码
 
为了一劳永逸的解决乱码问题,建议各种编码都设为UTF-8。
1. 先修改my.ini文件,如下:
[WinMySQLAdmin]
Server=D:/Java/mysql/bin/mysqld-nt.exe
  
[mysqld]
basedir=D:/Java/mysql
datadir=D:/Java/mysql/data
  
default-character-set=utf8
character_set_server=utf8
init_connect='SET NAMES utf8'
 
[client]
default-character-set=utf8
 
2. 编写的php文件也采用UTF-8编码,另外在有关数据库操作的php文件头中,添加如下语句:
header("Content-type:text/html; charset=utf-8");
这样,中文字符应该都能正常显示了。
 
 
七. 安装phpMyAdmin
 
1. 在php环境下,使用phpMyAdmin来操作MySQL很方便。从上面的下载链接选择多语言的zip版本,首先,解压下载的phpMyAdmin文件到一个phpMyAdmin的目录(你可以改名),然后把这个目录移动到Apache的一个虚拟目录中,如Apache/htdocs目录下。启动Apache,浏览器中输入 http://localhost/phpMyAdmin/index.php 可以了。
 
2. 还需要修改一下配置文件,设置登陆方式。在phpMyAdmin目录中有一个文件“config.sample.inc.php”, 复制并重新命名为config.inc.php。需要修改的就是第29行:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
 
'auth_type'? 用于设置登陆方式,有3个选择,分别是http,cookie,config。http方式是在客户端访问时,弹出一个用户名密码的输入框进行认证;cookie方式是通过页面访问要求输入用户名密码进行认证;config方式是直接从这个配置文件中获取用户名密码,然后连接数据库。
 
3. 如果使用http方式只需把上面的“cookie”替换为“http”即可。
 
4. 如果使用cookie方式还需要修改第17行 $cfg['blowfish_secret'] = '' ,在单引号中随便填入一个数据,用来进行加密存入到cookie中的用户名和密码。我使用IE浏览的时候会出现一个错误,如下,
Windows环境下完全手工配置Apache、MySQL和PHP
 
在Language栏选择“中文 - Chinese simplified(utf-8)”,则正常显示。
Windows环境下完全手工配置Apache、MySQL和PHP
使用FireFox浏览则没有这个问题。
 
5. 如果使用config方式需要修改第37、38行,去掉前面的“//”,并填上正确的用户名和密码,如下:
$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'javamxj';
不过这种方式我没有成功过,提示数据库连接错误。
 
 
其中config方式的安全等级最低,cookie方式的等级最高,不过不能禁用了cookie,http方式在免费的主页空间上很常用。
 
 
小结
 
1. 修改参数时要和解压安装目录对应。
2. Apche、MySQL添加为系统服务后启动类型都是自动的,也就是开机启动。如果不想这样,可以都改为手动启动。
3. Apache的默认端口是80,如果安装有其它服务器,比如IIS,会有冲突,可以设置成其它端口,那么浏览页面时网址要加上端口。
4. 以上软件都是从官方网站下载的,如果速度比较慢,可以从官方网站选择别的镜像站点下载。
上一篇:Maven学习(五)-- 聚合与继承


下一篇:ProgressBar.js – 漂亮的响应式 SVG 进度条