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, 外包项目, 接国外私活, 程序员兼职, 外包开发, 国外项目外包, 网站外包项目
 

你可能感兴趣的:(apache,PHP,linux,mysql,安装)