运维学习 unit28 Apache服务器的部署

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中

1.apache服务器的部署

安装httpd服务
在这里插入图片描述
启动httpd服务并让其开机自启动
在这里插入图片描述
firewall-config列出火墙信息,并设置永久允许http,htpps,然后reload重新加载火墙设置
在这里插入图片描述
确认火墙允许的服务包含http和https
在这里插入图片描述
在浏览器中输入测试端ip,看到测试页面则证明apache已经开启
在这里插入图片描述
apache的默认发布目录为/var/www/html,默认发布文件为index.html,在/var/www/html目录下创建index.html文件。
在这里插入图片描述
在浏览器访问时显示的就为index.html文件中的内容
在这里插入图片描述

2.Apache服务的配置

更改端口

apache的默认发布端口为80,浏览器默认打开的端口也为80,所以在只输入IP地址时打开的就是80端口。apache除了80端口,还可以使用别的端口。
编辑主配置文件/etc/httpd/conf/httpd.conf将发布端口从80更改为8080
在这里插入图片描述
查看服务端口变为8080
在这里插入图片描述
浏览器默认为80端口,所以在直接输入IP时不能访问
在这里插入图片描述
在火墙中添加8080端口和777端口为后续实验做准备
在这里插入图片描述
查看防火墙,发现port已经允许了777端口和8080端口
在这里插入图片描述
此时可以访问ip的8080端口
在这里插入图片描述
selinux中http相关的端口不包含777
在这里插入图片描述
将配置文件中的8080改为777后重启服务会失败
需要在selinux中添加777端口
semanage port -a -t http_port_t -p tcp 777 #在selinux中添加777为apache的发布端口
重启后,访问777端口可以查看文件

更改默认发布文件

apache的默认发布文件为index.html,在默认发布目录下只要存在index.html文件,默认情况下在访问apache服务时显示的就为index.html文件中的内容。
apache的默认发布文件在其主配置文件中进行说明。要修改其默认发布目录需要在配置文件中修改
在这里插入图片描述
先读取zafkiel.html文件,若该文件不存在则读取index.html文件
编辑zafkiel.html
在这里插入图片描述
重启服务后就可以看到zafkiel.html的内容
在这里插入图片描述
删除zafkiel.html
在这里插入图片描述
变为原本的index.html的内容
在这里插入图片描述

更改默认发布目录

更改配置文件/etc/httpd/conf/httpd.conf
在这里插入图片描述
开启该目录的权限
在这里插入图片描述
重启服务后测试访问的为/zafkiel/www/html/index.html 文件
但是在selinux开启的情况下需要更改安全上下文
在这里插入图片描述
再次测试可正常访问
在这里插入图片描述

3.Apache的虚拟主机

在测试端主机添加hosts
在这里插入图片描述
编写不同虚拟主机的访问文件
在这里插入图片描述
创建并编辑/etc/httpd/conf.d/下的子配置文件
默认站点的配置文件/etc/httpd/conf.d/a_test.conf
在这里插入图片描述
game域名的配置文件,music域名的配置文件与game格式一致
在这里插入图片描述
重启httpd服务就可以查看子域名了
在这里插入图片描述
在这里插入图片描述

4.Apache的访问控制

基于ip的访问控制

编辑配置文件a_test.conf
在这里插入图片描述
先读取deny的参数后读取allow的参数,所以结果是只有15可以访问
也可以更改deny和allow的顺序以改变效果

基于用户的访问控制

新创建一个http用户admin和user1,第二次创建用户时不能加-c参数,否则会覆盖掉admin的数据
在这里插入图片描述
在配置文件中添加用户认证
AuthUserFile /etc/httpd/conf.d/http_user #指向用户帐号密码文件
AuthName “welcome to the new world” #登陆时显示的文字
AuthType basic #认证类型为基础认证
Require user admin #只允许admin用户登陆
或Require valid-user #允许所有人登陆
在这里插入图片描述

5.Apache支持的语言

php

编写php测试页vim /var/www/html/index.php
在这里插入图片描述
安装php
可看见有php.conf的子配置文件
在这里插入图片描述
重启服务就可以查看index.php文件了

perl

cd /var/www/cgi-bin/
建立并编辑访问文件
在这里插入图片描述
但是会因为安全上下文问题重启服务失败
编辑配置文件
在这里插入图片描述
更改安全上下文并添加执行权限
在这里插入图片描述
执行
在这里插入图片描述

6.https

https即在HTTP下加入了 SSL 层,是可进行加密传输身份认证的网络协议,安全性更高
安装ssl加密软件
在这里插入图片描述
添加自己的加密密钥需要安装crypto-utils
在这里插入图片描述
genkey www.westos.com #创建证书和密钥
在这里插入图片描述
如果进度条不前进可以随便敲击键盘输入字符
在这里插入图片描述
查看生成key信息
在这里插入图片描述
编辑子配置目录下的ssl.conf文件将生成的加密key信息写入
在这里插入图片描述
重启服务后再次获取key,就是我们自己提供的key
查看证书
在这里插入图片描述

网页重写实现自动跳转https

进入/var/www/westos.com目录下,创建目录/login/html,创建访问文件index.html
在这里插入图片描述
在hosts中添加login.westos.com的解析
编辑主配置文件login.conf
在这里插入图片描述
配置文件参数含义:
^(/.*)$       客户在浏览器地址中输入的所有字符
https://       强制客户加密访问
%{HTTP_HOST}     客户请求主机
$1          “ 1 / . 1”表示^(/.*) 的值
[redirect=301]    永久转换(302表示临时重写)
重启httpd服务
输入login.westos.com后自动跳转
在这里插入图片描述

搭建论坛

编写子配置文件bbs.conf,格式与其他子配置文件 相同
在这里插入图片描述
创建发布目录,解压bbs论坛安装包
在这里插入图片描述
less readme.txt可以查看安装搭建论坛的说明
说明中要求给config和data目录添加权限
在这里插入图片描述
在hosts中添加bbs子域名的解析
重启httpd服务
输入bbs.westos.com/upload/,进行安装
在这里插入图片描述
安装界面
在这里插入图片描述
在这里插入图片描述
setenforce 0 将selinux的状态修改为警告模式
在这里插入图片描述
开启相关文件夹的权限
安装数据库
在这里插入图片描述
编辑配置文件,关闭数据库在网络中对外的接口。
在这里插入图片描述
并进行安全初始化
在这里插入图片描述
安装php-mysql并重启服务
在这里插入图片描述
确保了运行环境的支持
在这里插入图片描述
创建数据库
在这里插入图片描述
搭建论坛成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gordzafkiel/article/details/84863458