Apache HTTP Server是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

 

一、下载

下载地址:http://www.apachehaus.com/cgi-bin/download.plx

 

二、配置

2.1 下载下来的zip后缀的程序包,解压出来,然后自定义名称放在相应的位置上,我是在服务器的D盘根目录下,命名为:Apache,即D:\Apache\ ,该目录下包含bin、conf、htdocs、lib等目录及文件;

 

2.2 配置环境变量,在系统变量path的末尾加入:;D:\Apache22\bin (注意是追加,不是覆盖)

 

2.3 配置httpd.conf

编辑根程序目录下conf/httpd.conf的文件里面的内容:

Define SRVROOT "d:\Apache24"

修改为

Define ServerRoot "d:\Apache"

 

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

注:我只简单的更改其中的两处,生产环境下,需要根据实际情况,进行相应的调整配置文件;

 

三、安装

以管理员身份运行开始-运行-输入cmd,进入DOS窗口后,首先切换到Apache的程序目录:

C:\Users\Administrator>d:

D:\>cd Apache\bin

D:\Apache\bin>httpd -k install

 

D:\Apache22\bin>httpd -k start

 

Other Command line options:

Stop Apache   httpd -k stop
Restart Apache httpd -k restart
Uninstall Apache Service httpd -k uninstall
Test Config Syntax httpd -t
Version Details httpd -V
Command Line Options List httpd -h

 

四、验证

打开浏览器,在地址栏输入:http://localhost/ ,如果能正常打开网站信息,即说明已成功部署了。


主要想告诉大家配置站点在www目录和非www目录的区别。


       第一步:打开配置文件httpd-vhosts.conf【我的路径是D:\apache\conf\extra\httpd-vhosts.conf】,复制文件中最后一个代码段:

                      


  1. <VirtualHost *:80>  

  2.     ServerAdmin webmaster@dummy-host2.example.com  

  3.     DocumentRoot "c:/Apache23/docs/dummy-host2.example.com"  

  4.     ServerName dummy-host2.example.com  

  5.     ErrorLog "logs/dummy-host2.example.com-error.log"  

  6.     CustomLog "logs/dummy-host2.example.com-access.log" common  

  7. </VirtualHost>  


     粘贴到文件末尾,修改跟目录和虚拟主机域名:




  1. <VirtualHost *:80>  

  2.     ServerAdmin webmaster@dummy-host2.example.com  

  3.     DocumentRoot "E:\workspace\flyox_xt"  

  4.     ServerName charming.f-ox.com.cn  

  5.     ErrorLog "logs/dummy-host2.example.com-error.log"  

  6.     CustomLog "logs/dummy-host2.example.com-access.log" common  

  7. </VirtualHost>  


    PS  :     把这一段直接粘贴在httpd.conf文件末尾也是可以的,但是建议大家不要这么做,显的很凌乱。


    第二步:打开配置文件httpd.conf,这个相信大家都很熟悉,在文件末尾添加如下代码,引入第一步的文件



  1. Include "D:\program\wamp\bin\apache\Apache2.3.14\conf\extra\httpd-vhosts.conf"  


  第三步:在httpd.conf文件中Ctrl+F,输入搜索内容DocumentRoot找到下面的代码




  1. <Directory "D:/program/wamp/www/">  

  2.     Options Indexes FollowSymLinks ExecCGI  

  3.     Order allow,deny  

  4.     Allow from all  

  5.     AllowOverride All  

  6. </Directory>  


复制粘贴在这段代码下面【其实放在这个文件的那个位置都行,有人说放在末尾,我建议大家就放到这个下面】,把路径改为自己的路径。




  1. <Directory "E:/workspace/flyox_xt/">  

  2.     Options Indexes FollowSymLinks ExecCGI  

  3.     Order allow,deny  

  4.     Allow from all  

  5.     AllowOverride All  

  6. </Directory>  




注:这一步主要是针对没有配置站点在www目录下的,如果源码放在www目录下就不需要这步。

PS:这段代码的作用就是把源码文件在httpd文件中写明权限。


第四步:重启apache。


NameVirtualHost *:80

#<VirtualHost *:80>  

#  ServerName *


#  DocumentRoot d:/www/1/ 


#<\VirtualHost>


<VirtualHost *:80>

    DocumentRoot D:/www/2/

    ServerName localhost

</VirtualHost>

<VirtualHost *:80>

    DocumentRoot D:/www/4/

    ServerName www.west4.com

  <Directory "D:/www/4/">

      Options Indexes FollowSymLinks

    AllowOverride All

    Order allow,deny

    Allow from all

  </Directory>

</VirtualHost>



参数选项:

-d serverroot
将ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。其默认值是/usr/local/apache2 。

-f config
在启动中使用config作为配置文件。如果config不以"/"开头,则它是相对于ServerRoot的路径。其默认值是conf/httpd.conf 。

-k start|restart|graceful|stop|graceful-stop
发送信号使httpd启动、重新启动或停止 。

-C directive
在读取配置文件之前,先处理directive的配置指令。

-c directive
在读取配置文件之后,再处理directive的配置指令。

-D parameter
设置参数parameter ,它配合配置文件中的<IfDefine>段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。

-e level
在服务器启动时,设置LogLevel为level 。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。

-E file
将服务器启动过程中的出错信息发送到文件file 。

-R directory
当在服务器编译中使用了SHARED_CORE规则时,它指定共享目标文件的目录为directory 。

-h
输出一个可用的命令行选项的简要说明。

-l
输出一个静态编译在服务器中的模块的列表。它不会列出使用LoadModule指令动态加载的模块。

-L
输出一个指令的列表,并包含了各指令的有效参数和使用区域。

-M
输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。

-S
显示从配置文件中读取并解析的设置结果(目前仅显示虚拟主机的设置)

-T
在启动/重启的时候跳过根文件检查 (该参数在Apache 2.2.17及其以后版本有效)

-t
仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果还指定了"-D DUMP_VHOSTS",则会显示虚拟主机配置的详细信息。

-v
显示httpd的版本,然后退出。

-V
显示httpd和APR/APR-Util的版本和编译参数,然后退出。

-X
以调试模式运行httpd 。仅启动一个工作进程,并且服务器不与控制台脱离。

下列参数仅用于Windows平台:
-k install|config|uninstall
安装Apache为一个Windows NT的服务;改变Apache服务的启动方式;删除Apache服务。

-n name
指定Apache服务的名称为name

-w
保持打开控制台窗口,使得可以阅读出错信息。