mrbear 发表于 2016-12-29 08:28:11

apache基础

说明本文章出至:
http://dodomail.iyunv.com/blog/136673

安装 Apache 2.0.59

双击 apache_2.0.59-win32-x86-no_ssl.msi 文件开始安装。安装过程很简单,一路Next即可。途中要求输入服务器的域名、服务器名及管理员信箱,输入相应的正确信息。如果仅仅是安装在本地用于测试,则可按照下图所示输入。
apache2_install.png

安装成功之后打开浏览器,在地址栏中输入 http://localhost/。如果你能看到 Apache 的欢迎页面以及 Apache 的红羽毛的图标,则说明安装成功。否则请参考下面的说明查找失败原因。
安装后的说明

默认安装路径为 C:\Program Files\Apache Group\Apache2。安装程序会建立一个名为 Apache2 的系统服务并自动启动它,可以通过右键单击我的电脑->管理->服务确认其存在,如下图。
apache2_service.png

另外,安装结束后系统托盘中会多出一个 Apache 的控制图标(如下图),可以通过它来控制 Apache 的启动与停止。如果你想通过系统服务来控制 Apache 的话,可以从开始菜单->程序->启动中删除Monitor Apache Servers 项,下次启动计算机时就不会启动该图标。
apache2_monitor_trayicon.png

Apache的安装目录结构如下图:
apache2_tree.png

其中各个目录的含义如下。

    * 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"

然后找到这样的内容(各行之间可能夹杂着注释):


    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

这一段是定义网站主目录的权限。我们应当修改主目录的位置。另外,Indexes 权限表示当某个目录下不存在 index.html 文件时,显示该目录的文件列表。实际应用中这会造成安全漏洞,应当将其删除。修改之后的内容如下:


    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

然后找到这一行:

ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache2/cgi-bin/"

将其修改为:

ScriptAlias /cgi-bin/ "D:/wwwroot/cgi-bin/"

再找到这样的内容:


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

将其修改为:


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

这样配置文件修改完毕。在系统服务中选择 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安装成功。
页: [1]
查看完整版本: apache基础