2006-08-31 02:09
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2006/08/31/apache-install-note/以及本声明。
<script type="text/javascript"><!---->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script><iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-3705997236397030&amp;dt=1193713779765&amp;lmt=1193713779&amp;format=120x240_as&amp;output=html&amp;correlator=1193713779171&amp;channel=2688845813&amp;url=http%3A%2F%2Ftech.idv2.com%2F2006%2F08%2F31%2Fapache-install-note%2F%23content_1_0&amp;color_bg=FFFFFF&amp;color_text=000000&amp;color_link=FE8000&amp;color_url=FEA040&amp;color_border=FFFFFF&amp;ad_type=text&amp;ref=http%3A%2F%2Ftech.idv2.com%2F2006%2F04%2F06%2Fwindows-apache-subversion-installation-note%2F&amp;cc=100&amp;ga_vid=656168260.1193709170&amp;ga_sid=1193713780&amp;ga_hid=525961200&amp;ga_fc=true&amp;flash=9&amp;u_h=768&amp;u_w=1024&amp;u_ah=738&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_his=3&amp;u_java=true" frameborder="0" width="120" scrolling="no" height="240" allowtransparency="allowtransparency"></iframe>
本文介绍了在Windows下安装Apache、PHP、mod_perl、mod_python、subversion的方法。 <!---->
所需安装文件
另外,为了在安装失败时查找原因,最好事先准备好 Dependency Walker 这个工具。该工具可以查看程序运行所必需的 .dll 文件。如果你已经安装了 Microsoft Visual C++ 6.0,那么其中已经包含了该工具,就不必再重新下载了。
安装 Apache 2.0.59
双击 apache_2.0.59-win32-x86-no_ssl.msi 文件开始安装。安装过程很简单,一路Next即可。途中要求输入服务器的域名、服务器名及管理员信箱,输入相应的正确信息。如果仅仅是安装在本地用于测试,则可按照下图所示输入。
安装成功之后打开浏览器,在地址栏中输入 http://localhost/。如果你能看到 Apache 的欢迎页面以及 Apache 的红羽毛的图标,则说明安装成功。否则请参考下面的说明查找失败原因。
安装后的说明
默认安装路径为 C:\Program Files\Apache Group\Apache2。安装程序会建立一个名为 Apache2 的系统服务并自动启动它,可以通过右键单击我的电脑->管理->服务确认其存在,如下图。
另外,安装结束后系统托盘中会多出一个 Apache 的控制图标(如下图),可以通过它来控制 Apache 的启动与停止。如果你想通过系统服务来控制 Apache 的话,可以从开始菜单->程序->启动中删除Monitor Apache Servers 项,下次启动计算机时就不会启动该图标。
Apache的安装目录结构如下图:
其中各个目录的含义如下。
- bin - Apache的程序文件和库文件(.dll)。
- cgi-bin - 网站的脚本的保存位置。
- conf - 配置文件。
- error - 各种错误页面。
- htdocs - 网站的内容。
- icons - Apache生成文件列表时使用的各种图标。
- include - 程序开发时使用的头文件。
- lib - 程序开发时使用的静态库文件。
- logs - 服务器访问日志和错误日志。
- manual - 使用手册。
- modules - 扩展模块,其下有许多扩展名为 .so 的文件,实质上都是Windows .dll文件。
- proxy - 使用Apache作代理时的缓存目录。
修改默认配置
默认情况下网站内容位于 Apache2/htdocs 下,而实际应用中很少讲网站内容和服务器程序放在一起。因此我们要做的第一步就是修改网站内容的位置。
我们假设网站的静态内容位于 D:\wwwroot\htdocs 下,而脚本程序位于 D:\wwwroot\cgi-bin 下。那么首先要建立这两个目录。
之后打开 httpd.conf 文件,找到这一行:
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
将其修改成:
DocumentRoot "D:/wwwroot/htdocs"
然后找到这样的内容(各行之间可能夹杂着注释):
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
这一段是定义网站主目录的权限。我们应当修改主目录的位置。另外,Indexes 权限表示当某个目录下不存在 index.html 文件时,显示该目录的文件列表。实际应用中这会造成安全漏洞,应当将其删除。修改之后的内容如下:
<Directory "D:/wwwroot/htdocs">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
然后找到这一行:
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/"
将其修改为:
ScriptAlias /cgi-bin/ "D:/wwwroot/cgi-bin/"
再找到这样的内容:
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
将其修改为:
<Directory "D:/wwwroot/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
这样配置文件修改完毕。在系统服务中选择 Apache2 服务单击“重新启动服务”按钮,或者在系统托盘的Apache图标中选择Restart,或者通过命令行输入以下命令来重新启动 Apache。
C:\> net stop apache2
C:\> net start apache2
如果配置文件修改无误,则应当正常重新启动。之后打开浏览器输入 http://localhost/,你应当看到一条“Forbidden”的错误信息。然后建立 D:\wwwroot\htdocs\index.html 文件,内容随意。再次用浏览器打开 http://localhost/,应当能看到建立的 index.html 文件的内容。
为了以后安装其他模块,我们应当修改系统变量 PATH 以便其他模块能够找到 Apache 的程序库。在控制面板->系统->高级->环境变量对话框中,编辑系统变量中的 Path,在其最前面添加以下内容:
C:\Program Files\Apache Group\Apache2\bin;
修改之后,继续安装下面的模块之前,建议重新启动计算机以避免不必要的错误。
常见错误及修正方法
为什么不使用最新版的 Apache 2.2.3
Apache 2.0.x 版本的 Windows 版使用 Visual C++ 6.0 编译,而 Apache 2.2.x 版本的 Windows版使用 Visual Studio .NET 编译。由于编译器不同,导致使用的程序库也不同,因此 Apache 2.0.x 和 Apache 2.2.x 不能兼容。目前,许多 Apache 的功能扩展模块仅能工作于 Apache 2.0.x 下,包括 php、subversion 等。要想使用这些功能,就必须要安装 Apache 2.0.x 版。
当然,这仅限于 Windows 版。其他操作系统上的 Apache 不受此限。
安装 php 5.1.6
php的安装相对较简单。为了管理方便,我们将 php 与 Apache 放在一起。
首先将 php-5.1.6-Win32.zip 解压到 C:\Program Files\Apache Group\Apache2\php5 目录下。
php5中的 Apache2 模块为 php5apache2.dll(注意不是 php5apache.dll,那个是 Apache 1.3.x 的模块)。修改 Apache2/conf 目录下的 httpd.conf 以加载 php5 模块。查找 LoadModule,然后在其附近添加以下内容以加载php5模块,并设置 php.ini 的位置。
LoadModule php5_module php5/php5apache2.dll
PHPIniDir php5
然后查找AddType,在其附近添加以下内容,以增加 php 的类型。
AddType application/x-httpd-php .php
再查找DirectoryIndex命令,将其修改为以下内容,增加目录的默认文档 index.php。
DirectoryIndex index.html index.html.var index.htm index.php
然后进入 php5 目录,复制 php.ini-dist 文件为 php.ini。然后修改 php.ini,查找 extension_dir,该变量指定了 php 功能模块的位置。将其修改为以下的内容。
extension_dir = "./php5/ext"
注意,这个路径是从 Apache2 下开始算起,而不是从 Apache2/php5 下开始。
查找 session.save_path,这个变量指定session的保存位置。将其前面的分号去掉,然后修改该行为以下内容:
session.save_path = "C:\Program Files\Apache Group\Apache2\tmp"
然后在 Apache2 目录下建立 tmp 目录,作为session的保存目录。
最后重新启动 Apache 服务器(方法参考 Apache 安装一节)。为测试 php 是否安装成功,在文档目录 D:\wwwroot\htdocs 下建立 phpinfo.php 文件,内容如下:
<?php
phpinfo();
?>
然后打开浏览器,访问 http://localhost/phpinfo.php 。如果能看到 php 的信息页,即表明php安装成功。
PHP各个目录的作用
- dev - 开发用 php 静态库。
- ext - php扩展模块。
- extras - 相关文件。
- PEAR - 访问php模块网站 PEAR 的必要文件。
另外,php目录下的部分文件功能如下。
- php.exe - php的命令行解释程序,也可用作 CGI 解释器。
- php5apache2.dll - Apache 2.0的PHP模块。
- php5apache.dll - Apache 1.3的PHP模块。
- php5isapi.dll - Microsoft IIS的PHP模块。
- php5nsapi.dll - Netscape Server的PHP模块。
- php5ts.dll - PHP及其扩展模所需的库文件。
添加 mysql 支持
php4之前的版本自带mysql,而在php5中,mysql不再默认支持。为了使php5支持mysql,我们需要稍稍修改一下设置。
打开 php5/php.ini 文件,查找下面这一行,并将其前面的注释符号分号 ; 去掉。
extension=php_mysql.dll
但是这样还不能使用mysql功能,因为 php_mysql.dll 需要 php5 目录下的 php5ts.dll 和 libmysql.dll (可以使用 Dependency Walker 打开 php_mysql.dll 查看),但是这两个 DLL 文件既不与 php_mysql.dll 位于同一目录下,也没有和可执行文件Apache.exe 位于同一目录下,因此 php_mysql.dll 找不到这两个DLL,不能启动。解决方法就是将 php5ts.dll 和 libmysql.dll 复制到 Apache2/bin 下,然后重新启动 Apache2。
使用浏览器打开前面的 phpinfo.php 页面,可以看到页面输出的中部有 mysql 模块的配置,说明 mysql 模块已经正常安装。
安装 ActivePerl 5.8.8
ActivePerl是Perl的一个Win32移植版。安装方法很简单,运行 ActivePerl-5.8.8.817-MSWin32-x86-257965.msi ,即出现安装界面,一路 Next 即可。默认情况下安装到 C:\Perl 下。注意在选择功能时务必选择 PPM 3.0,该程序能够很方便地安装各种Perl模块。
下一步需要在系统环境变量中增加 Perl 所在的位置。如果你在安装Perl时选择了 Add Perl to the PATH enviroment variable,则可以省略这一步。否则打开控制面板->系统->高级->环境变量,修改系统变量中的 Path,在其最前面增加以下内容:
C:\Perl\bin;
修改环境变量后,在安装 mod_perl 之前,最好能重新启动计算机。
安装 mod_perl 2.0.2
mod_perl是Apache的Perl扩展模块。它模拟了一个Perl的CGI执行环境,以便在Apache中执行Perl脚本。但是mod_perl要比真正的Perl CGI的性能高上百倍。
Apache 2.0.x 系列对应的 mod_perl 第二版,mod_perl目前最新版本是 2.0.2。可以使用Perl包管理工具 ppm 进行安装。
首先启动命令行提示符(开始->运行->输入cmd,OK),然后输入 ppm,即可启动 ppm。如果启动失败,看看是否在安装 ActivePerl 的时候忘记添加 Path 环境变量了。下面以 ppm> 开头的行为输入的命令,其他行为输出结果。 # 符号后面为注释。
# 添加repository。repository为存放Perl模块的网站。
ppm> repos add "uwinnipeg Perl 5.8 repository" http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58
Repositories:
[1] ActiveState Package Repository
[2] uwinnipeg Perl 5.8 repository
# 搜索 mod_perl 模块
ppm> search mod_perl
Searching in Active Repositories
1. Apache-mod_perl_guide [1.31] Apache-mod_perl_guide
2. mod_perl [2.0.2] Embed a Perl interpreter in the Apache/2.0 HTTP server
3. mod_perl-1 [1.29_01-dev] Embed a Perl interpreter in the Apache/1.3.27 HTTP server
4. mod_perl-2.2 [2.0.3-dev] Embed a Perl interpreter in the Apache/2.2 HTTP server
5. mod_perl-eapi-1 [1.29_01-dev] Embed a Perl interpreter in the Apache/1.3.27 HTTP server (with EAPI support)
# 搜索结果中第2项为我们要安装的 mod_perl 2.0.2,使用install命令进行安装
ppm> install 2
Package 2:
====================
Install 'mod_perl' version 2.0.2 in ActivePerl 5.8.8.817.
====================
Downloaded 948125 bytes.
......
# 安装途中会询问 Apache 的模块安装位置,输入 C:\Program Files\Apache Group\Apache2\modules
Fetching http://theoryx5.uwinnipeg.ca/ppms/x86/mod_perl.so ... done!
Where should mod_perl.so be placed? [D:/Apache2/modules] C:\Program Files\Apache Group\Apache2\modules # 输入路径
......
Successfully installed mod_perl version 2.0.2 in ActivePerl 5.8.8.817.
# 退出 ppm
ppm> exit
安装完毕之后,我们可以在 Apache2/modules 目录下发现刚刚安装的 mod_perl.so 文件。下面我们要将此文件加载到 Apache 中。
打开 Apache2/conf 目录下的 httpd.conf文件,查找 LoadModule,在其附近添加以下内容:
#LoadFile "C:/Perl/bin/perl58.dll" # 如果你没有在环境变量path中添加 C:\Perl\bin 则需要这一行
LoadModule perl_module modules/mod_perl.so
# 添加mod_perl配置内容,并利用其处理 cgi-bin 下的脚本文件
<Directory "D:/wwwroot/cgi-bin">
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
修改完成之后重新启动 Apache,mod_perl 即安装成功。你可以在系统服务中看到 Apache2 服务的描述中多了 mod_perl/2.0.2 Perl/v5.8.8 的字样。
测试CGI脚本的执行
上面我们已经设置 cgi-bin 目录下的所有程序都使用 mod_perl 进行处理。这里我们执行一个脚本以确认其是否正常。
在 D:/wwwroot/cgi-bin 目录下建立 hello.cgi 文件,内容如下。 (实际上,该文件可以是任意扩展名,我们在Apache配置中用 Directory 指令指定 cgi-bin 目录,因此 cgi-bin 下所有的文件都将被 mod_perl 处理。)
# hello.cgi
print "Contennt-Type: text/html\n\n";
print "Hello, world! This is a CGI.";
保存之后在浏览器中输入 http://localhost/cgi-bin/hello.cgi ,如能得到下面的结果则说明 mod_perl 工作正常。
Hello, world! This is a CGI.
如果显示 Internal Server Error,可参考 logs/httpd-error.log 文件中的错误信息。
测试 mod_perl Apache Handler 的执行
mod_perl 的另一种执行方法就是编写 Apache Handler。Apache Handler 是一个Perl模块,在 Apache 启动时读入并常驻内存,用来处理Web请求。
在 D:/wwwroot 下建立 lib 目录,用于保存 Perl 模块。我们将建立 HelloWorld::Hello 模块,内容为显示 “Hello, world”。为建立这个模块,我们需要进行以下的工作。
- 建立模块本身
- 将模块的位置放到 @INC 变量中以便 mod_perl 能找到我们建立的模块
- 修改 httpd.conf,设置使用该模块的位置
在 lib 下建立 HelloWorld 目录,并在 HelloWorld 目录下建立 Hello.pm 文件,其内容如下。
package HelloWorld::Hello;
use strict;
use warnings;
use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::Const -compile => qw(OK);
sub handler {
my $r = shift;
$r->content_type('text/plain');
print "Hello, world! This is an Apache Handler.\n";
return Apache2::Const::OK;
}
1;
书写Perl模块时注意不要忘记最后的 1; ,如果没有的话 mod_perl 会出错。(该文件的完整路径为 D:\wwwroot\lib\HelloWorld\Hello.pm,不要弄错了。)
然后我们需要将 HelloWorld::Hello 模块的位置告诉 mod_perl。在 D:\wwwroot\lib 下建立 startup.pl 文件,内容如下:
use lib qw(D:/wwwroot/lib);
1;
然后修改 httpd.conf,加入下面的设置。
PerlRequire "D:/wwwroot/lib/startup.pl"
现在这个模块已经可以使用了。我们只需告诉 Apache 在什么情况下使用该模块。修改 httpd.conf,加入下面的设置。
<Location /hello>
SetHandler perl-script
PerlResponseHandler HelloWorld::Hello
</Location>
最后重新启动 Apache。在浏览器中打开 http://localhost/hello,应当能看到下面的文字:
Hello, world! This is an Apache Handler.
安装 python 2.3.5
双击 Python-2.3.5.exe 进行安装。默认的安装目录为 C:\Python23。
为什么不使用 python 2.4 或 python 2.5 版本
安装 mod_python
双击 mod_python-3.2.10.win32-py2.3-apache2.0.exe 进行安装。安装程序会检测 Python 和 Apache 的安装路径,并将 mod_python.so 安装至 Apache2/modules 目录下。
打开 Apache2/conf/httpd.conf,查找 LoadModule,并在其附近添加以下内容。
LoadModule python_module modules/mod_python.so
最后重新启动 Apache2。
安装 subversion
subversion是一个优秀的版本控制系统,它能够完整地记录软件开发过程中源代码的变动,并可以随时将源代码恢复到以前的任意版本。subversion的服务器可以单独使用,也可以作为 Apache 的模块,通过 WebDAV 协议使用。
在 subversion 的下载页面上,你会看到关于 Windows 版的说明,简单来讲就是 subversion 没有 Python 2.4 binding,也就是说,使用 Python 2.4 不能对 subversion 进行编程,这也是我们不使用 Python 2.4 的一个原因。
将 svn-win32-1.3.2.zip 解压到 C:\svn 下。由于 svn 的 Apache2 模块需要 C:\svn\bin 下的 intl3_svn.dll 和 libdb43.dll 文件,所以要在环境变量 Path 中增加下面的内容,并重新启动计算机。
C:\svn\bin;
将 C:\svn\bin 下的 mod_dav_svn.so 文件复制到 Apache2/modules 目录下。
打开 Apache2/conf/httpd.conf 文件,然后查找下面这一行,去掉其前面的注释符号 # 。
LoadModule dav_module modules/mod_dav.so
查找 LoadModule,并在其附近添加以下内容。
LoadModule dav_svn_module modules/mod_dav_svn.so
最后重新启动 Apache2。
分享到:
相关推荐
Apache+PHP+MySQL 在 Windows 下的安装与配置图解(最新版) 本资源摘要信息将详细介绍 Apache、PHP 和 MySQL 在 Windows 平台下的安装和配置过程。该资源提供了详细的图解和一步步的安装指南,使得用户可以轻松地...
本指南将详细讲解如何在Windows 64位操作系统上安装和配置Apache 2.4.6版本。 1. **下载Apache 64位版本** 在Windows上安装64位Apache,首先需要从官方或可靠的第三方站点下载。Apache Lounge...
以上就是Windows下基于Apache搭建SVN环境的完整配置指南,遵循这些步骤,你应该能够成功地建立一个功能完善的SVN服务器。在实际操作过程中,可能会遇到各种问题,但大多数都可以通过查阅文档或在线社区找到解决方案...
【标题】:“Windows下Apache配置Mono” 在Windows操作系统中配置Apache服务器以运行Mono是一个常见的需求,这主要适用于那些希望在Windows环境下使用ASP.NET或其他.NET框架应用程序的开发者。Apache与Mono的结合...
描述中的“IBS_for_Windows_Apache Linux”可能意味着这个压缩包还包含了在Linux环境下运行的相关信息,虽然主要关注的是Windows平台。这可能意味着提供的软件不仅适用于Windows,也可能支持跨平台操作,特别是考虑...
Apache 是一个开源的 Web 服务器软件,能够在 Windows 操作系统下安装和配置。安装 Apache 需要下载 Apache 软件包,并按照安装向导的提示进行安装。安装完成后,需要配置 Apache 服务器,使其能够正确地运行。 在...
在Windows环境下,将Apache HTTP Server和Tomcat集成是常见的服务器配置任务,以便利用Apache的静态内容处理能力以及Tomcat对动态内容(如JSP、Servlet)的支持。以下是一份详细的步骤指南,帮助你理解整合过程。 *...
Windows 下 Apache+MySQL+PHP 运行环境的安装图文方法是指在 Windows 操作系统下安装和配置 Apache、MySQL 和 PHP 软件,以便建立一个运行环境,用于开发和测试 Web 应用程序。本文将指导用户从头开始安装和配置 ...
下载后,解压到一个目录,如"C:\Apache24",然后按照安装指南进行配置。关键步骤包括修改httpd.conf配置文件,设置监听端口(通常为80),定义服务器根目录,以及确保Apache服务可以启动。 其次,MySQL是一种开源的...
Apache 配置指南 在本文中,我们将详细介绍如何在 Windows 平台下配置 Apache 服务器,并将其与 PHP 和 MySQL 集成,以实现一个完整的 Web 开发环境。在下面的内容中,我们将一步步地指导您如何安装和配置 Apache、...
1. **安装教程.txt**:这个文件提供了详细的步骤,指导用户如何在 Windows 系统上安装和配置 Apache Apollo。安装教程通常包括系统需求、下载和解压、环境变量设置、启动与停止服务等步骤。用户应仔细阅读并按照教程...
3. **Apache24** - 这可能是Apache在Windows下的安装目录名,通常包含了所有必需的配置文件、日志文件、模块和可执行文件。 在Windows上安装Apache HTTPD的流程通常包括以下步骤: 1. 下载适合你系统的Apache版本...
本手册指导的内容旨在实现Windows 2008 R2环境下,使用NLB功能搭建一个负载均衡且高可用的Apache和Tomcat集群。通过上述步骤的详细指导,能够帮助技术人员成功搭建出一个稳定、高效的集群环境。
**Subversion for Windows with Apache 服务器安装指南** 在IT行业中,版本控制系统对于团队协作和代码管理至关重要。Subversion(简称SVN)就是这样一个强大的工具,它允许开发人员追踪和控制文件及目录的变更。本...
本文将详细介绍如何在Windows环境下安装和配置SVN(Subversion)1.4.6与Apache2.2.8,为您的开发工作提供一个稳定可靠的版本控制系统。 1. 版本控制基础 版本控制是一种系统,用于追踪并管理软件项目中的文件和...
Windows 下 Python Flask+Apache+mod_wsgi+DB2...本文档提供了一个详细的指南,指导用户在 Windows 平台上部署 Python Flask 项目,使用 Apache 作为 Web 服务器,mod_wsgi 作为 WSGI 服务器,DB2 作为数据库管理系统。
在Windows环境下搭建Apache、PHP...通过这个指南,你应该能成功在Windows环境下搭建Apache、PHP和MySQL的开发环境,为你的Web开发之旅打下坚实的基础。不断实践和学习,你将逐渐掌握更多高级功能和优化技巧。祝你好运!
为了方便开发者在Windows环境下顺利部署Mantis,本指南将详细介绍Mantis及相关组件(如Apache、PHP和MySQL)在Windows系统的安装过程。 #### 二、所需软件下载 1. **Mantis**:版本1.1.2,可以从官方网站下载:...