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

Apache用户验证

2010-11-01 14:01 706 查看
环境:fedora 13


假设:当用户访问我服务器上某个目录,需要用户输入用户名和密码,通过验证之后才能访问目录下的内容。


目录:/var/www/html

用户名:admin


密码:admin


第1步:

我们在/var/www/目录下建立html目录:

mkdir /var/www/htm #一般情况下此目录已经存在,只需把网页内容放入目录中即可。

第2步:

然后我们编辑httpd.conf

添加

Alias /html "/var/www/html"

<Directory "/var/www/html">

Options Indexes MultiViews

AllowOverride Authconfig #表示进行身份认证,这是关键的设置。

Order allow,deny

Allow from all

</Directory>

第3步:

在/var/www/html创建.htaccess文件

vi /var/www/html/.htaccess

AuthName "frank share web"

AuthType Basic

AuthUserFile /var/www/html/.htpasswd

require valid-user

#AuthName 描述,随便写

#AuthUserFile /var/www/html/.htpasswd

#require valid-user 或者 require user admin 限制是所有合法用户还是指定用户

#密码文件推荐使用.htpasswd,因为apache默认系统对“.ht”开头的文件默认不允许外部读取,安全系数会高一点哦。

第4步:

就是创建apache的验证用户

htpasswd -c /var/www/html/.htpasswd admin

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

如果你们想修改密码,可以如下

htpasswd -m .htpasswd admin

第5步:

ok,重启apache服务,如果你的首页就是在html目录下的话,浏览器中输入IP地址就可以了, 如果顺利的话,应该能看到一个用户验证的弹出窗口,只要填入第4步创建的用户名和密码就行。

为了服务器的性能,一般不推荐使用AllowOverride AuthConfig或者AllowOverride ALL,因为这会使服务器会不断的去寻找.htaccess,从而影响服务器的效能,一般我们把一些后台管理界面或者其他特殊目录可能需要加验证这个需求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: