Win2003 安装 apache 2.2.17 + php5.3.4 或5.3.6 + Mysql 配置
Aapache安装
apache-2.2.17 下载地址 :http://httpd.apache.org/download.cgi , http://www.apache.org/dist//httpd/binaries/win32/
版本选择httpd-2.2.17-win32-x86-no_ssl.msi (openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,无特殊ssl连接需要下载no_ssl的版本即可)。
安装:一路next 下去 填写 network domain、server domain 一般填“localhost”即可,管理员邮箱随便填一个邮箱就可以(以后服务器出现问题,会提示联系管理员邮箱,方便处理问题。)
安装成功:一般安装结束时会请求是否开启apache服务,可以确定开启,自动打开Apache Service Monitor 同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标,显示为”>” 启动状态,此时可以本地打开浏览器输入http://localhost 或者 http://127.0.0.1 或者在其他机器上输入 该服务器ip到浏览器访问 http://xx.xx.xx.xx/ 可以看到简单的测试页面 “It works” 说明apache已经成功运行。
PHP安装
php5.3.4 ,5.3.6(最新),5.2.17(老稳定版本,不再后续支持) 下载地址:http://windows.php.net/download/
版本选择 Thread Safe (window下一般开发环境用此版本即可,如果是以FastCGI来执行PHP时考虑到效率,需要采用None Thread Safe版本).
下载zip版本 此处我 解压缩到 “C:/php-5.3.6-Win32-VC9-x86″,注意如果是在win2003下运行php5.3 以上用vc9 编译的版本的话,有可能会遇到无法运行的情况,即双击php.exe 会弹出“由于应用程序配置不正确,应用程序未能启动” 的问题,这是由于该版本的php采用vc9编译,而该win2003系统缺少运行库导致的,可以安装 Microsoft 2008 C++ Runtime (x86) 来保证运行。
问题:常见问题在配置apache里的httpd.conf 时 LoadModule php5_module 缺少 “php5apache2_2.dll” 的情况是因为下错了php版本,在Thread Safe版本下是具有php5apache2_2.dll的,而None Thread Safe版本 没有这个文件一般只用于fastcgi 所以不需要这个文件。
MySQL安装
一般安装mysql–5.1.45-win32.msi即可,安装过程中填写root密码,选择数据库编码utf8 启用innodb 选项一步一步next即可。安装成功后mysql就会以windows服务的方式启动了。
综合配置
1.配置Apache:
apache安装目录下的conf/httpd.conf 文件是比较重要的配置文件,如果害怕修改配置文件出错,则要养成修改配置文件前备份的习惯,以防出错。
1.1 配置www网站根目录:
DocumentRoot "E:/www" <Directory "E:/www"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All(在打开mod_rewrite的情况下允许htaccess文件定义时需要设置为All 默认为None) Order allow,deny Allow from all </Directory>
1.2 配置mod_rewrite:
LoadModule rewrite_module modules/mod_rewrite.so
(现在非常流行使用rewrite功能达到美化,隐藏安全url访问的目的,打开此模块的同时也要注意目录下的AllowOverride All,才能允许htaccess有效)
1.3A 一种方式配置mod_php:(大多数情况下采用以mod_php方式运行)
(PHPIniDir为指定 php.ini的位置,可以直接放在php版本目录里面) (以mod_php的方式运行php时需要加载 php5_module) PHPIniDir "C:/php-5.3.6-Win32-VC9-x86" LoadModule php5_module C:/php-5.3.6-Win32-VC9-x86/php5apache2_2.dll (设置目录下网站首页的访问顺序如果要运行php,可以讲index.php至于前面优先访问index.php为主页) <IfModule dir_module> DirectoryIndex index.php index.html index.htm </IfModule> (设置php5解释器,解释文件的扩展名,即访问.php或者.php3或者.phps时, 都会视为application/x-httpd-php请求,用php5解释器来解释运行) <IfModule mod_php5.c>() AddType application/x-httpd-php .php AddType application/x-httpd-php .php3 AddType application/x-httpd-php-source .phps </IfModule>
1.3B 另一种方式配置fastcgi:(与mod_php配置有些不同,在windows下不太安全但如果要考验效率的话可以试一试)
下载mod_fcgid-2.3.6-win32-x86,下载地址:http://httpd.apache.org/mod_fcgid/ ,下载完后 直接将 module 目录合并到 apache 安装目录下的module即可。
LoadModule fcgid_module modules/mod_fcgid.so AddHandler fcgid-script .fcgi .php #php.ini的存放目录 FcgidInitialEnv PHPRC "C:/php-5.3.6-Win32-VC9-x86/" # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess, #防止php-cgi进程在处理完所有请求前退出 FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 #php-cgi每个进程的最大请求数 FcgidMaxRequestsPerProcess 1000 #php-cgi最大的进程数 FcgidMaxProcesses 3 #最大执行时间 FcgidIOTimeout 120 FcgidIdleTimeout 120 #php-cgi的路径 FcgidWrapper "C:/php-5.3.6-Win32-VC9-x86/php-cgi.exe" .php AddType application/x-httpd-php .php
#这两种方式运行php时,检查phpinfo()可以清楚的看到两者的不同。
2. 配置PHP.ini:
date.timezone ="Asia/Shanghai" #(设置一下时区,一般国内可以设置为Asia/Shanghai ,不设置有些用到时间的php应用回报警告, #ps:它又不会GPS定位你所在时区,O(∩_∩)O哈哈~) extension_dir = "C:/php-5.3.6-Win32-VC9-x86/ext" #(extension_dir 指定php扩展的目录位置,必须指定绝对物理路径, #否则加载某些扩展会找不到dll文件) extension=php_mbstring.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_mysql.dll extension=php_pdo_mysql.dll
上面打开一般的图形扩展和mysql数据库扩展,也可根据需要打开 extension=php_curl.dll 扩展之类。
修改完配置要重启apache服务,在Apache Service Monitor里 restart即可,然后可以测试phpinfo() 是否okay。
希望对用的童鞋有用!:)
悲剧。。
我前段时间在虚拟机中安装了windows server 2003
居然到现在搞不好IIS。。。
@安徽seo, (⊙_⊙) 啊? 你使用IIS 运行PHP吗? win2003下安装好IIS,不是很难啊,要运行php的话,需要改一下配置,我前几天刚配了IIS+php5.3.6+ fastcgi+wincache. 感觉很好用啊。 只有一点儿有缺憾是htaccess不能用,没有apache下好用的mod_rewrite功能,不过对于不需要rewrite的应用是没有问题的。
你可以把你遇到的问题详细说一下?
嘿嘿,我把IIS关掉,安装了apache+php+mysql~~~~~
全是鸟语,搞了一整天才明白。。mysql设置的时候有个选项选择编码。。常用gbk或utf。。。
不过我重新设置,安装phpcms 2008版还是有问题,安装到最后一步出现1064错误,可能就是编码问题。
搜了好久,貌似很多人遇到这个情况,但是没找到答案。
最后从别的地方安装好phpcms 2008版的,把文件拷贝过来,数据库恢复进去修改配置,ok。
ps:全新安装phpcms v9没问题。。
还有个疑问,我是在httpd.conf里添加代码绑定域名的。
# 绑定域名
NameVirtualHost 218.8.127.180
DocumentRoot "D:/htdocs/c2c3"
ServerName www.c2c3.com
假如我想解析子域名,或者用其他目录多做几个站,都这样添加太麻烦了,有便捷的方法吗???
这样可以考虑打开#include conf/extra/httpd-vhosts.conf, 然后修改httd-vhosts.conf 比如我常用的如下:
NameVirtualHost *:80
# block.
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any
#
#指定默认的DocumentRoot保证通过ip,localhost之类的可以正常访问
DocumentRoot “E:/”
#添加子域名访问目录
ServerName subsite.abc.com
DocumentRoot “E:/subsite”
#设定主域名访问
ServerName abc.com
DocumentRoot “E:/”
—-我常用的方法就是这个,希望对你有帮助!:)