首页 > 代码库 > linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)
linux_apache服务知识总结(二)(关于用户的访问控制及编译安装)
用户的访问控制
顾名思义,就是来限制那些用户可以来访问资源啊,哪些不能访问资源呀,就是来控制他们访问的权限,简单来说就是这个意思。
对于用户认证主要有2种方法的认证:
1,基本认证:Basic
2,摘要认证:digest
来看下基于文件做访问控制,下面我们来做个小实验(基于用户进行认证)
在配置文件中添加如下:
图中:/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目录下创建了一个页面文件了,
是不是需要账号和密码呢?
上一个是拿用户来认证的,下面我们来做下用组来认证,只需修改下配置文件如下:
我在/etc/httpd/conf/.htgroup文件中的test组里添加了,user3,user4 用户,
只有在组文件内的用户都可以访问该页面,
如果输入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