- 配置文件
主配置文件:/etc/httpd/conf/httpd.conf
子配置文件:/etc/httpd/conf.d/*.conf
模块相关的配置文件:/etc/httpd/conf.modules.d/*.conf
日志文件
访问日志:/var/log/httpd/access_log
错误日志:/var/log/httpd/error_log- 站点文档
/var/www/html - 模块文件路径
/usr/lib64/httpd/modules - 服务控制
systemctl ?enable|disable ?httpd.service
systemctl ?{start|stop|restart|status} ?httpd.service
httpd-2.4配置应用
- 切换使用MPM
编辑配置文件/etc/httpd/conf.modules.d/00-mpm.conf,启用要启用的MPM相
关的LoadModule指令即可 - 基于IP的访问控制
允许所有的主机访问:Require all granted拒绝所有的主机访问:Require all deny授权指定IP访问:Require ip IPADDR拒绝指定用户的访问:Require not ip IPADDR授权指定的主机访问:Require host HOSTNAME拒绝指定的主机访问:Require not host HOSTNAME
访问白名单:
<RequireAny>Require ip IPADDR</RequireAny>
访问黑名单
<RequireAll>Require all grantedRequire not ip 192.168.153.7</RequireAll>
- 基于用户的访问控制
1.定义安全域<Directory " ">Options NoneAllowOverride NoneAuthType BasicAuthName "String“AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE"Require ?user ?username1 ?username2 ...</Directory>
2.生成账号和密码存储(文本文件)
使用专用命令完成此类文件的创建及用户管理
htpasswd ?[options] ??/PATH/TO/HTTPD_PASSWD_FILE ?username
-c:自动创建此处指定的文件,因此,仅应该在此文件不存在时使用;
-m:md5格式加密
-s: sha格式加密
-D:删除指定用户
httpd-2.4 虚拟主机的三种实现方案
- 基于端口的虚拟主机
- 基于IP的虚拟主机
- 基于FQDN的虚拟主机
注: 基于FQDN的虚拟主机,需要利用DNS或host文件解析域名
httpd-2.4应用举例
建立httpd服务,要求:
(1)
提供一个基于名称的虚拟主机:www1.stuX.com,
页面文件目录为/web/vhosts/www1;
错误日志为/var/log/httpd/www1/error_log,
访问日志为/var/log/httpd/www1/access_log;
(2) 通过www1.stuX.com/server-status输出其状态信息,且要求只允许提供账号的用户访问;
(3) www1不允许192.168.100.135/24网络中的主机访问;
创建要求所需目录
mkdir -pv /web/vhosts/www1 创建页面文件目录mkdir /var/log/httpd/www1 ?创建日志文件目录
编辑配置文件
生成用户账号和密码存储
语法检测,若无问题,则启动服务
测试结果
通过指定用户查看状态信息
测试只有IP192.168.100.135的主机不能访问
其他主机访问:
192.168.100.135访问:
查看日志:
access_log
error_log
HTTP服务(上)
原文地址:http://blog.51cto.com/13866567/2307598