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

查看所有标签

猜你喜欢:

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

集体智慧编程

集体智慧编程

Toby Segaran / 莫映、王开福 / 电子工业出版社 / 2015-3 / 79.00元

《集体智慧编程》以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web 上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web 网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查......一起来看看 《集体智慧编程》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

HTML 编码/解码