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

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

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

1.安装 Apache 服务

  • yum安装Apache命令:
yum install -y httpd
  • 启动Apache服务和设置开机启动:
systemctl start httpd.service
systemctl enable httpd.service
默认首页

恭喜你已经完成一小步

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服务器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 高考,可能是我们最后一次相信类似前程似锦,梦里花开,这样词语。往后人生种种,多是被溅一身狗血。 我最近几天一直在想...
    小毛同学文阅读 423评论 0 12
  • title: 理解C++虚函数date: 2018-11-11 15:31:26 1. 简单介绍 C++虚函数是定...
    dounine阅读 36,324评论 4 33
  • 十月初的日子里,总是要应酬一些酒席,亲朋故旧,连带关系近的,更要耗去一天里的主要时段.在酒足饭饱往返之时,已经午后...
    看上去很美V阅读 212评论 0 1
  • 感恩最近的忙碌,让我的生活很丰富,每天累的不想动!感恩同事今天休息让我更加忙碌,也让我做了很多工作,学习了很多别的...
    倩_34b4阅读 191评论 0 0
  • 尼汝村位于云南香格里拉市洛吉乡,海拔仅2705米,是一个人迹罕至的美丽秘境。这里住着藏族人家108户共650人,人...
    帝贝度假阅读 330评论 0 0