用Apache构建WEB服务器 --以前写的,帖出来,希望有些帮助:)[5]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

from host1 host2 host3 ... 

这个命令定义了禁止访问站点或目录的主机清单,其他与allow命令相似。 


order命令 

语法:order deny,allow | allow,deny 

这个命令定义评价allow和deny命令的先后顺序。 


例如: 



 
 <Directory /home/httpd/html><br>

order deny,allow<br>

deny from www.my.com<br>

allow all<br>

</Directory>  
 

 


这组命令设置了禁止www.my.com访问/home/httpd/html目录下的文件。 


请大家注意,顺序是先deny后allow,如果是:order allow,deny 那么,先允许所有的主机访问,然后再禁止,这样是无效的,所有主机仍然能够访问。 


2. 基于用户名/口令的认证方式 

这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给WWW服务器,WWW服务器验证它的正确性,如果正确,返回页面,否则返回401错误。要说明的一点是,这种认证模式是基本的,并不能用于安全性要求极高的场合。 


Apache中有许多模块可以支持这种认证方式,下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样,mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户,它能工作得很好。如果你需要对大量的用户,如数以千计的用户做认证时,这种方法的性能将急剧下降到不可忍受,所以当这种情况下,就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。 


实例一:需要用户名和口令的访问控制 

下面我们就一起来看一下如何建立需要用户名/口令才能进行访问的目录。 

基本情况: 
www.xxx.com 

的站点有设置为: 



 
 DocumentRoot /home/httpd/html

AccessFileName .htaccess

AllowOverride All  
 

 


需求:限制/home/httpd/html/backup/目录的访问,只允许用户"super"以口令"fill-06"访问此目录。 


实现步骤: 

使用htpasswd建立用户文件 



 
 htpasswd -c /home/httpd/secr/.htpasswd 
super  
 

 


此程序会询问用户"super"的口令,你输入"fill-06",两次生效。 

建立.htaccess文件 


用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入以下几行: 



 
 AuthName My Friend Only (注:这个名字是任取的)

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

require user super  
 

 


设置文件权限,确保Apache用户有读的权限这样就完成了设置工作,你可以试一试效果了。 


实例二:允许一组用户访问一个目录 

假设,现在www.xxx.com想让myfriend组中的mf1与mf2两个用户分别能使用口令"mf001-1""mf002-2"访问/home/httpd/html/backup/目录。 


实现步骤: 

使用htpasswd建立用户文件 



 
 htpasswd -c /home/httpd/secr/.htpasswd 
mf1

htpasswd -c /home/httpd/secr/.htpasswd mf2  
 

 


建立组文件 

用vi/home/httpd/secr/目录下建立一个文件.htgroup,写入: 




 
 myfriend:mf1 mf2  
 

 


建立.htaccess文件 

用vi在/home/httpd/html/backup/目录下建立一个文件.htaccess,写入以下几行: 




 
 AuthName My Friend Only

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

AuthGroupFile /home/httpd/secr/.htgroup

require group myfriend  
 

 


配置工作到此结束,试一试吧! 

实例三:混合使用基于主机与基于用户名/口令的认证方式如果你除了只允许让mf1与mf2两个用户访问外,还想禁止除www.mot.com 


外的主机访问这个目录的话,就将/home/httpd/html/backup/.htaccess修改成为: 



 
 AuthName My Friend Only

AuthType Basic

AuthUserFile /home/httpd/secr/.htpasswd

AuthGroupFile /home/httpd/secr/.htgroup

require group myfriend

order deny,allow

deny from all

allow from www.my.com  
 

 


读Apache日志 

当你一步步地看到这里的时候,相信你的WWW站点已经建好,并且已经在Internet上展现出来了。这时你可能就会关心谁造访过你的站点,或者想知道你的Apache服务器现在的运行状态与性能如何。下面我们一起通过解读Apache的日志来实现这个伟大的愿望。 


一、盯着Apache服务器 

Apache允许通过WWW监视服务器的配置信息与运行状态。 

1.观看配置信息 


如果你的Apache象缺省配置一样加入了mod_info模块的话,你就可以通过访问http://localhost/server-info查看服务器信息。 


2.使用状态页 

如果你的Apache象缺省配置一样加入了mod_status模块的话,你就可以通过访问http://localhost/apache-status查看服务器的运行状态信息,其中包括: 






服务器系统的当前时间; 

服务器最近一次重启时间; 

服务器启动后的运行时间; 

到目前为止服务的访问总数; 

到目前为止传输的字节总数; 

服务请求的子进程数; 

空闲子进程数; 

每个进程状态、子进程服务的请求数以及该子进程传输的字节总数; 

每秒平均请求数、每秒传输的字节数、每次请求平均传输字节数; 

目前每个子进程CPU占用及Apache的总的CPU占用率; 

当前主机及处理的请求。 




二、什么是日志文件 

日志文件是Apache工作的记录,Apache包括了mod_log_config模块,它用来记录日志。在缺省情况下,它用通用日志格式CLF规范来写。CLF日志文件内对每个请求均有一个单独行,形如:host 
ident anthuser date request status bytes 

其含义如下: 



本文关键:用Apache构建WEB服务器 --以前写的,帖出来,希望有些帮助:)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top