在实验中web服务器地址为:192.168.80.10,客户机地址为192.168.80.200
实验目的:能够控制用户对该web服务器访问。
[root@localhost ~]# yum --disablerepo=* --enablerepo=c6-media install httpd
安装httpd服务
为了实现身份验证在/etc/httpd/conf/httpd.conf 第336行改为“AllowOverride all”
在/var/www/html/目录下编辑一个名称为.htaccess的说明文件,此文件必须在站点主目录下,内容编辑如下:
authuserfile /var/www/.htpasswd
authname "please in put your name and password"
authtype basic
require valid-user
上边的只是一个说明文件,接下来要产生一个账号库文件:
这里需要一个工具htppasswd来产生 ,此工具在/usr/bin/目录下
直接执行此工具:
[root@localhost www]# htpasswd -c .htpasswd abc ,然后会提示两次输入密码123
在当前目录下生成一个名称为.htpasswd的文件,并写入一个账号为abc密码为123的用户
如果要再次写入一个用户的话 就不用加-c了,-c是表示创建一个新文件。
[root@localhost html]# echo 'hello' >index.html
在当前目录下建立一个静态网页名称为index.html,并写入一个单词 “hello”
重启httpd服务:
[root@localhost html]# service httpd restart
然后在一个与本地地址同网段的pc浏览器中登陆http://192.168.80.10
发现需要输入账号和密码:
输入账号:abc密码:123
进入后可以看到如下界面:
也可以同过对访问地址来源来限制访问:
在/etc/httpd/conf/httpd.conf 第341行至343行修改如下:
只允许地址为192.168.80.200的主机访问,而别的地址不可访问。
Order allow,deny
Allow from 192.168.80.200
Deny from any
注:在这里allow和deny的顺序一定要一致。
我把刚才那台主机地址改为192.168.80.201,此时发现已经不可访问此站点: