centos7 部署Apache服务器

作者 : 开心源码 本文共2980个字,预计阅读时间需要8分钟 发布时间: 2022-05-11 共58人阅读

centos7 部署Apache服务器

Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台安全性广泛被认可且拥有快速、可靠、简单的API扩展。 它的名字取自美国印第安人土著语,寓意着拥有高超的作战策略和无穷的耐性,在红帽RHEL5、6、7系统中一直作为着默认的Web服务程序而用,并且也一直是红帽RHCSA和红帽RHCE的考试重点内容。Apache服务程序能运行在Linux系统、Unix系统甚至是Windows系统中,支持基于IP、域名及端口号的虚拟主机功可以、支持多种HTTP认证方式、集成有代理商服务器板块、安全Socket层(SSL)、可以够实时监视服务状态与定制日志消息,并有着各类丰富的板块支持。

第一步:安装Apache服务程序(apache服务的软件包名称叫做httpd)

yum install httpd -y

centos7 部署Apache服务器

第二步: 将Apache服务增加到 开机自启中

centos7 部署Apache服务器

第三步:打开firefox浏览器 测试 127.0.0.1

centos7 部署Apache服务器

这样 我们的apache服务就安装好了 !

小编下面给大家 讲解一下 少量配置文件 。以及apach 的应使用服务

刚学会的安装和运行只是学习httpd服务程序成功路上的一小步而已,对于Linux系统中服务的配置就是在修改其配置文件,因而还需要知道这些配置文件分别干什么使用的,以及存放到了什么位置:

服务目录/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

centos7 部署Apache服务器

是不是下了 一跳,一共有353行 。但其实 没有关系的,这些配置文件中 大部分都是 注释信息,剩下的 就只有全局配置信息,区域配置信息。

在httpd服务程序主配置文件中最为常使用的参数包括有:

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

从上面表格中能得知DocumentRoot正是使用于定义网站数据保存路径的参数,其参数的默认值是把网站数据存放到了/var/www/html目录中的,而网站首页的名称应该叫做index.html,因而能手动的向这个目录中写入一个文件来替换掉httpd服务程序的默认网页,这种操作是立即生效的

echo “hello everyone my name is feixiangkeji” > /var/www/html/index.html

紧接着 我们 打开firefox 浏览器 查看一下:

centos7 部署Apache服务器

测试成功!而后 我们 来修改 网站数据的主目录。刚开始 我们默认的网站主目录是/var/www/html

我们把它改变为 /home/wwwroot/中 。同样我们也要在/home/wwwroot/中 创立首页文件

mkdir /home/wwwroot

echo “this is feixiangkeji” > /home/wwwroot/index.html

centos7 部署Apache服务器

目录,首页文件都创立好了 ,我们是不是要修改 网站的配置文件啊

vim /etc/httpd/conf/httpd.conf

找到大约在119行周围的DocumentRoot参数以及大约在123行周围的,修改后记得保存:

centos7 部署Apache服务器

systemctl restart httpd

重新启动httpd服务程序后便可验证效果啦!!!但我们发现 还是刚开始测试页面 !!而刚新建的首页文件并不显示出来?????

httpd服务程序的功可以就是让使用户可以够访问到网站内容,因而让SELinux对网页访问功可以一定是默认允许的,但刚刚把保存网站数据的默认路径修改为了/home/wwwroot目录,这似乎就产生问题了,也就是说现在httpd提供的网站服务却要去获取普通使用户家目录中的数据了,这个行为触犯SELinux服务的监管项目。既然已经找出问题所在了

下面 小编就来 先关闭SElinux :

[root@localhost ~]# setenforce 0

[root@localhost ~]# getenforce

Permissive

centos7 部署Apache服务器

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

我们再次访问网站

centos7 部署Apache服务器

果不其然 ,就是SElinux 搞的鬼

[root@localhost ~]# ls -Zd /var/www/html

[root@localhost ~]# ls -Zd /home/wwwroot

centos7 部署Apache服务器

在文件上面设置的SELinux安全上下文是由使用户段、角色段以及类型段等等多个信息项目共同组成的,使用户段中system_u代表系统进程身份角色段object_r代表文件目录角色类型段httpd_sys_content_t代表是网站服务系统文件。因为SELinux服务实在过于复杂,因而现在您只要要简单熟习SELinux服务的作使用即可以,现在这种情况的处理办法就是把当前网站目录/home/wwwroot的SELinux安全上下文修改为跟原始网站目录的一样即可以啦~

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

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

[root@localhost ~]# setenforce 1 把SElinux 改为强制

而后我们才可以修改SElinux 的 上下文

-Z 查看文件上下文信息,也就是文件的SELinux信息,能肤浅地了解为各个使用户对该文件或者文件夹的权限(只有开启Selinux才有效)

-d 只列出目录,不包括内容,不引使用符号链接

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

假如系统里没有 semanage 命令

centos7 部署Apache服务器

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

centos7 部署Apache服务器

而后 小编就 yum install policycoreutils-python

这样 semanage 命令即可以使用了

[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

centos7 部署Apache服务器

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

[root@localhost ~]# restorecon -Rv /home/wwwroot/

centos7 部署Apache服务器

刷新一下

centos7 部署Apache服务器

这样 我们网站初期 少量基础的东西 就先说到这 ,请关注我接下来发表的 Apache 个人网站主页,

虚拟网站主机功可以,基于IP地址的,基于端口的,和基于域名访问的三种模式。

谢谢大家 欢迎大家在下面留言区评论!!

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » centos7 部署Apache服务器

发表回复