Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

WINDOWS下 APACHE2.2.2+PHP5.14 +虚拟主机配置

[复制链接]
螵蛸 发表于 2006-7-29 10:06:14 | 显示全部楼层 |阅读模式
本文是原创,惹要转载,请注明出处
原文作者:螵蛸
出处:http://cdsc.com.cn/mlwxx/blogview.asp?logID=139&cateID=6


一、软件准备:以下均为截止2006-7-27最新正式版本

PHP(5.1.4):http://www.php.net
Apache(2.2.2):http://www.Apache.org/

二、安装 Apache :

Apache的安装非常简单,选择接受许可协议后进入服务器信息配置界面。
第一栏"Network Domain"域名信息,在这里填入你的服务器的域名,如果你已经申请到域名的话填入你申请的域名,(注意这里要填的是域名,只是你申请到的完整域名的后半部分,不包括"www"。如果你申请的是二级域名的话,就是第一个"."之后的部分)如果还没有的话,把本机的IP填上去就行了。

下一行是服务器名,填入完整的域名或IP地址。

再下一栏是管理员Email地址。这三项在安装是就必须填写,但是在安装完成后你还可以随时进行修改,所以你不必担心填错了会出问题。最后的选项不用改就可以了。

点击"Next"进入下一步。选择"Typical"典型安装,下一步选择安装目录,默认安装目录是系统盘的Program Files/Apache Group目录。点击"Next"再单击"Install"进行安装。

安装完成后,可以看到系统状态栏里出现Apache的羽毛状图标并带有绿色箭头,说明服务器已经偷偷摸摸 的启动啦。

现在看看我们的成绩吧。打开浏览器,输入localhost或者127.0.0.1(这两个都指向本机地址),回车,如果安装正确的话你就能看到Apache的测试页面了(我的是If wrok,几个大字),这不是我们要的站呢,我的网站在哪里呢?别着急,现在不管子它啦。我们等和PHP一起设置。。算完成一外简单的步骤!

三、安装 PHP :

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

(1) 下载后得到 php-5.1.2-Win32.zip ,解压至C:\php(这个路径可以随意,不过下面要是用到这个路径,请相应修改);

(2)再将 C:\php\libmysql.dll 和 C:\Inetpub\php\ext\php_mysql.dll 复制到 C:\Windows\system32 下;

(3)将C:\PHP\php.ini-dist 复制到C:\Windows ( Windows 2000 下为 C:\WINNT)并将改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索:

extension_dir = "C:\PHP\ext"
将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\Inetpub\php\ext" ;

搜索;Windows Extensions并仅打开需要的模块以节省内存(去掉每个模块前的;号即可):

extension=php_gd2.dll
GD库支持,如果不打开该模块则Discuz!论坛图片水印不能使用。

extension=php_mbstring.dll
为了支持phpMyAdmin,打开mbstring。

extension=php_mysql.dll
不用说了吧,支持MySQL。

(4)配置 AND Apache 使其支持 PHP

有两种方法使得 PHP 工作在 Windows 下的 Apache。一是使用 CGI 二进制文件,另一是使用 Apache 模块 DLL。无论那种方法,您首先编辑 httpd.conf,然后重新启 Apache 服务器,以配置 Apache 和 PHP 协同工作。 个人推荐模块方式安装(也只讲这种方法[em23])!

打开Apache Software Foundation\Apache2.2\conf\httpd.conf (这是默认,实际以你安装路径为准)

把以下三行加到 httpd.conf 最最最最后(方便)

LoadModule php5_module "c:/php/php5apache2.dll" (这是默认,实际以你php5apache2.dll路径为准)
AddType application/x-httpd-php .php
PHPIniDir "c:/php"

更改主目录路径,搜索DocumentRoot "***/Apache2.2/htdocs"(前面无#的行,注意到文件的大部分都是以#开头的,因为#是注释,程序将略过这些内容),后面的一部分就是你服务器的根目录了,把它改成你想要的目录就行了,这里建议你使用绝对地址,这样避免一些不必要的问题。需要说明的一点是这里的地址要用斜杠'/'而不是Windows文件系统习惯的反斜杠'\',在地址的最后不要加斜杠。


然后重新启 Apache 服务器,PHP就安装好了(如果这步有问题看看本文结尾的解决办法,其他Apache设置网上很多自己找[em16])

四、虚拟主机配置:(需要的才看)

对httpd.conf进行设置:
1.注释以下三行:

#ServerAdmin
#ServerName
#DocumentRoot


2.指定要访问站点的主目录(主目录下面放的是我们建立虚拟站点的子目录,我们的站点目录都放在以下,c:/wwwroot 这一步很重要)
  具体设置:

179 <Directory "c:/wwwroot">
    180     #
    181     # Possible values for the Options directive are "None", "All",
    182     # or any combination of:
    183     #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    184     #
    185     # Note that "MultiViews" must be named *explicitly* --- "Options All"
    186     # doesn't give it to you.
    187     #
    188     # The Options directive is both complicated and important.  Please see
    189     # http://httpd.apache.org/docs/2.2/mod/core.html#options
    190     # for more information.
    191     #
    192     #  Options Indexes FollowSymLinks
    193  
    194     #
    195     # AllowOverride controls what directives may be placed in .htaccess files.
    196     # It can be "All", "None", or any combination of the keywords:
    197     #   Options FileInfo AuthConfig Limit
    198     #
    199      AllowOverride None
    200  
    201     #
    202     # Controls who can get stuff from this server.
    203     #
    204      Order allow,deny
    205      Allow from all
    206  
    207 </Directory>
    208


3.开启虚拟主机配置文件
440 #Virtual hosts
441 #Include conf/extra/httpd-vhosts.conf (查找这行,把前面的#去掉)


4.打开 /conf/extra/httpd-vhosts.conf
参照我的配置 对example修改


  1. #
  2. # Use name-based virtual hosting.
  3. #
  4. NameVirtualHost 127.0.0.1:80
  5. #当初这行写成了NameVirtualHost *:80 害我花了几小时肯E文,气死了[em10]

  6. <VirtualHost yourdomain.net:80>
  7. <Directory "E:/sites_php/Discuz!">
  8.         DirectoryIndex index.php
  9. </Directory>
  10.     ServerAdmin webmaster@yourdomain.net
  11.     DocumentRoot  E:/sites_php/Discuz!
  12.     ServerName yourdomain.net
  13.     ServerAlias yourdomain.net
  14.     ErrorLog logs/dummy-host.yourdomain.net-error_log
  15.     CustomLog logs/dummy-host.yourdomain.net-access_log common
  16. </VirtualHost>

  17. <VirtualHost yourdomain.com:80>
  18. <Directory "E:/sites_php/wwwroot">
  19.         DirectoryIndex index.htm index.html index.php
  20. </Directory>
  21.     ServerAdmin webmaster@yourdomain.com
  22.     DocumentRoot E:/sites_php/wwwroot
  23.     ServerName yourdomain.com
  24.     ServerAlias gg
  25.     ErrorLog logs/dummy-host2.yourdomain.com-error_log
  26.     CustomLog logs/dummy-host2.yourdomain.com-access_log common
  27. </VirtualHost>

复制代码


好了测试一下吧。

可能出现的问题[em17]

配完PHP后重启不了Apache,说:"The requested operation has failed!",根据以下资料处理

If you use Apache 2.2.x, the included DLLs (php4apache2.dll and php5apache2.dll) will not work for you as they are specific to the Apache 2.0.x API. There is an open bug report to address this issue but if you can't wait then go to the following URL and download an appropriate DLL for Apache 2.2.x:

* http://apachelounge.com/

The PHP Group does not endorse this site but it appears useful, so use it :-)


# Mail: info@apachelounge.com
# Home: http://www.apachelounge.com/
#
#
# Runs only with PHP 5.1.x with Apache 2.2 !!

# Install:

- Copy php5apache2.dll to your php folder (eg. c:/php)

- Copy httpd.exe.manifest to apache2/bin

- Finally install the Visual C++ 2005 Redistributable Package (the binary is build with VC 2005).  


  Download it from:

  http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en(中文地址是:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE)

  When you have already installed the .NET framework 2 you can skip this step.


# Add to your httpd.conf

LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "C:/php"

Note: Remember to substitute the c:/php for your actual path to PHP in the above examples.


Enjoy,

Steffen


要这上包 baidu一下 “httpd.exe.manifest” 应该很好找的。太累了[em33]。。休息。
纳米 发表于 2006-7-29 21:17:34 | 显示全部楼层
怎么都用这个包
用新版本的php开发那里的php5apache2_2.dll
就行了
回复

使用道具 举报

 楼主| 螵蛸 发表于 2006-7-31 01:18:18 | 显示全部楼层
原帖由 纳米 于 2006-7-29 21:17 发表
怎么都用这个包
用新版本的php开发那里的php5apache2_2.dll
就行了


LoadModule php5_module "c:/php/php5apache2.dll"
现在可以用php5apache2_2.dll了

[ 本帖最后由 螵蛸 于 2008-7-12 20:36 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-8 21:04 , Processed in 0.022460 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表