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

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

内容简介:基于用户的访问控制就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页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实现创建虚拟目录以及用户访问控制(内附源码包)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

The Nature of Code

The Nature of Code

Daniel Shiffman / The Nature of Code / 2012-12-13 / GBP 19.95

How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital w......一起来看看 《The Nature of Code》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换