Apach实现创建虚拟目录以及用户访问控制(内附源码包)

栏目: 服务器 · 发布时间: 6年前

内容简介:基于用户的访问控制就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式Digest:使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项,但并不是所有的浏览器都支持摘要认证;

简介

基于用户的访问控制就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页

认证方式

httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式

Digest:使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项,但并不是所有的浏览器都支持摘要认证;

Basic:基本认证是htpd服务的基本功能,不需要预先配置特别的选项(安全性没有摘要认证高,支持所有的浏览器)

认证与授权

基于用户的访问控制包含认证(Authentication)和授权(Authorization)两个过程。认证是指识别用户身份的过程,授权是指允许特定用户访问特定目录区域的过程,特定目录区域是Apache指定的目录区域指定的网页放置的父目录

实验环境

  • 系统环境:centos6.5
  • 服务器IP地址:192.168.100.103
  • 客户端IP地址:192.168.100.99
  • yum挂载目录:/mnt/sr0
  • 相关源码包下载地址: 百度云下载 密码:pko3

搭建步骤

一、准备工作

1、关闭防火墙及selinux

[root@Init5 ~]# chkconfig iptables off #随开机关闭iptables

[root@Init5 ~]# vim /etc/sysconfig/selinux

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

二、搭建httpd、DNS服务器

如果没有搭建以上两个服务的朋友,请查看我的其他帖子有详细介绍

http://blog.51cto.com/11905606/2156944

三、基于根目录验证用户访问授权

1、修改主配置文件

[root@Init5 ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak #修改之前先备份

[root@Init5 ~]# vim /etc/httpd/conf/httpd.conf

#查看、添加、修改以下参数

<Directory "/usr/local/httpd/htdocs"> #站点目录

Options Indexes FollowSymLinks #软链接

AllowOverride None #改成其他值,会产生一个.htpasswod的隐藏文件,放在网站发布的目录下,可以写一些网站的属性配置,如果与全局配置冲突了,以.htpasswod为准,最好不要动

order allow,deny

Allow from all #默认允许所有人进行访问

AuthName "Auth Direcrory" #指定认证领域名称,登录的时候会通过登录窗口显示

AuthType Basic #指定认证方式

AuthUserFile /usr/local/httpd/conf/.awspwd #指定授权用户数据文件

require valid-user #授权给合法用户,合法用户在.awspwd文件中

</Directory>

2、创建授权用户

[root@Init5 ~]# cd /usr/local/httpd/conf/

[root@Init5 conf]# htpasswd -c /usr/local/httpd/conf/.awspwd tom

htpasswd在最开始编译安装的时候已经安装好htpasswd,用来创建授权用户数据文件,并维护其中的用户账号

-c 指定用户数据文件的位置,添加“-c”选项表示新建立此文件,省略“-c”选项,则表示指定的用户数据文件已经存在,用于添加新的用户或修改现有用户的密码

[root@Init5 conf]# cat /usr/local/httpd/conf/.awspwd #查看用户数据文件

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

[root@Init5 ~]# id tom

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

3、重启服务

[root@Init5 ~]# /etc/init.d/httpd restart

4、测试访问

Apach实现创建虚拟目录以及用户访问控制(内附源码包) Apach实现创建虚拟目录以及用户访问控制(内附源码包)

四、基于虚拟目录验证用户访问授权

1、修改主配置文件

[root@Init5 ~]# mv /etc/httpd/conf/httpd.conf.bak /etc/httpd/conf/httpd.conf #还原之前备份的配置文件

Include conf/extra/httpd-vhosts.conf #打开此行注释,涵盖了虚拟主机的配置,并且可以看出在conf目录下有虚拟主机配置文件

2、修改虚拟主机配置文件

[root@Init5 ~]# vim /etc/httpd/conf/extra/httpd-vhosts.conf

设置目录别名:

Alias /pub "/var/www/html"

站点1设置:

<Directory "/var/www/html">

Options Indexes FollowSymLinks

AllowOverride None

order allow,deny

Allow from all

AuthName "Auth Direcrory"

AuthType Basic

AuthUserFile /usr/local/httpd/conf/.awspwd

require valid-user

</Directory>

站点2设置:

<VirtualHost 192.168.100.103:80>

ServerAdmin hello@qq.com

DocumentRoot "/var/www/html"

ServerName www.bt.com

ServerAlias www.bt.com

ErrorLog "logs/www.bt.com-error_log"

CustomLog "logs/www.bt.com-access_log" common

</VirtualHost>

3、创建网页根目录及网页

[root@Init5 ~]# mkdir -p /var/www/html

[root@Init5 ~]# echo "<h1>Hello World</h1>" > /var/www/html/index.html

4、重启服务

[root@Init5 ~]# /etc/init.d/httpd restart

5、再次访问

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

Apach实现创建虚拟目录以及用户访问控制(内附源码包)


以上所述就是小编给大家介绍的《Apach实现创建虚拟目录以及用户访问控制(内附源码包)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法(Java语言版)

数据结构与算法(Java语言版)

(美) Adam Drozdek著;周翔 / 机械工业出版社 / 2003-07-01 / 49.50元

数据结构与算法:Java语言版,ISBN:9787111119029,作者:(美)Adam Drozdek著;周翔[等]译;周翔译一起来看看 《数据结构与算法(Java语言版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器