1.下载服务文件(我下载的文件版本httpd-2.2.25-win32-x86-no_ssl.msi),官方网站上只有linux版和win32,不过win64依然可以使用win32的版本;

2.安装的时候如果选择"for all users",那么Apache将会被安装为服务。如果选择了"only for the Current User",可以在安装后手动将Apache注册为服务。注意,必须是Administrators组的成员才能成功注册服务。

注册服务后使用Apache Service Monitor工具,可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。

1.手动创建服务步骤(官方地址:http://httpd.apache.org/docs/2.4/platform/windows.html#winsvc):

可以在Apache安装目录的bin子目录下,使用如下命令将Apache安装为Windows NT服务:
httpd -k install
如果想指定服务的名称,可以使用下面的命令。当你在同一机器上安装多个Apache服务时,你必须为它们指定不同的名字。
httpd -k install -n "服务名"
如果你想为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:
httpd -k install -n "服务名" -f "c:\files\my.conf"
如果你使用的是第一个命令,也就是除 -k install 外没有其它命令行参数,那么被安装的服务名称将是:Apache2.2 ,配置文件将使用conf\httpd.conf 。
要移除一个Apache服务很简单:
httpd -k uninstall
或者使用下述命令移除特定名称的Apache服务:
httpd -k uninstall -n "服务名"
通常,启动、重启、关闭Apache服务的方法是使用Apache Service Monitor工具,另外也可以使用控制台命令:NET START Apache2.2 和 NET STOP Apache2.2 或者通过Windows服务控制面板。在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:
httpd -n "服务名" -t
你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务,可以使用:
httpd -k start
要停止一个已经安装的Apache服务,可以使用:
httpd -k stop
或
httpd -k shutdown
要重启一个运行中的Apache服务,强制它重新读取配置文件,可以使用:
httpd -k restart
默认情况下,Apache服务将被注册为以本地系统用户(LocalSystem帐号)身份运行。LocalSystem帐号没有网络权限,不能通过任何 Windows安全机制访问网络,包括文件系统、命名管道、DCOM或secure RPC ,但是它对于本地资源却拥有广泛的特权。

以下修改都在httpd.conf里面修改(D:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf)

2.自定义服务端口步骤:

Apache服务器的核心配置文件是httpd.conf,定位到Listen 80一行,修改Listen的值,实现Apache服务器端口号的更改。切记修改后应保存,并重新启动Apache服务器。


3.更改Apache的默认网站根目录

找到 DocumentRoot “D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs” 将“D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”改为你自定义的网站目录;

找到 <Directory “D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”> 将“D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”改为你自定义的网站目录。


4.Apache的访问控制(在<Directory “D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs”>处,默认允许所有访问者)

4.1 Apache实现访问控制的配置指令包括如下三种:

(1)order指令:用于指定执行允许访问控制规则或者拒绝访问控制规则的顺序。order只能设置为Order allow,deny或Order deny,allow,分别用来表明用户先设置允许的访问地址还是先设置禁止访问的地址。Order选项用于定义缺省的访问权限与Allow和Deny语句的处理顺序。Allow和Deny语句可以针对客户机的域名或IP地址进行设置,以决定哪些客户机能够访问服务器。Order语句设置的两种值的具体含义如下:

(2)allow指令:指明允许访问的地址或地址序列。如allow from all指令表明允许所有IP来的访问请求。

(3)deny指令:指明禁止访问的地址或地址序列。如deny from all指令表明禁止所有IP来的访问请求。


4.2 应用实例

下面举几个简单的例子对上述order、allow和deny命令的使用进行示范。

(1)在下面的例子中,admin.org域中所有主机都允许访问网站,而其他非该域中的任何主机访问都被拒绝,因为Deny在前,Allow在后,Allow语句覆盖了Deny语句:

Order Deny,Allow Deny from all Allow from admin.org

(2)下面例子中,admin.org域中所有主机,除了db.admin.org子域包含的主机被拒绝访问以外,都允许访问。而所有不在admin.org域中的主机都不允许访问,因为缺省状态是拒绝对服务器的访问(Allow在前,Deny在后,Deny语句覆盖了Allow语句):

Order Allow,Deny Allow from admin.org Deny from db.admin.org