当前位置: 首页 > news >正文

基于RHCE基础搭建简单服务

目录

  • 项目标题与需求
  • 一 配置IP地址
    • server机
    • node02机
  • 二 配置web服务
  • 三 搭建dns服务器
  • 四 开启防火墙
    • server firewalld
  • 五 配置nfs服务器
    • node02 nfs
    • server autofs
  • 六 开启SELinux
  • 七 验证是否能访问www.rhce.com

项目标题与需求

项目标题:
在这里插入图片描述

项目需求:
现有主机 node01 和 node02,完成如下需求:

  1. 在 node01 主机上提供 DNS 和 WEB 服务
  2. dns 服务提供本实验所有主机名解析
  3. web服务提供 www.rhce.com 虚拟主机
  4. 该虚拟主机的documentroot目录在 /nfs/rhce 目录
  5. 该目录由 node02 主机提供的NFS服务共享
  6. 该目录可以通过autofs服务实现自动挂载
  7. 所有服务应该在重启之后依然可以正常使用

项目规划:

  1. 准备两台机子,并配置IP地址
  2. node01配置web服务和dns服务,
  3. node02 配置nfs共享文件
  4. node01 配置nfs接受文件及其设置autofs开机自动挂载
  5. 要求防火墙及其SELinux都是开启

一 配置IP地址

server机

node01(以下我使用service代替)下载相关文件 包括相关工具,服务

[root@server ~]# dnf install vim lrz* tree httpd bind bash-com* net-tools nfs-utils autofs -y

server配置IP地址

[root@server ~]#  nmcli connection modify ens160 ipv4.addresses 172.16.10.10/24 ipv4.method manual connection.autoconnect yes ipv4.dns 172.16.10.10

node02机

node02配置IP地址

[root@server ~]#   nmcli connection modify ens160 ipv4.addresses 172.16.10.40/24 ipv4.method manual connection.autoconnect yes ipv4.dns 172.16.10.10

安装nfs服务器

[root@server ~]#  dnf install nfs-utils -y

二 配置web服务

下载httpd服务

[root@server ~]# dnf install httpd -y

配置文件

[root@server ~]#  vim /etc/httpd/conf.d/vhost.conf<directory /nfs >
allowoverride none
require all granted
</directory><virtualhost 172.16.10.10:80>
documentroot /nfs/rhce
servername 172.16.10.10
</virtualhost>

在这里插入图片描述

新建nfs的文件夹

[root@server ~]# mkdir /nfs

重启服务

[root@server ~]# systemctl restart httpd

查看端口

[root@server ~]# netstat -lntup | grep httpd

在这里插入图片描述

三 搭建dns服务器

下载DNS服务

[root@server ~]# dnf install bind -y

配置文件/etc/named.conf

[root@server ~]# vim /etc/named.confoptions {listen-on port 53 { 172.16.10.10; };directory       "/var/named";
};zone "rhce.com" IN {type master;file "named.nfs";
};

删除了多余配置,只保留了最主要配置
在这里插入图片描述
配置/var/named/named.nfs

[root@server nfs]# vim /var/named/named.nfs$TTL 1d
@       IN      SOA 	@    admin.rhce.com.  (11111 )IN      NS      ns.rhce.com.
ns      IN      A       172.16.10.10
www     IN      A       172.16.10.10

在这里插入图片描述

重启服务

[root@server named]# systemctl restart named

验证dns是否通
在这里插入图片描述

四 开启防火墙

server firewalld

firewalld

[root@server ~]# systemctl start firewalld
[root@server ~]# systemctl enable firewalld
[root@server ~]# firewall-cmd --permanent --add-service=nfs
[root@server ~]# firewall-cmd --permanent --add-service=mountd
[root@server ~]# firewall-cmd --permanent --add-service=rpc-bind
[root@server ~]# firewall-cmd --permanent --add-port=80/tcp
[root@server ~]# f rewall-cmd --reload

查看防火墙放行的端口及其服务
[root@server ~]# firewall-cmd --list-services
[root@server ~]# firewall-cmd --list-ports
在这里插入图片描述

五 配置nfs服务器

node02 nfs

node02安装并启动NFS服务器

[root@node ~]# dnf install nfs-utils  -y

开机自启服务
[root@node ~]# systemctl enable --now nfs-server

查看状态
[root@node ~]# systemctl status nfs-server
在这里插入图片描述
配置导出目录,修改文件权限,写入html文件内容

[root@node rhce]#  mkdir /rhce
[root@node rhce]#  chmod 777 /rhce/ -R
[root@node rhce]#  vim /etc/exports
/rhce 172.16.10.10(rw)

在这里插入图片描述

server autofs

查看导出的目录

[root@server ~]# showmount -e 172.16.10.40

在这里插入图片描述
配置autofs自动挂载

# 下载autofs软件包
[root@server ~]#  yum install autofs  -y

修改配置文件

[root@server rhce]# vim /etc/auto.master
/nfs /etc/auto.nfs
#本地端目录	具体挂载配置文件

在这里插入图片描述

[root@server rhce]# vim /etc/auto.nfs
rhce 172.16.10.40:/rhce
#本地端子目录	挂载参数	服务器	:服务器对应目录

在这里插入图片描述
重启服务
systemctl restart autofs
进入rhce目录,切nfs目录无法查看rhce,需要切进rhce目录,使用后方可查看
在这里插入图片描述
使用后可查看挂载详情
df -h
在这里插入图片描述

六 开启SELinux

SELinux
查看端口类型是否匹配

[root@server ~]#  ll /var/www -Z		# 查看端口类型

更改/nfs文件及其子目录的标签

[root@server ~]#  chcon -t httpd_sys_content_t /nfs/ -R
# 开启SELinux
[root@server ~]#  setenforce 1修改bool值
setsebool -P httpd_use_nfs 1 

当 httpd进程使用 nfs 文件系统时,需要打开一个selinux 布尔值 这个提示会在系统日志中出现,setsebool -P httpd_use_nfs 1 这个是开启的命令

七 验证是否能访问www.rhce.com

在这里插入图片描述

http://www.lryc.cn/news/398637.html

相关文章:

  • 威纶通触摸屏软件离线仿真时出现报错8000端口占用或服务器断线
  • CAS详解
  • 【笔记】虚拟机中的主从数据库连接实体数据库成功后的从数据库不同步问题解决方法2
  • 【每日一练】python类和对象现实举例详细讲解
  • 【学习css1】flex布局-页面footer部分保持在网页底部
  • Java中创建线程的几种方式
  • [A-04] ARMv8/ARMv9-Cache的相关策略
  • 【笔试常见编程题06】最近公共祖先、求最大连续bit数、二进制插入、查找组成一个偶数最接近的两个素数
  • 【工具分享】Gophish——网络钓鱼框架
  • “职业三大底层逻辑“是啥呢?
  • 飞睿智能无线高速uwb安全数据传输模块,低功耗、抗干扰超宽带uwb芯片传输速度技术新突破
  • 手把手教你从微信中取出聊天表情图片,以动态表情保存为gif为例
  • 【深度学习】图形模型基础(5):线性回归模型第三部分:线性回归模型拟合
  • 【Git 入门】初始化配置与新建仓库
  • C语言 求两个整数的最大公约数和最小公倍数
  • Linux arm64平台指令替换函数 aarch64_insn_patch_text_nosync
  • 谷歌浏览器插件开发笔记0.1.033
  • ETag:Springboot接口如何添加Tag
  • JavaSe系列二十七: Java正则表达式
  • (深度估计学习)Depth Anything V2 复现
  • C语言——printf、scanf、其他输入输出函数
  • adb 常用的命令总结
  • Java发展过程中,JVM的演进
  • 笔记:在Entity Framework Core中如何处理多线程操作DbContext
  • RabbitMQ 高级功能
  • 软件架构之开发管理
  • 【Linux 基础】df -h 的输出信息解读
  • 南航秋招指南,线上测评和线下考试
  • 用MATLAB绘制三向应力圆
  • PyTorch 1-深度学习