Centos7 yum安装配置Web服务器系列(二)安装 Apache

作为一个小菜鸟,在工作开发中经常会遇到没有运维工程的情况下,需要快速搭建服务器开发环境;当然若是作为生产环境还是需要运维工程师进行加固和修补才可以的!

本文使用 阿里云服务器 Centos 7 Linux 服务器。

1.安装 Apache 服务

  • yum安装Apache命令:
yum install -y httpd
  • 启动Apache服务和设置开机启动:
systemctl start httpd.service
systemctl enable httpd.service
  • 打开本地浏览器,输入 http://服务器ip 访问:
默认首页

恭喜你已经完成一小步

2.Apache 配置

默认配置文件位置和作用:

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

主配置文件:

vim /etc/httpd/conf/httpd.conf

主要参数:

参数 说明
ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
ServerName 网站服务器的域名
DocumentRoot 网站根目录
Listen 监听的IP地址/域名与端口号
DirectoryIndex 默认的索引页页面
ErrorLog 错误日志文件
CustomLog 访问日志文件
Timeout 网页超时时间,默认为300秒.
Include 需要加载的其他配置文件
  • 修改网站根目录
修改网站根目录

更改为"/home/wwwroot"目录。

  • 重启httpd
systemctl restart httpd.service

注意: 先创建文件夹wwwroot,否则重启httpd会失败

访问ip地址发现 页面是原先的测试页面,说明无法访问的目录
原因:这个行为触犯SELinux服务的监管项目

  • 先关闭SElinux试试:
setenforce 0 #临时关闭
getenforce #查看状态 Permissive 关闭

注意:这种修改只是临时的,重启后就会失效!

这时访问ip地址发现已经成功访问到页面,说明确实是SELinux的问题


解决方法:

  • 先查看下网站根目录下文件夹的selinux属性
ls -Zd /var/www/html  
ls -Zd /home/wwwroot
查看文件夹的selinux属性

在文件上面设置的SELinux安全上下文是由用户段、角色段以及类型段等等多个信息项目共同组成的。
用户段中system_u代表系统进程身份;
角色段object_r代表文件目录角色;
类型段httpd_sys_content_t代表是网站服务系统文件。

由于SELinux服务实在过于复杂,因此现在您只需要简单熟悉SELinux服务的作用就可以,现在这种情况的解决办法就是把当前网站目录/home/wwwroot的SELinux安全上下文修改为跟原始网站目录的一样就可以啦~

使用semanage命令
用于查询与修改SELinux的安全上下文,格式为:“semanage [选项] [文件]”。

-l参数用于查询
-a参数用于添加
-m参数用于修改
-d参数用于删除等等

setenforce 1 #把SElinux 改为强制
  • 然后我们才能修改SElinux 的 上下文

-Z 查看文件上下文信息,也就是文件的SELinux信息,可以肤浅地理解为各个用户对该文件或文件夹的权限(只有开启Selinux才有效)
-d 只列出目录,不包括内容,不引用符号链接

  • 因此ls -Zd的意思就是查看该路径下文件夹的selinux属性。

如果系统里没有 semanage 命令


没有安装semanage

我们可以 yum provides /usr/sbin/semanage 查看 semanage对应的 软件包


安装semanage

然后 楼主就 yum install policycoreutils-python
这样 semanage 命令就可以用了
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*
修改SELinux安全上下文

不过仅仅是这样设置完还不能让网站立即恢复访问,还需要使用restorecon命令来让刚刚设置的SELinux安全上下文立即生效,可以加上-Rv参数指定进行对目录的递归操作以及显示SELinux安全上下文的修改过程:

restorecon -Rv /home/wwwroot/
刷新SELinux安全上下文

参照文献:centos7 部署Apache服务器

你可能感兴趣的:(Centos7 yum安装配置Web服务器系列(二)安装 Apache)