`
goldbull
  • 浏览: 27196 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Apache+PHP+MySQL+phpMyAdmin超详细配置教程

    博客分类:
  • WEB
阅读更多
需要的软件(附官方下载地址):
Apache2.0.59

下载文件
点击这里下载文件

PHP 4.4.7 Win32

下载文件
点击这里下载文件

MySQL 4.1.22

下载文件
点击这里下载文件

phpMyAdmin 2.10.3

下载文件
点击这里下载文件


首先解决大家的几个疑问

问题1:为什么要用Apache而不是IIS?
回答1:由于我们是为了运行PHP而不是ASP,所以Apache是当之不愧的首选。再者,Win32环境配置Apache方法跟Linux下类似,学习了这个,以后只要会Linux基本操作,自然就会了Linux的Apache配置。
其次,对于经常重新安装系统的人,每次重新配置IIS非常麻烦,还有一点就是IIS开机就启动,不适合开发人员。而Apache则将所有的设置保存在一个配置文件中,不会涉及到注册表,所以重装系统之后不用任何设置就可以使用。堪称绿色。
问题2:为什么要用Apache 2.0.59,而不是最新版本2.2.4?
回答2:因为我们用的是PHP 4系列,所以只能用Apache 2.0.x,而不能用2.2.x。这也就是很多初学者总是配置失败的原因。(我也被这个问题缠绕了n久,最终在一个国外的论坛得以解决)这就引出了下一个问题。
问题3:为什么要用PHP 4.4.7,而不是最新版本5.2?
回答3:因为我们架设好了PHP服务器,必然会用到一些PHP论坛等程序。以后难免会租用虚拟主机从而发布自己的PHP程序。可是目前国内包括国外的PHP虚拟主机还是以PHP 4.x居多,而PHP本身向下兼容性不强,我曾经就是用PHP 5.x做的网站程序,到了客户(乐凯胶片集团)那里是PHP 4.x,几乎完全无法运行。后来我从网上查资料,原来PHP 5.x有很多系统函数和PHP4.x不同。所以为了方便起见,我们用PHP 4.x的最新版本,也就是PHP 4.4.7。
问题4:为什么要用MySQL 4.1.22,而不是最新版本5.x?
回答4:首先说为什么不用5.x。因为我已开始也用5.x,发现他的改变太大了。很难让当前的程序(例如Discuz!)兼容。例如,在MySQL 5.x中,一个表的索引ID为自动编号,那么我们在这个表插入数据的时候必须insert into Table1 (ID,Name) values (NULL, 'name1');。也就是说必须显式的给自动编号字段赋NULL值,否则SQL语句出错。而MySQL 4.x以及更早期的版本不用,直接insert into Table (Name) values ('name1');就可以了。这就是为什么MySQL 5.x不兼容很多程序的原因。
问题5:为什么要用MySQL 4.1.22,而不是4.0.x?
回答5:原因很简单,MySQL 4.1.22是MySQL 4.x的最新版本。而MySQL 4.0.x竟然连复合式SQL语句都不支持。例如select (select aid from Table1) from Table 2;这让我们的开发很不便。至于文字编码问题,下文中将看到。
问题6:如果不用PHP 5.x和MySQL 5.x,那么他们有什么用?
回答6:太有用了。PHP 5.x对面向对象编程(OOP)提供了很好的支持,而PHP 4.x竟然没有析构函数,而且在类的继承重载上存在一定的Bug,最重要的是,PHP 4.x无法定义私有变量,也就无法实现封装。所以说PHP 4.x不是面向对象编程。而MySQL 5.x增加的功能就更多了,我对这个了解很少,我知道的就是支持了存储过程和触发器。要知道在做大规模项目的时候这两个机制是非常有用的。综上所述, PHP 5.x和MySQL 5.x不适合我们初学,适合那些开发新的、庞大的、不涉及到向下兼容的项目

下面正式开始教程(如果还有疑问请提出,我会逐一解答)
==========================================================
1、安装之前的准备
为了以后重装系统之后不用重新设置,我们不把这些软件装在C盘,而是装在非系统盘。例如D:\Inetpub\,所以我们要建立如下目录:
D:\Inetpub\PHP4\                           [用来安装PHP4]
D:\Inetpub\Apache2\                      [用来安装Apache]
D:\Inetpub\MySQL\                         [用来安装MySQL]
D:\Inetpub\phpMyAdmin\                 [用来释放phpMyAdmin]
D:\Inetpub\wwwroot\                     [我们做的网站保存在这里]
2、安装MySQL 4.12(完全安装,重新安装系统以后如何快速恢复)
1,运行我们下载的mysql-essential-4.1.22-win32.msi
2,欢迎来到MySQL Server 4.1安装向导

3,选择安装模式,我们选择[Custom]也就是自定义安装

4,需要安装的功能默认,路经选择刚才建立的D:\Inetpub\MySQL\,(我是F,呵呵,无所谓)

5,最后确认一下,开始安装

6,安装过程

7,注册到MySQL.com,这里我们就不注册了,选择Skip Sign-up

8,现在就配置MySQL

9,欢迎来到MySQL Server 实例配置向导 1.0.8

10,选择[Detailed Configration],就是详细配置

11,选择[Developer Machine],也就是开发模式,这个模式占用内存少。而如果你真正要做服务器,需要选择[Server Machine]。

12,选择[Multifunctional Databases],具体原因还请高手指教。我认为这项是为了查询进行优化,而下面的选项是为了存储进行优化。

13,选择数据库存储路径,默认即可

14,设置最大连接数,由于我们是本机测试,选择第一项(20用户)即可。如果是服务器,选择第二项(高于500)

15,默认设置,不要修改。否则其他程序(Apache)将无法连接数据库。

16,重要设置:设置默认字符集,一定要选择第三项,然后再下拉菜单中选择gbk,切记!!!

17,选择[Install As Windows Service]安装成Windows服务,这样方便我们启动。不选[Launch the MySQL Server automatically]也就是说不让他自动启动。最下面那个选项无所谓,推荐选上,这样就可以在任意位置输入mysql进入控制台。

18,重要设置:这里有一个分支,如果你是初次安装,请看本步。如果你是重新安装系统之后的快速恢复,请看19第步。这里是输入两遍root用户的密码,下面的两个选项为了安全,不要选择。再次提醒,如果你的电脑已经安装了MySQL,也就是说你是刚刚重装了系统,快速恢复MySQL,一定不要选择这项,请看第 19步。切记!!!

19,重要设置:这一步是为了充装系统后的快速恢复,如果你是全新安装MySQL,即你的电脑中重来没有安装MySQL,请不要按照本步操作,请看第18步。切记!!!因为你是快速恢复,所以这里什么都不选,否则会导致配置失败

20,准备执行,全新安装的话,最后一项是亮起的,由于我是快速恢复,最后一项是灰的。

21,执行成功。初次安装4个对钩,快速恢复3个对钩。如果有一个叉子,请你仔细看18,19步。这个是问题最多的地方。如果还没办法解决,请跟我联系。

22,[开始]-[程序]-[MySQL]-[MySQL Server 4.1]-[MySQL Command Line Client],打开MySQL控制台。

23,输入刚才(18步)设置好的密码,回车。

24,登录成功。

25,输入 show databases; (不要漏掉空格和分号)看一下我们现有的数据库。正常应该有两个,mysql和test。

引用
至此,MySQL 4.1.22安装成功。下面我做一下总结。
总的来说,MySQL安装很简单。其中只有两个注意事项,一个是字符集选择,也就是第16部。很多乱码问题就是这里设置错误造成的。另外一个是全新安装与快速恢复。快速恢复的时候不能重新修改密码。为什么呢?我想有必要说一下原理。因为MySQL里面修改root用户密码必须要知道原始密码才可以修改。如果你是快速恢复,那么电脑中已经安装了MySQL,那么肯定以前你也设置过密码。但是安装程序不知道,认为是空。这是你输入了新的密码,安装程序会认为你要将空密码修改为你输入的密码。可是数据库中现在的root密码不是空,这就造成了修改失败。可是MySQL服务管理储存了你的新密码,可是用这个密码无法启动MySQL,这也就造成了MySQL无法启动,安装失败。
另外需要注意的一点就是Vista RC1以前的测试版本无法成功安装。因为服务注册机制不同。以上安装方法适用于:Windows XP, Windows 2003, Windows 2000, Vista RC1, RC2, RTM
MySQL安装好了,下一步我们安装Apache 2.0.59。请看下一步。
附:
1、如何快速启动和停止MySQL?
[开始]-[运行]-输入[net start mysql]可以启动,输入[net stop mysql]可以停止。
引用
安装注意:
Apache 2.0.59(以下简称Apache)必须在Windows XP或者2003下安装。Vista下无法成功安装。
若要在Vista下使用Apache,请现在XP或2003下安装好,然后再Vista下直接运行即可。具体方法我将详细说明。
3、安装Apache 2.0.59
1,运行我们下载的apache_2.0.59-win32-x86-no_ssl.msi
2,欢迎来到Apache HTTP Server 2.0.59 安装向导

3,用户协议,当然选择我同意[I accept the terms in license agreement]

4,Apache的简介,直接Next

5,前两个文本框均输入localhost,第三个输入你的E-mail。下面的单选框选择第一项。

6,选择Custom,自定义安装

7,需要安装的功能默认,安装目录选择我们之前建立的D:\Inetpub\
这里需要注意,为什么不选择D:\Inetpub\Apache2呢?因为Apache安装程序会自动建立Apache2目录。假如我们选择了D:\ Inetpub\Apache2,那么安装好了之后就成了D:\Inetpub\Apache2\Apache2了。这个切记!!!

8,准备安装

9,安装过程

10,安装完成

11,打开浏览器,输入http://localhost/如果出现以下画面说明安装成功。

附:
前面我说了Vista下无法成功安装Apache 2.0.59,那么在XP\2003下安装好的Apache在Vista下怎么运行呢?
很简单,直接运行D:\Inetpub\Apache2\bin\apache.exe即可,不用的时候直接关闭就行了。

4、配置PHP,让Apache支持PHP
1,解压缩我们下载的php-4.4.7-win32.zip至D:\Inetpub\PHP4\。

2,将PHP4目录内php.ini-dist重名名为php.ini,为了安全起见,我保留了一个副本。

3,打开php.ini,修改几个地方。
修改1:将 extension_dir = "./" 修改为 extension_dir = "D:/Inetpub/PHP4/extensions"
   注意:要用/斜杠,而不是\斜杠。

修改2:去掉php_mbstring.dll和php_gd2.dll前面的分号[;],如图所示。保存退出即可。

4,将PHP4目录内的php.ini,php.exe,php4ts.dll三个文件复制到C:\Windows\目录(Win2000是C:\Winnt\)

5,用记事本打开D:\Inetpub\Apache2\conf\httpd.conf文件
修改1:DocumentRoot "D:/Inetpub/Apache2/htdocs"
修改为 DocumentRoot "D:/Inetpub/wwwroot"

修改2:
修改为
  这两步的目的是把Apache的主目录定义到D:\Inetpub\wwwroot

修改3:DirectoryIndex index.html index.html.var
修改为 DirectoryIndex index.html index.html.var index.php
  这步的目的是把index.php作为默认文档

修改4:找到一大堆LoadModule,在最下面添加LoadModule php4_module D:/Inetpub/PHP4/sapi/php4apache2.dll

修改5:找到AddType,在下面添加AddType application/x-httpd-php .php

保存退出,然后重新启动Apache。方法:[开始]-[运行]-[net stop apache2]-[net start apache2]
6,新建一个index.php,内容如图所示,保存到D:\Inetpub\wwwroot

7,打开浏览器http://localhost/,如果出现下图,说明配置成功。

引用
总结:
这一部分是整个教程中的重点。没什么好说的,主要就在细心。
下面请看phpMyAdmin的配置。
5、配置phpMyAdmin,从中学习如何设置Apache的虚拟目录
1,打开我们下载的phpMyAdmin。

2,解压缩到D:\Inetpub\phpMyAdmin,如图

3,复制D:\Inetpub\phpMyAdmin\libraries\config.default.php到D:\Inetpub\phpMyAdmin\下,重名名为config.inc.php

4,用记事本打开config.inc.php,
修改:$cfg['Servers'][$i]['auth_type'] = 'config';
修改为$cfg['Servers'][$i]['auth_type'] = 'http';
保存退出

5,用记事本打开D:\Inetpub\Apache2\conf\httpd.conf。
找到Alias /icons/
在下面添加一行
Alias /phpMyAdmin "D:/Inetpub/phpMyAdmin/"
保存退出,重新启动Apache和MySQL(方法见上一部分)。

6,打开浏览器http://localhost/phpMyAdmin,用户名root,密码输入MySQL安装的时候设置的密码。
点击在新窗口中浏览此图片
7,出现下图界面,安装成功。

引用
总结:
这里说一下第5步的设置注意事项。
该步骤中,我们添加了Alias /phpMyAdmin "D:/Inetpub/phpMyAdmin/"
目的是添加一个虚拟目录phpMyAdmin指向D:\Inetpub\phpMyAdmin,访问的时候就是http://localhost/phpMyAdmin
我们可以修改为Alias /phpMyAdmin/ "D:/Inetpub/phpMyAdmin/"
这样就只能通过http://localhost/phpMyAdmin/访问了。提高了安全性。

==至此,全部安装过程结束。==
6、重新安装系统后如何快速恢复
假设我们现在重新安装了操作系统,XP/2003/Vista都一样。我们如何快速恢复到配置好的状态呢?
1,安装MySQL,参见前面教程,注意其中的快速恢复注意事项
2,复制D:\Inetpub\PHP4\下的php4ts.dll,php.exe,php.ini三个文件到C:\Windows\下(Win2000是C:\Winnt\)
3,[开始]-[运行]-[net start mysql]
4,执行D:\Inetpub\Apache2\bin\apache.exe
好了,快速恢复完成。数据库、虚拟目录等等完全不用重新设置。比IIS方便吧?
7、F.A.Q

问:为什么路径中的\要用/代替?我测试了一下\也可以啊?

答:因为在Windows下配置\/没有区别,但是Linux下必须是/,所以我们培养好的习惯,用/。

问:路径区分大小写吗?

答:Apache+php+MySQL+phpMyAdmin完全严格区分大小写。

问:phpMyAdmin - error
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

答:在mysql控制台使用如下命令:
mysql>SET PASSWORD FOR
   ->'some_user'@'some_host' = OLD_PASSWORD('newpwd');
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics