首页 > 代码库 > linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)

linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)

用户的访问控制

    顾名思义,就是来限制那些用户可以来访问资源啊,哪些不能访问资源呀,就是来控制他们访问的权限,简单来说就是这个意思。


对于用户认证主要有2种方法的认证:

    1,基本认证:Basic

    2,摘要认证:digest

来看下基于文件做访问控制,下面我们来做个小实验(基于用户进行认证)

在配置文件中添加如下:wKioL1Po1IqQ9qHdAAAlDSKIqQQ220.png

图中:/var/www/html/admin 就是要对这个目录做访问控制

AuthType :认证的类型,Basic

AuthUserFile : 这指定了认证存放用户的的文件,为/etc/httpd/conf/.htpasswd

Require Valid-user :允许所有用户的请求


然后我们要给.htpasswd这个文件添加用户啦

#htpasswd -c -m /etc/httpd/conf/.htpasswd

-c 创建文件,只有第一次创建文件时才使用

-m 就是使用MD5加密

操作完毕,我们来验证下吧,我已经在Admin目录下创建了一个页面文件了,

wKiom1Po16XR-i3xAABrSA5NRXo538.png

是不是需要账号和密码呢?

上一个是拿用户来认证的,下面我们来做下用组来认证,只需修改下配置文件如下:

wKioL1Po2waRNAGmAAAq2xlYEJM654.png

我在/etc/httpd/conf/.htgroup文件中的test组里添加了,user3,user4 用户,

只有在组文件内的用户都可以访问该页面,

wKiom1Po206g5WAeAABiW3176w8420.png

如果输入user2 则进不去页面,这就是这2种的基于用户和组的认证,对页面文件进行访问控制,是不是很简单。


下面我们就开始说下,手动编译httpd-2.4的版本吧,因为在centos6上,httpd-2.4不同于httpd-2.0和2.2,httpd-2.4具有一些新的特性,

    

        1)MPM支持在运行时装载;

--enable-mpms-shared=all --with-mpm={prefork|worker|event}

2)支持event mpm

3)异步读写

4)在每模块及每目录分别使用不同的日志级别

5)每请求的配置;<If>,<Elseif>

6)增强版的表达式分析器

7)毫秒级的keep alive的timeout

8)基于FQDN的虚拟主机不再需要NameVirtualHost指令;

9)支持用户使用自定义变量

想要在centos6上,编译httpd2.4,而httpd2.4依赖,apr-1.4以上的版本,而在centos6中最新的版本才1.39,所有我们要先安装apr-1,4以上版本与apr-util-1.4以上版本,

这里我使用apr-1.5.0 apr-util-1.5.3 

首先要下载这2个包到root目录下,解压这2个包,

然后cd 到apr-1.5.o中,在其中执行命令:

 # ./configure --prefix=/usr/local/apr1.5 ,安装在/usr/local/apr1.5

然后执行安装

 #  make && make instal

再去安装apr-util1.5.3,

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr1.5/

# make && make install

如果中间出现错误,则要看提醒,很有可能是某个工具没安装,我就是没安装gcc导致出错了


下面就进入安装httpd过程啦

把httpd,源代码下载,解压,

进入到 httpd-2.4.9目录,进行编译,

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-mpms-shared=all --with-mpm=event --enable-modules=most


出现如下表示安装成功:

最后一条:config.status: executing default commands

然后make && make install,make完成后


这是一条集成了各种功能的编译命令,下面来一一解释

--prefix=/usr/local/apache  指定安装的文件路径

--sysconfdir=             指定配置文件的路径

--enable-so  支持DSO机制,动态装卸载模块

--enable-ssl  编译启用ssl的模块

--enable-cgi  表示启用cgi模块

--enable-rewrite  url重写

--with-zlib   网络数据报文发送时,使用的压缩库,

--with-pcre   使用增加的扩展正则表达式

--with-apr=路径   指定apr的安装路径

--with-apr-util=路径  指定apr-util的安装路径

--enable-mpms-shared=all  --with-mpm=event  使用动态装卸载MPM则需装上MPM,并指定启动even模块

--enable-modules=most  编译常用的动态模块


在命令执行的过程中,会报错,我就说下我做的时候都报错让我安装那些内容吧,

提示我需要我安装的有 #yum install pcre-devel

                        # yum -y install mod_ssl

                            # yum install openssl-devel

        

基本的手动编译就这些啦,总算完成了



本文出自 “linux小盆友” 博客,请务必保留此出处http://ny0716.blog.51cto.com/9154254/1538798