msgbartop
很傻很天真的程序员
msgbarbottom

02 七 10 Windows下PHP5和Apache的安装与配置

在这里以PHP5为例介绍一下Windows下Apache和PHP5的安装与配置方法。

一 下载安装程序

Apache可以从http://www.apache.org/dyn/closer.cgi/httpd/binaries/win32/下载

PHP可以从http://www.php.net下载.

二 安装程序

1、Apache的程序安装相对来说要较为的简单一些,我们从网站下来的是一个Windows下的安装程序,我们可以直接双击运行,这样我们就便利Apache在我们的电脑上安下家来了。

2、我们在这里要注意的就是在下载PHP时一定要下载那个zip包的,而不要下载Installer的.将我们下载下来的PHP包解压到C盘下的根目录下,并将解压出来的文件夹改名为php。

三 配置

1、最好是无论使用何种接口(CGI 或者 SAPI)都确保 php5ts.dll 可用,因此必须将此文件放到 Windows 路径中。最好的位置是 Windows 的 system 目录:
c:\windows\system for Windows 9x/ME
c:\winnt\system32 for Windows NT/2000 或者 c:\winnt40\system32 for Windows NT/2000 服务器版
c:\windows\system32 for Windows XP

2、下一步是设定有效的 PHP 配置文件,php.ini。压缩包中包括两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为此文件对默认设置作了性能和安全上的优化。

将选择的 ini 文件拷贝到 PHP 能够找到的目录下并改名为 php.ini。PHP 默认在 Windows 目录下搜索 php.ini:

3 在 Windows 9x/ME/XP 下将选择的 ini 文件拷贝到 %WINDIR%,通常为 c:\windows。

在 Windows NT/2000 下将选择的 ini 文件拷贝到 %WINDIR% 或 %SYSTEMROOT% 下,通常为 c:\winnt 或 c:\winnt40 对应于服务器版本。

4 Apache中PHP的设置

有两种方法使得 PHP 工作在 Windows 下的 Apache。一是使用 CGI 二进制文件,另一是使用 Apache 模块 DLL。无论那种方法,您首先必须停止 Apache 服务器,然后编辑 httpd.conf,以配置 Apache 和 PHP 协同工作。

如果我们要使用CGI二进制文件,那么我们要将如下指令插入到 Apache 的 httpd.conf 配置文件中,以设置 CGI 二进制文件:

PHP 以 CGI 方式安装到 Apache 2.0:
ScriptAlias /php/ “c:/php/”
AddType application/x-httpd-php .php
Action application/x-httpd-php “/php/php.exe”

如果我们想把 PHP 作为 Apache 2.0 的模块,那么就一定要移动 php4ts.dll 到 winnt/system32(Windows NT/2000)或 windows/system32(Windows XP),覆盖原有文件(如果有的话),对于 PHP 5,这个文件是 php5ts.dll。然后我们要插入如下两行到 httpd.conf 中,以使我们的 PHP 作为 Apache 的 PHP-Module 安装:

PHP 以模块方式安装到 Apache 2.0:

; For PHP 4 do something like this:
LoadModule php4_module “c:/php/php4apache2.dll”
AddType application/x-httpd-php .php

; For PHP 5 do something like this:
LoadModule php5_module “c:/php/php5apache2.dll”
AddType application/x-httpd-php .php

经过这样的配置以后,我们就安装好了我们的PHP和Apache服务器了。我们可以简单的测试一下:

1、测试Apache:

我们打开浏览器,在地址栏中输入localhost,如果可以出现Apache页面,则说明我们的Apache可以正常工作了。

2、测试PHP设置:

我们可以简单的编写一个PHP页面,我们可以用文本编辑器,输入下面的代码:
<html>
<head><title>hello </title></head>
<body>
<?php echo “hello,php”; ?>
</body>
</html>

然后将这个文件存为hello.php,将其放在Apache的htdocs目录中(我们也可以在http.conf文件中来更改这个目录的),然后在我们的浏览器中输入http://localhost/hello.php,如果能够正确的显示hello,php就说明我们的PHP配置是可以正常工作的。

02 七 10 apache转发实现iis和apache共享80端口

因为只有一台服务器(win2003 server) 既需要在上面跑asp程序 又需要在上面跑php应用 又不想用iis跑php应用 还有就是不想把asp程序跑在apache上 就需要一个apache与iis共存的方案。

iis是windows2003 server自带的iis6.0

apache是apache2.2.8

首先当然是下载并安装apache

接着开始先把自动启动的iis服务器停下来,修改iis的端口为非80(比如8081)

再接着打开apache的httpd.conf文件开始配置

要让apache支持转发也就是做iis的代理那么就要先启用apache的代理模块:

#LoadModule proxy_module modules/mod_proxy.so
–>LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

–>LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

–>LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

–>LoadModule proxy_http_module modules/mod_proxy_http.so

完成了代理模块的启用 那么我们开始配置虚拟主机

先包含httpd-vhosts.conf文件

#Include conf/extra/httpd-vhosts.conf

–>Include conf/extra/httpd-vhosts.conf

保存httpd.conf,打开httpd-vhosts.conf文件

开始配置虚拟机

NameVirtualHost *:80

<VIRTUALHOST *:80>

ServerAdmin b@b.com
ServerName    www.b.com
DocumentRoot  “C:/Program Files/Apache Software Foundation/Apache2.2/htdocs”
</VIRTUALHOST >
<VIRTUALHOST *:80>
ProxyPreserveHost On
ServerAdmin a@a.com
ServerName www.a.com
DefaultLanguage zh-CN
AddDefaultCharset GB2312
ProxyPass / http://www.a.com:8081/
ProxyPassReverse / http://www.a.com:8081/
</VIRTUALHOST>

配置完成并保存httpd-vhosts.conf

开始重启apache服务器和iis服务器

我们通过www.a.com访问过去就会看到iis的默认页面

通过www.b.com访问过去就可以看到it’s work。

这样我们就实现了iis和apache共享80端口

02 七 10 apache出现You don’t have permission to access

apache出现You don’t have permission to access / on this server. 提示

今天在新的linux上跑原来的代码,使用的虚拟主机的模式进行操作。几个相关的网站放在一个文件里,想法是通过网站列出的目录进行相应的网站进行操作。一切设置完成后,在浏览器中运行出现在You don’t have permission to access / on this server.  提示。查了一下apache手册找到问题所在处。这里定义了默认对网站根的访问权限。

# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the ”default” to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

这里改成

<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>

问题解决

Analytics Plugin created by Web Hosting

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress