Apache

网站服务程序

我们平时访问的网站服务就是Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务
目前能够提供Web网络服务的程序有IIS、Nginx和Apache等。其中,IIS是Windows系统中默认的Web服务程序,这是一款图形化的网站管理工具,不仅可以提供Web网站服务,还可以提供FTP、NMTP、SMTP等服务。但是,IIS只能在Windows系统中使用
Apache的部署

过程 作用
yum install httpd #安装Apache服务程序(Apache服务的软件包名为httpd)
systemctl start httpd #启用httpd服务
systemctl enable httpd #加入开机启动项

在这里插入图片描述
在这里插入图片描述

配置服务文件参数

httpd服务程序的主要配置文件及存放位置

配置文件 存放位置
服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log

在httpd服务程序主配置文件中,最为常用的参数

参数 作用
ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
DocumentRoot 网站数据目录
Listen 监听的IP地址与端口号

修改保存网站数据的目录

vim /etc/httpd/conf/httpd.conf
119 DocumentRoot “/home/wwwroot” #用于定义网站数据保存路径的参数DocumentRoot修改为/home/wwwroot
124 <Directory “home/wwwroot”> #用于定义目录权限的参数Directory后面的路径也修改为/home/wwwroot
128< /Directory>

在这里插入图片描述
SELinux安全子系统
SELinux是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制的安全子系统
SELinux服务有三种配置模式:

1、enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
2、permissive:遇到服务越权访问时,只发出警告而不强制拦截。
3、disabled:对于越权的行为不警告也不拦截。

semanage命令:用于管理SELinux的策略
semanage命令不仅能够像传统chcon命令那样—设置文件、目录的策略,还可以管理网络端口、消息接口常用参数:

参数 作用
-l 用于查询;
-a 用于添加;
-m 用于修改;
-d 用于删除;
-t 指定要想修改的值。

restorecon命令:将设置好的SELinux安全上下文立即生效。
常用参数:

参数 作用
-R 对指定目录进行递归操作
-v 显示SELinux安全上下文的修改过程

解决被SELinux拦截的问题

ls -Zd /var/www/html #SElinux安全上下文为httpd_sys_content_t
ls -Zd /home/wwwroot #SELinux安全上下文为home_root_t

在这里插入图片描述

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot #修改目录的安全上下文
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/* #修改目录里的所有文件的安全上下文

在这里插入图片描述

实现个人用户主页功能

1、 17 UserDir public_html #UserDir参数表示网站数据在用户家目录中的保存目录名称,即public_html目录
2、 31 <Directory “/home/*/public_html”> #注意要和17行的目录名一致
3、 35 < /Directory>
4、
5、 getsebool -a | grep http
6、 setsebool -P httpd_enable_homedirs=on

htpasswd命令:建立和更新存储用户名、密码的文本文件, 用于对HTTP用户的basic认证

-c参数:创建密码文件.如果密码文件已经存在,那么它会重新写入并删去原有内容。