分类: LINUX
2006-09-14 10:44:35
Servertype
本选项决定Apache的执行方式。Apache既可以作为独立应用程序运行,也可以在透过适当的端口(通常为80端口)的HTTP请求到来时,被inetd调用。其中当inetd 运行时,将消耗少得多的资源,因为对于每一次请求都需要启动Apache,这将降低web服务器的总体性能。独立工作模式的设置更好些。
Port
该参数仅用于在独立模式下工作的服务器。通常为port 80。
HostnameLookups
该设置决定web服务器是否为每一个访问的IP地址,解析主机名。如果设置为on,访问日记中将存储主机名,而非IP地址。缺点是影响速度。因为打开该功能,将对每次请求都进行名称查询。如果服务的请求数量多,会严重降低服务器的性能。Apache在缺省情况下,把该参数设置为off,并提供了一个工具(logresolve),以便过后解析主机名。
User
服务器进程用户,通常设为“nobody”。
Group
运行服务器的组名,通常设为“nobody”。
ServerAdmin
服务器管理员的email地址。这会出现在出错页面上。
ServerRoot
指定配置文件和服务器日记文件的存储位置。除非你有特别原因,需要改变设置,一般与Apache所在目录相同。
ErrorLog
该参数告诉Apache出错日记文件的存储位置。可以设置记录内容, 一般将记录如下重要信息:启动时间,停止时间,用户遇到的任何错误 (例如404错误等等)。
LogLevel
决定让你的日记文件填满的时间。选项“Warn”在大多数场合足够了,除非你打算仔细诊断遇到的问题。
LogFormat
该功能指定服务器上日记文件的格式。你可以创建包含额外信息(如referrers)的特定格式。下面为一个常见组合格式的日记格式例子。
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
CustomLog
该命令同LogFormat alias 同时使用。
Timeout
建立连接所允许的时间,以秒记。
KeepAlive
打开该选项,可以进行持久连接。这表示单个的连接可以用于不止一个请求。这当然是好事,因为减少了建立连接所需的总体时间,尤其在一个单个的web文档可能需要5或者6个请求(如图像)。
MaxKeepAliveRequests
每个持久连接的最大请求数量。该数字应该设置高些(至少100)。
KeepAliveTimeout
该选项用来告诉服务器在下次请求到来时的等待时间。 缺省为15秒,可以根据同客户的连接情况,加长或者缩短该等待时间。同客户连接较慢时,需要更多的等待时间。记住,该数值设置太高,可能会导致服务器进程空等永不会到来的连接。
MinSpareServers
等待随时出现的请求的服务器进程数的最小值。改变该参数将可能在加载进程时,提高服务器的性能。缺省值为5。
MaxSpareServers
这个数值告诉Apache,多余的进程数达到多少时为过多。通过确保不会产生过多进程,这将帮助保护系统资源。
StartServers
初始启动时服务器的进程数。通常与MinSpareServers 的设置值相同。
MaxClients
随时可以连接的最大客户数。因为Apache服务器的客户同进程数相关,在极端情况下,可能会出现占用资源非常集中的现象,此时该设置值将保护你的服务器不发生崩溃。但也别把该值设置过低,因为一旦这样做,用户在高峰期可能会连不上去。
MaxRequestsPerChild
任何单个进程所能处理的最大请求数。为避免内存溢出,而强迫终止超出该设定值的请求。缺省值为30。
Listen
把Apache同指定的的端口或者地址绑定。可指定多个监听选项值,此时单个的服务器可以用作几个不同的网站。
and
该选项允许Apache为多个地址服务,例如多个域名。该项同Listen一起使用。同时,任何httpd.conf 选项也可以放到一个VirtualHost命令中。这意味着你可以为每个虚拟服务器指定不同的ServerAdmins, logfiles等等。下面为一个例子:
ServerAdmin brian@mysite.com
DocumentRoot /usr/docs/mysite
ServerName
ErrorLog /var/log/web/mysite.log
TransferLog /var/log/webmysite-access.log
access.conf包含了Apache中了大部分同安全和用户访问相关的设置。在该文件中,目录索引, SSI include命令等等,可以按照目录逐一配置。下面为重要的配置选项:
and (Also and )
这是access.conf文件中主要的选项。当构建access.conf文件时,在启动时,参数应该先设置为限制范围最严格的值,然后对服务器上不同的文档逐渐放宽限制。
Options
使用该项参数,可对每个目录控制打开或者关闭某项功能。通常不设定为All,你可以随意指定选项的多少,因为Includes 和 ExecCGI 有时可能带有安全隐患。除了不允许包含执行CGI程序的#include exec 语句之外, IncludesNOEXEC 同Includes 的作用一样(在文档中允许使用<--#include --> 语句)。
AllowOverride
该选项定义了使用.htaccess文件可以得到的控制水平。这些文件可以放到内容目录中,以便替换指定目录中的缺省设置(在access.conf文件中)。在一些场合中,这非常方便,因为在重新配置指定目录时,无需访问根目录,但使用这样的文件时,会轻微影响性能,因为web服务器在访问决定该目录功能的选项时,必须读入该文件。access.conf在这些文件中可以控制使用哪一个参数,除此之外,.htaccess 文件同初始的ccess.conf 文件一样用。
Order
同Allow From 和Deny From (在下面介绍)一起使用。指定访问验证的次序。例如它可在deny 之前指定allow ,然后除在应被禁止的场合值之外,允许进行访问。如果先指定deny ,缺省情况下,访问该目录将被拒绝。
Allow From and Deny From
决定谁应该访问该命令所指定的该目录。None 和 All 的用途相当直截了当,也可以基于用户域名允许或者拒绝访问(简单地指定域名作为参数即可)。
为了更好阐述这些选项,以及它们是如何在access.conf文件中配合使用的,下面为一个简单的例子:
Options FollowSymLinks
AllowOverride None
Options IncludesNOEXEC FollowSymlinks
AllowOverride None
Order allow,deny
Allow From All
AllowOverride None
deny from allsrm.conf 文件决定服务器如何处理诸如索引格式,内容类型定义等等更多方面的请求。
DocumentRoot ""
存放所有在线内容的根目录。
UserDir
用户存放其HTML文档的home目录。如果带有 ~username 参数,服务器将寻找在该用户的home目录中查找该目录。
DirectoryIndex
当在URL中没有指定文件时,所请求的特定目录中的缺省文件名。通常为index.html。
FancyIndexing
决定目录索引的显示风格 (当DirectoryIndex 不存在)。如果你已经关闭索引,该参数就不起作用。
HeaderName
指定目录中包含在index顶部的头文件名称,如果找到的话。
ReadmeName
readme文件的名称,如果找到的话,将标记为一个索引。
AccessFileName
每个目录中要被查找的访问控制文件名称,缺省名为.htaccess
ScriptAlias ""
在脚本的URL中使用的特定目录的别名。
ScriptAlias /cgi-bin/ "/usr/local/mysite/scripts/"
AddType
该参数允许你配置web服务器能够识别的某种类型的文件,并带有文件扩展名,例如:
AddType application/x-httpd-php .php
AddHandler
通过文件扩展名,允许把文件同特定的“handlers“,或者server-side 帮助应用程序联系起来。例如,通过使用AddHandler ,可以允许使用CGI脚本和服务器端动态生成的HTML。请看下例:
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
TAG:System(FreeBSD)
转自:slack.cn
简介apache可以通过.htaccess文件来对某个目录进行认证保护。我们下面来在slackware 10.1下次进行配置,达到保护这个目录的访问。
实现步骤
1、修改/etc/apache/httpd.conf文件找到位于
AllowOverride None修改为
AllowOverride AuthConfig
2、生成密码文件用htpasswd在/etc/apache目录下生成一个passwords密码文件并创建一个test用户
htpasswd -c /etc/apache/passwords test按照提示输入两遍密码然后修改密码文件的权限
chown root.nobody /etc/apache/passwords chmod 640 /etc/apache/passwords 3、在/var/www/htdocs/ftp目录下生成一个。htaccess文件,内容如下
AuthType Basic AuthName “By Invitation Only”
AuthUserFile /etc/apache/passwords Require valid-user
4、重启apache
/etc/rc.d/rc.httpd restart现在你再次访问的时候,就会提示你输入用户名和密码了。
注意:用htpasswd生成密码文件的时候,只要第一次用-c这个参数以后添加用户,不要使用-c这个参数