您的位置:首页 > 运维架构 > Apache

Apache服务器架设(设置用户认证)

2009-11-16 12:38 387 查看
前言:Apache服务器通常使用基本认证,利用一些认证参数,可实现对指定目录的认证控制。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、Oracle、MySQL等数据库。用户访问指定目录的网页文件时必须输入认证用户名和口令,认证成功后才能进行访问。其实网站管理者管理网站的后台去修改东西时都需要口令的,不然普通用户就可以轻易进入后台去修改网站内容。此次实验只采用文本文件来储存用户名和密码。
1. 在对Apache服务器进行配置之前,我们先来了解一下配置文件中有关用户认证的字段,这样子可以更清楚的认识配置文件中各字段所起到的作用。(建议:网上搜一下有关这方面得资料)。
² AuthName 认证域名称:指定用户认证域的名称。
² AuthType Basic:配置用户认证的方式,一般只使用Basic。
² AuthUserFile 文件名:指定认证用户文件名及其保存路径。
² AuthGroupFile 文件名:指定认证组群文件名及其保存路径。
使用认证参数后还需要使用Require参数进行授权,指定哪些认证用户或认证组群有权访问指定的目录,Require参数有以下三种格式:
Ø Require 用户名列表:授权给指定用户。
Ø Require 组群名列表:授权给指定组群。
Ø Require valid—User:授权给认证用户文件中所有的用户。
Apache服务器针对目录进行访问控制和认证时,并可选择使用以下方式来实现:
² 直接编辑httpd.conf文件,直接设置指定目录的访问控制和认证相关参数。
² 在指定目录创建.htaccess文件,访问控制和认证相关参数都保存在.htaccess文件中。
这两种方法各有优劣,使用.htaccess文件可以在不重启服务器的情况下修改服务器的配置,但是由于Apache服务器需要去寻找.htaccess文件,会降低服务器的运行性能。
Httpd.conf文件中AllowOverride参数的参数可决定.htaccess文件是否起效,以及.htaccess文件中可使用的配置参数。AllowOverride参数的主要参数有All和None,Allow就是启用.htaccess文件,并且可使用所以的参数,None是不启用.htaccess文件。
2. 我们要在Apache的默认主页根目录下新建一个名为secret的目录,为了测试配置效果,需要在次目录下新建一个Index.html文件,截图如下所示:




3. 编辑httpd.conf文件内容,设置虚拟目录/var/www/html/secret。其实是在httpd.conf配置文件中添加下面的内容,截图如下所示:



目录中AllowOverride参数设置为All,则所有的访问控制参数都单独保存在.htaccess文件中,对于AllowOverride参数设置为All的解释在配置文件中有很清楚的解释,截图如下:



4. 在/var/www/html/secret目录下新建访问控制文件.htaccess,并且在.htaccess文件中添加相应的内容,截图如下:



相应的字段解释看前面的说明就很清楚了。
5. 创建访问网站的认证用户,用户名为yangzexin,利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/var/www/html/secret/userpass.txt。使用的命令是:htpasswd –c /var/www/html/secret/userpass.txt 用户名,如果想要向userpass.txt文件中再添加其他用户的话,那么就不能在使用“htpasswd –c /var/www/html/secret/userpass.txt 用户名”这条命令了,这样子的话会把原先创建的用户给覆盖掉的,所以如果想向该文件中再添加用户的话,那么就要使用这么一条类似的命令了:“htpasswd –b //var/www/html/secret/userpass.txt 用户名 密码”如下图所示:



6. 查看一下/var/www/html/secret/目录下是否自动创建了userpass.txt文件,同时查看里面的内容,截图如下:



7. 输入命令“service httpd start”启动Apache服务器
8. 测试用户认证效果,在windows计算机下启动IE浏览器,在地址栏输入http://192.168.10.100/secret, 截图如下所示,





9.如果是非法登录的用户的话,那么就会出现以下这么一个界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息