手记

Windows上安装Apache, PHP, MySQL


LAMP(Linux, Apache, MySQL, PHP)是当今最流行的网站平台,不仅是因为它们是完全免费的,还因为它们自身的优点:稳定可靠,性能优越。更加因为那么多开源系统的涌现,常用的BBS和CMS系统,基本上都是基于LAMP的。

半年前在旧电脑上装了AMP,后来又在笔记本上装了一次,但是都没有记录下来安装过程。这次换了电脑,所以需要重装AMP,特记录如下。

1. 安装PHP

直接到PHP官方网站的下载页面:[url]http://www.php.net/downloads.php[/url]

上面列了几个下载项,下载Windows Binaries里面的PHP 5.2.5 zip packages就行了(目前最新的版本是5.2.5)

安装很简单,直接解压到一个文件夹就行了。最好解压到一个“好一点”的文件夹,就是文件夹路径中不含空格,中文,或者其他非ASCII码的字符。这里我使用E:\php5

2. 初步配置php

php的配置文件是php.ini,解压之后,将安装目录里面的php.ini-dist拷贝一份并重命名为php.ini。

3. 安装Apache

下载地址:[url]http://apache.mirror.phpchina.com/httpd/binaries/win32/[/url]

这个是Apache在国内的镜像,上面有用于windows的安装程序。最新的版本是2.2.6, 因为可能会用到SSL,所以选择带SSL的版本。

安装Apache跟安装普通的软件没有什么两样,在安装程序中有个对话框要求填写"Server Information",随便填写一个域名都可以。

安装完成后,在系统托盘会生成一个图标,可以方便地控制Apache server start and stop.

注意: 如果你的系统上有IIS服务器正在运行,由于IIS已经占用了80端口,这样Apache就无法再bind到80端口,会提示错误。你可以停止IIS,或者让Apache使用别的端口。

4. 配置Apache

Apache的主要配置文件是httpd.conf,在Apache的安装目录中的conf子目录可以找到这个文件。

4.1 配置DocumentRoot

DocumentRoot就是你的“网站”的文件的根目录,默认的根目录是在Apache的安装目录里面的htdocs目录。你可以改成其他的目录。

在httpd.conf中找到这一行(注意:你的安装路径可能跟下面所示的不一样):

DocumentRoot "E:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

我喜欢E:\htdocs, 所以将其修改为:(注意这里用的斜杠跟windows是相反的)

DocumentRoot "E:/htdocs"

还有一行是设置DocumentRoot的权限,也是进行类似更改。

找到:

<Directory "E:/Program Files/Apache Software Foundation/Apache2.2/htdocs">

也修改成:

<Directory "E:/htdocs">

还有设置脚本目录的配置,最好也改成需要的目录(有两个地方)。

    #

    # ScriptAlias: This controls which directories contain server scripts. 

    # ScriptAliases are essentially the same as Aliases, except that

    # documents in the target directory are treated as applications and

    # run by the server when requested rather than as documents sent to the

    # client.  The same rules about trailing "/" apply to ScriptAlias

    # directives as to Alias.

    #

    ScriptAlias /cgi-bin/ "E:/htdocs/cgi-bin/"

</IfModule>

#

# "E:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#

<Directory "E:/htdocs/cgi-bin">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

这一步完成之后,重新启动Apache,应该已经可以访问“网站”了,在上面设置的DocumentRoot目录中放一个网页文件,如index.html, 在浏览器中输入:

[url]http://localhost/index.html[/url]

应该能够出现页面。

4.2 加载PHP模块

PHP作为一种脚本语言,一般都是作为Apache的一个模块加入到Apache中。当浏览器请求一个PHP页面时,Apache就调用php模块对php源程序进行处理,并将处理的结果返回给浏览器。

下面时加载PHP模块的设置,把它们拷贝到httpd.conf中就可以。(注意:这里的设置仅针对PHP 5和Apache 2.2.x,其他版本可能不同,且注意路径需根据实际进行修改)

# For PHP 

LoadModule php5_module "E:/php5/php5apache2_2.dll"

<IfModule php5_module>

AddType application/x-httpd-php .php

</IfModule>

# The directory for php.ini

PHPIniDir "E:/php5"

这一步完成之后,重启Apache,应该就可以使用PHP页面了。编写一个简单的php文件放在DocumentRoot里面,命名为phpinfo.php,在此文件中使用phpinfo()函数,显示php的配置信息:

<?php

   phpinfo(); 

?>

然后在浏览器中输入:[url]http://localhost/phpinfo.php[/url]

应该会显示php的配置信息页面。

5. 深入配置PHP

PHP的配置是通过编辑前面所说的php.ini来实现的。

5.1 配置doc_root

把doc_root设置成httpd.conf中的DocumentRoot

doc_root = "E:\htdocs"

5.2 设置PHP的模块所在的目录

PHP有一个基本的系统,其他的功能是通过模块扩展(extension)来实现的。因为PHP需要知道这些扩展模块的DLL文件所在的目录,所以需要设置。实际就是设置成PHP的安装目录的中的ext子目录。

; Directory in which the loadable extensions (modules) reside.

extension_dir = "E:\php5\ext"

5.3 设置需要安装的模块

找到php.ini中如下所示的行,去掉每行前面的";"注释符号,就安装相应的模块。

;extension=php_bz2.dll

extension=php_curl.dll

;extension=php_dba.dll

;extension=php_dbase.dll

;extension=php_exif.dll

;extension=php_fdf.dll

extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_gmp.dll

;extension=php_ifx.dll

extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_ldap.dll

extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_msql.dll

;extension=php_mssql.dll

extension=php_mysql.dll

extension=php_mysqli.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_pdo.dll

;extension=php_pdo_firebird.dll

;extension=php_pdo_mssql.dll

;extension=php_pdo_mysql.dll

;extension=php_pdo_oci.dll

;extension=php_pdo_oci8.dll

;extension=php_pdo_odbc.dll

;extension=php_pdo_pgsql.dll

;extension=php_pdo_sqlite.dll

;extension=php_pgsql.dll

;extension=php_pspell.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

;extension=php_soap.dll

;extension=php_sockets.dll

;extension=php_sqlite.dll

;extension=php_sybase_ct.dll

;extension=php_tidy.dll

;extension=php_xmlrpc.dll

;extension=php_xsl.dll

;extension=php_zip.dll

5.4 拷贝libmysql.dll

将PHP安装目录中的libmysql.dll拷贝到系统的DLL文件夹中,一般是C:\WINDOWS\system32。这是php的一个BUG,如果不拷贝,PHP将无法加载mysql相关的扩展模块。

5.5 将PHP的安装目录加到PATH环境变量里面

这样就可以在DOS命令行运行php程序,有时便于调试。

以上的配置完成之后,重新启动Apache,再查看[url]http://localhost/phpinfo.php[/url],应该可以看到相关模块的信息。

6. 安装MySQL

MySQL已经越来越商业化了,所以在其官网上下载也比较麻烦,还要注册,填写email地址等。最新的MySQL已经到了6.0版本,但是估计还很少人用,所以还是下载5.x的最新版。Google “mysql 5.1.22 下载”,可以搜到国内的下载地址。

因为有对应的安装程序,所以MySQL的安装也很简单。安装过程中需要设置MySQL的root密码,而且最好选中将MySQL的bin目录加到PATH环境变量里面,这样就可以在DOS命令行中运行mysql的客户端访问MySQL的数据库了。

安装好了之后,可以用mysql客户端测试一下。打开DOS窗口:

C:\Documents and Settings\user>mysql -u root -h localhost -p

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.22-rc-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| test               |

+--------------------+

3 rows in set (0.00 sec)

mysql>

7. 安装PHPMyAdmin

PHPMyAdmin是基于Web的MySQL管理系统,对不熟悉MySQL的人来说是一个不错的工具。到PHPMyAdmin的官方网站上下载最新的版本:[url]http://www.phpmyadmin.net/home_page/downloads.php[/url]

因为phpMyAdmin是基于WEB的,所以必须解压到Apache设置的DocumentRoot目录中。

解压之后,找到config.sample.inc.php这个文件,拷贝一份并命名为config.inc.php,然后进行编辑:

找到这一行:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

将其改为:

$cfg['Servers'][$i]['auth_type'] = 'http';

这样每次使用phpMyAdmin登录数据库时,就会弹出输入用户名和密码的对话框,用户名就使用root(当然如果配置了其他用户也可以使用),密码就使用安装MySQL时设置的密码。

当然也可以将密码直接写在配置文件里面,这样就不会每次都输入密码。设置如下:

/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = 'config';

$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = 'your_password';

 

Freelancer.com - 排名第一的软件兼职工作网站

兼职编程、开发, C/C++/C#, PHP, Web开发, ASP, 外包项目, 接国外私活, 程序员兼职, 外包开发, 国外项目外包, 网站外包项目

 

©著作权归作者所有:来自51CTO博客作者ypixunil的原创作品,如需转载,请注明出处,否则将追究法律责任

PHP安装Linux软件


0人推荐
随时随地看视频
慕课网APP