Windows上安装Apache, PHP, MySQL
时间:2009-03-23 来源:sjhf
LAMP(Linux, Apache, MySQL, PHP)是当今最流行的网站平台,不仅是因为它们是完全免费的,还因为它们自身的优点:稳定可靠,性能优越。更加因为那么多开源系统的涌现,常用的BBS和CMS系统,基本上都是基于LAMP的。 半年前在旧电脑上装了AMP,后来又在笔记本上装了一次,但是都没有记录下来安装过程。这次换了电脑,所以需要重装AMP,特记录如下。 1. 安装PHP 直接到PHP官方网站的下载页面:http://www.php.net/downloads.php 上面列了几个下载项,下载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 下载地址:http://apache.mirror.phpchina.com/httpd/binaries/win32/ 这个是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, 在浏览器中输入: http://localhost/index.html 应该能够出现页面。 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(); ?> 然后在浏览器中输入:http://localhost/phpinfo.php 应该会显示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,再查看http://localhost/phpinfo.php,应该可以看到相关模块的信息。 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的官方网站上下载最新的版本:http://www.phpmyadmin.net/home_page/downloads.php 因为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'; |
相关阅读 更多 +
排行榜 更多 +