本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。
网站服务程序
目前能够提供 Web 网络服务的程序有 IIS、Nginx 和 Apache 等
替换源为阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum list updates
安装 Apache 服务程序
yum install httpd
启用 httpd服务程序并将其加入到开机启动项
systemctl start httpd
systemctl enable httpd
配置服务文件参数
配置文件的名称 | 存放位置 |
服务目录 | /etc/httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
网站数据目录 | /var/www/html |
访问日志 | /var/log/httpd/access_log |
错误日志 | /var/log/httpd/error_log |
在 httpd服务程序的主配置文件中,存在三种类型的信息:注释行信息、全局配置、区域配置
SELinux 安全子系统
SELinux 服务有三种配置模式,具体如下:
- enforcing:强制启用安全策略模式,将拦截服务的不合法请求
- permissive:遇到服务越权访问时,只发出警告而不强制拦截
- disabled:对于越权的行为不警告也不拦截
修改SELinux配置
vim /etc/selinux/config
semanage命令
semanage 命令用于管理 SELinux 的策略,格式为“semanage [选项] [文件]”
使用 semanage 命令时,经常用到的几个参数及其功能如下:
- -l 参数用于查询
- -a 参数用于添加
- -m参数用于修改
- -d 参数用于删除
查看目录 SELinux 安全上下文值
ls -Zd /var/www/html
ls -Zd /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
restorecon -Rv /home/wwwroot/
个人用户主页功能
开启个人用户主页功能
vim /etc/httpd/conf.d/userdir.conf
在第 17 行的UserDir disabled 参数前面加上#
把第 24 行的 UserDir public_html 参数前面的#去掉
使用 getsebool 命令查询并过滤出所有与 HTTP 协议相关的安全策略
getsebool -a | grep http
setsebool -P httpd_enable_homedirs=on
给网页加密
使用 htpasswd 命令生成密码数据库
htpasswd -c /etc/httpd/passwd yeyufan
编辑个人用户主页功能的配置文件
第31~35 行的参数信息修改成下列内容
AllowOverride all
#刚刚生成出来的密码验证文件保存路径
authuserfile "/etc/httpd/passwd"
#当用户尝试访问个人用户网站时的提示信息
authname "My privately website"
authtype basic
#用户进行账户密码登录时需要验证的用户名称
require user yeyufan
虚拟主机功能
Apache 的访问控制
- 什么是 Web 网络服务?
- 一种允许用户通过浏览器访问到互联网中各种资源的服务
- 相较于 Nginx 服务程序,Apache 服务程序最大的优势是什么?
- Apache服务程序具备跨平台特性、安全性,而且拥有快速、可靠、简单的 API 扩展
- httpd 服务程序没有检查到首页文件,会提示报错信息吗?
- 不会,httpd 服务在未找到网站首页文件时,会向访客显示一个默认页面
- 简述 Apache 服务主配置文件中全局配置参数、区域配置参数和注释信息的作用
- 全局配置参数是一种全局性的配置参数,可作用于对所有的子站点
- 区域配置参数则是单独针对于每个独立的子站点进行设置的
- 注释信息一般是对服务程序的功能或某一行参数进行介绍
- 简述 SELinux 服务的作用
- 为了让各个服务进程都受到约束,使其仅获取到本应获取的资源
- 使用 getenforce 命令查看 SELinux 服务模式时,发现其配置模式为 permissive,这代表强制开启模式吗?
- 不是,强制开启模式是 enforcing,而 permissive是只发出警告而不强制拦截的模式
- 使用 semanage 命令后执行什么命令立即生效?
- restorecon
Comments | NOTHING