Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2518815
  • 博文数量: 867
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9800
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-27 14:44
文章分类

全部博文(867)

文章存档

2007年(6)

2006年(861)

我的朋友

分类: LINUX

2006-09-14 10:44:35

TAG:System(FreeBSD)
  该文件保存了Apache自身的一些最重要的配置信息。也是在调整性能时的首要去处。我将介绍一下主要的配置选项,

  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这个参数

 


 

阅读(3466) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~