2024真机项目

项目需求:

1. 172.25.250.101 主机上的 Web 服务要求提供 www.exam.com 加密站点,该站点在任何路由可达 的主机上被访问,页面内容显示为 "Hello,Welcome to www.exam.com !",并提供 content.exam.com/yum/AppStream和content.exam.com/yum/BaseOS URL 作为网络仓库供所 有主机使用。
2. 172.25.250.102 主机提供的 NTP 服务将本主机作为服务器,对外提供 NTP 服务,并设置本服务器 为 3 层。
3. 172.25.250.103 主机提供的MySQL 数据库服务使用源码安装官方 mysql-8.4.0 版,并将数据库密 码设定为 redhat。创建名称为 bbs 的数据库提供给论坛服务使用。
4. 172.25.250.104 主机提供 NFS 服务,该服务将导出本地的 /bbs 目录作为论坛数据目录,该导出指 定只能论坛所在主机使用,并且开机自动挂载。
5. 172.25.250.105 主机提供 DNS 服务,该服务需要提供对项目中所有主机名的正向和反向解析,并 要求所有服务器的 DNS 配置为该 DNS 服务器。
6. 172.25.250.106 主机提供 PXE 自动化部署服务,其他两台服务器的系统安装由该服务提供。
7. 172.25.250.107 主机提供基于 Discuz 的论坛服务,该论坛服务使用 172.25.250.103 主机提供的数 据库 bbs,使用 172.25.250.104 主机提供的 NFS 作为论坛数据目录,并开机挂载。并使用 172.25.250.101 主机提供的网络仓库,172.25.250.102 主机提供的 NTP 服务,172.25.250.105 主 机提供的 DNS 服务。
8. 172.25.250.108 主机作为客户端出现,并使用 172.25.250.101 主机提供的网络仓库, 172.25.250.102 主机提供的 NTP 服务,172.25.250.105 主机提供的 DNS 服务。
9. 根据所有服务的相关代码,编写一键部署shell脚本,最基础的功能为 通过执行该脚本实现所有上面 服务。
10. 扩展需求:根据所有服务的相关代码,编写Ansible 角色 exam,通过该角色快速部署上面所有服 务。 其他注意事项 所有服务器的防火墙服务和 SELinux 服务必须开启。 所有服务器提供的网络服务必须在系统重启后仍然可以正常提供服务。

环境拓扑结构

主机环境描述

注意:

172.25.250.101-172.25.250.106 共 6 个 IP 地址由servera.exam.com服务器进行提供。

172.25.250.107 由 serverb.exam.com 服务器进行提供。

172.25.250.108 由 serverc.exam.com 服务器进行提供。

项目需求描述

1.配置网络

[root@server ~]# nmcli connection modify ens32 ipv4.addresses 172.25.250.101/24 ipv4.method manual ipv4.gateway 172.25.250.2 ipv4.dns 172.25.250.105 connection.autoconnect yes
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.102/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.103/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.104/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.105/24
[root@server ~]# nmcli connection modify ens32 +ipv4.addresses 172.25.250.106/24
[root@server ~]# nmcli connection up ens32

登录172.25.250.101

2.配置DNS

2.1安装软件包(这里下载软件包注意网关是否改为自己电脑的网关)

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

 2.2放行防火墙规则

[root@server ~]# systemctl start firewalld
[root@server ~]# firewall-cmd --permanent --add-service=dns
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# 

2.3 配置DNS服务          

[root@server ~]# cat /etc/named.conf
options {listen-on port 53 { 172.25.250.105; };directory "/var/named";
};
zone "exam.com" IN {type master;file "named.exam";
};
[root@server ~]# cat /var/named/named.exam
$TTL 1D
@ IN SOA  @   admin.exam.com. (0531015 )IN 	 NS dns.exam.com.
dns  		IN	A  172.25.250.105
content 	IN  	A  172.25.250.101
www 		IN  	A  172.25.250.101
ntp 		IN  	A  172.25.250.102
mysql  		IN 	A  172.25.250.103
nfs		 IN  	A  172.25.250.104
pxw 		IN  	A  172.25.250.106
bbs 		IN  	A  172.25.250.107
workstation  	IN 	A  172.25.250.108
[root@server ~]# systemctl restart named /重启named/

 3、配置 Web 服务 

[root@server ~]# dnf install httpd -y
[root@server ~]#  grep ServerName /etc/httpd/conf/httpd.conf 
# ServerName gives the name and port that the server uses to identify itself.
ServerName www.example.com:80

将图中画箭头一行的#去掉

   

[root@server ~]# systemctl restart httpd
[root@server ~]# echo "Hello,Welcome to www.exam.com !" > /var/www/html/index.html
[root@server ~]# firewall-cmd --permanent --add-service=http
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# curl www.exam.com
Hello,Welcome to www.exam.com !

4、配置 YUM 仓库                                                                         

[root@server ~]# mkdir /var/www/html/yum
[root@server ~]# mount /dev/sr0 /var/www/html/yum
mount: /var/www/html/yum: WARNING: source write-protected, mounted read-only.
[root@server ~]# cat /etc/yum.repos.d/rpm.repo 
[openEuler-everything]
name=openEuler-everything
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/
enabled=1
gpgcheck=0
gpgkey=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/everything/x86_64/RPM-GPG-KEY-openEuler[openEuler-EPOL]
name=openEuler-epol
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/EPOL/main/x86_64/
enabled=1
gpgcheck=0[openEuler-update]
name=openEuler-update
baseurl=http://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/update/x86_64/
enabled=1
gpgcheck=0
[root@server ~]# vim /etc/yum.repos.d/rpm.repo 

以上代码详情请参照下面超链接

【汇总贴】openEuler常用repo源 - #24,来自 HLG523653667 - 迁移 - openEuler 论坛为了方便大家快速找到openEuler所需版本的repo源,现将openEuler各版本的repo源进行了整理并归类,具体如下: 1、长期支持版本: openEuler-20.03-LTS: repo源 openEul…icon-default.png?t=N7T8https://forum.openeuler.org/t/topic/768/24

5、配置时间服务器   

   server主机配置服务器端                                                                  

[root@server ~]# vim /etc/chrony.conf

 改下图           

[root@server ~]# systemctl enable chronyd
[root@server ~]# firewall-cmd --permanent --add-service=ntp
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# systemctl restart chronyd
[root@server ~]# 

node主机配置客户端  

node主机配置网络172.25.250.107/24                                                                                                       

[root@node ~]# vim /etc/chrony.conf

进入/etc/chrony.conf文件改下图中的一行

                                                                                                                                        


[root@node ~]# systemctl restart chronyd
[root@node ~]# systemctl enable chronyd
[root@node ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 172.25.250.102                3   6    17    13    +21us[+5190ns] +/-  133us
[root@node ~]# 

6、配置数据库服务器                                                                     

[root@server ~]# groupadd mysql
[root@server ~]# useradd -r -g mysql -s /b
bin/  boot/ 
[root@server ~]# useradd -r -g mysql -s /bin/false mysql
[root@server ~]# tar xvf mysql-8.4.0.tar.gz
[root@server /]# cd  mysql-8.4.0/
[root@server mysql-8.4.0]# mkdir bld
[root@server mysql-8.4.0]# cd bld/
[root@server ~]# yum install mysql-server -y
[root@server ~]# systemctl start mysqld 

 解压MySQL8.4.0之前,打开xftp,将下载的软件包拖到虚拟机的根目录再进行解压

 
 

[root@server ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.37 Source distributionCopyright (c) 2000, 2024, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> alter user root@localhost identified by 'redhat';  /更改或设置MySQL登录密码
Query OK, 0 rows affected (0.01 sec)mysql> update mysql.user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> flush peivileges;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'peivileges' at line 1
mysql> show databases-> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)

更改防火墙规则

[root@server ~]# firewall-cmd --permanent --add-service=mysql
success
[root@server ~]# firewall-cmd --reload
success
[root@server ~]# 

                                                                                                        7、配置 NFS 服务器                                                                     

[root@server bld]# mkdir /bbs
[root@server bld]# chmod 777 /bbs/
[root@server bld]# vim /etc/exports
[root@server bld]# cat /etc/exports
/bbs   bbs.exam.com(rw)
[root@server bld]# systemctl start nfs-server
[root@server bld]# showmount -e nfs.exam.com
Export list for nfs.exam.com:
/bbs bbs.exam.com
[root@server bld]# firewall-cmd --permanent --add-service=nfs
success
[root@server bld]# firewall-cmd --permanent --add-service=mountd 
success
[root@server bld]# firewall-cmd --permanent --add-service=rpc-bind 
success 
[root@node ~]# showmount -e nfs.exam.com
Export list for nfs.exam.com:
/bbs bbs.exam.com
[root@node ~]# mount nfs.exam.com:/bbs /var/www/html/
[root@node ~]# df -h /var/www/html/
Filesystem         Size Used Avail Use% Mounted on
nfs.exam.com:/bbs   44G   10G   35G  23% /var/www/html
[root@node ~]# tail -1 /etc/fstab 
nfs.exam.com:/bbs   /var/www/html       nfs   defaults  0 0
[root@node ~]# reboot
[root@node ~]# Connection closing...Socket close.
[root@node ~]# df -h /var/www/html/
Filesystem         Size Used Avail Use% Mounted on
nfs.exam.com:/bbs   44G   11G   34G  25% /var/www/html

   8、配置论坛服务器                                                                    

[root@node ~]# dnf install httpd php php-mysqlnd -y
[root@node ~]# cp Discuz_X3.5_SC_UTF8_20230520.zip /var/www/html/
[root@node ~]# cd /var/www/html/
[root@node  html]# ll
total 11500
-rw-r--r--. 1 nobody nobody 11775903 May 10 13:02 
Discuz_X3.5_SC_UTF8_20230520.zip
[root@node html]# unzip Discuz_X3.5_SC_UTF8_20230520.zip 
Archive: Discuz_X3.5_SC_UTF8_20230520.zipinflating: LICENSE                 inflating: qqqun.png               creating: readme/inflating: readme.html             inflating: readme/changelog.txt    
[root@node html]# cd upload/
[root@node upload]# chmod 777 data/ uc_server/ uc_client/ config/ -R
[root@node upload]# setsebool -P httpd_use_nfs 1
[root@node upload]# systemctl start --now httpd
[root@node upload]# firewall-cmd --permanent --add-service=http
success
[root@node upload]# firewall-cmd --reload 
success
[root@node ~]# setsebool -P httpd_can_network_connect_db 1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/25449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据:人工智能的基石 | Scale AI 创始人兼 CEO 亚历山大·王的创业故事与行业洞见

引言 在人工智能领域,数据被誉为“新石油”,其重要性不言而喻。随着GPT-4的问世,AI技术迎来了新的浪潮。众多年轻创业者纷纷投身这一领域,Scale AI的创始人兼CEO亚历山大王(Alexander Wang)就是其中的佼佼…

什么是Java?

什么是Java?java是什么?下面我们来总结一下。 java是什么? java是一个静态编程语言,具有强大的多线程特征,目前java不仅采用c语言的优点,还去掉了一些多继承指针,等复杂的概念,我们…

Git配置 安装及使用

团队开发的神 找工作必备 环境变量 配置好环境后 打开终端环境 winr cmd 我习惯在桌面打开,然后进入相应的文件夹 (文件夹结构) (个人感觉能用cmd不用git,cmd更好用一些) 进入对应的文件夹 填写自己对…

docker安装rabbitmq详解

目录 1、安装 1-1.查看rabbitmq镜像 1-2.下载Rabbitmq的镜像 1-3.创建并运行rabbitmq容器 1-4.查看启动情况 1-5.启动web客户端 1-6.访问rabbitmq的客户端 2..遇到的问题 解决方法: 1、安装 1-1.查看rabbitmq镜像 docker search rabbitmq 1-2.下载Rabbitmq的镜像 拉…

国标GB/T 28181详解:校时流程详细说明

目录 一、定义 二、作用 1. 时间同步性 2. 事件记录的准确性 3. 跨平台、跨设备协作 4. 降低时间误差 5. 安全性提升 三、基本要求 四、命令流程 五、协议接口 六、校时效果 1、未校时的情况 2、校时后的效果 七、参考 一、定义 GB28181协议要求所有的监控设…

python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制

实现效果(红框内): 后端api如下: task_api.route(/user/task/states_list, methods[POST, GET]) visitor_token_required def task_states(user):name_list [待接单, 设计中, 交付中, 已完成, 全部]data []color [#F04864, …

CPP初阶:CPP的内存管理模式

目录 一.new和delete操作自定义类型 1.1C语言的内存管理 1.2CPP的内存管理方式 1.3C与CPP内存管理的差异 二.operator new和operator delete函数 三.CPP空间操作符使用深化 3.1 连续内存开辟与释放 3.2 非连续内存开辟与释放 四.new和delete的实现原理 4.1内置类型 4.2…

100道面试必会算法-32-二叉树右视图用栈实现队列

100道面试必会算法-32-二叉树右视图&用栈实现队列 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,n…

【内网攻防实战】红日靶场(一)续篇_金票与银票

红日靶场(一)续篇_权限维持 前情提要当前位置执行目标 PsExec.exe拿下域控2008rdesktop 远程登录win7msf上传文件kail回连马连上win7upload上传PsExec.exe PsExec.exe把win7 带到 2008(域控hostname:owa)2008开远程、关防火墙Win7…

OpenCV绘制直线

一 绘制图形 画线 画矩形 画圆 画椭圆 画多边形 绘制字体 二 画线 line(img,开始点,结束点,颜色…) 参数结束 img:在那个图像上画线 开始点,结束点:指定线的开始与结束位置; 颜色,线宽,线体…

Linux系统编程(十二)线程同步、锁、条件变量、信号量

线程同步: 协同步调,对公共区域数据按序访问。防止数据混乱,产生与时间有关的错误。数据混乱的原因 一、互斥锁/互斥量mutex 1. 建议锁(协同锁): 公共数据进行保护。所有线程【应该】在访问公共数据前先拿…

文心一言 VS 讯飞星火 VS chatgpt (277)-- 算法导论20.3 4题

四、如果调用 vEB-TREE-INSERT 来插入一个已包含在 vEB 树中的元素,会出现什么情况?如果调用 vEB-TREE-DELETE 来删除一个不包含在 vEB 树中的元素,会出现什么情况?解释这些函数为什么有相应的运行状况?怎样修改 vEB 树…

vs - vs2015编译gtest-v1.12.1

文章目录 vs - vs2015编译gtest-v1.12.1概述点评笔记将工程迁出到本地后,如果已经编译过工程,将工程Revert, Clean up 干净。编译用的CMake, 优先用VS2019自带的打开VS2015X64本地命令行编译gtest工程测试安装自己写个测试工程,看看编译出来的…

[vulnhub]Lin.Security主机Linux提权

Hash Crack(Hash cat) boblinsecurity:~$ cat /etc/passwd $ echo "AzER3pBZh6WZE">hash 检查哈希类型: $ hash-identifier AzER3pBZh6WZE $ hashcat -m 1500 -a 0 hash /usr/share/wordlists/rockyou.txt --force username:insecurity password:AzER3pBZh6WZE…

深度学习简单概述

概述 理论上来说,参数越多的模型复杂度越高、容量越大,这意味着它能完成更复杂的学习任务。但复杂模型的训练效率低,易陷入过拟合。随着云计算、大数据时代的到来,计算能力的大幅提高可以缓解训练的低效性,训练数据的…

Unity2D游戏制作入门 | 09(之人物动画制作)

上期链接:Unity2D游戏制作入门 | 08-CSDN博客 人物走路动画逻辑补充(该帖没有的内容,我给补充了请先看完这帖,再去看补充):人物按下shifit走路动画设定09(第九期先行补充) 上期我们…

【30天精通Prometheus:一站式监控实战指南】第18天:apache_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…

57.Semaphore信号量

用来限制能同时访问共享资源的线程上限。只是适合限制单机线程数量。 Slf4j public class SemaphoreDemo {public static void main(String[] args) {Semaphore semaphore new Semaphore(3);for (int i 0; i < 10; i) {new Thread(() -> {try {semaphore.acquire();//…

【Mac】Alfred 5 for Mac(苹果效率提升工具)v5.5软件介绍及安装教程

软件介绍 Alfred 是适用于 Mac 操作系统的流行生产力应用程序。它旨在帮助用户在 Mac 电脑上更高效地启动应用程序、搜索文件和文件夹以及执行各种任务。借助 Alfred&#xff0c;用户可以创建自定义键盘快捷方式、设置自定义工作流程并使用热键访问功能。 Alfred for Mac 的一…

电影制作中的版本控制:Perforce Helix Core帮助某电影短片避免灾难性文件损坏,简化艺术资产管理

Zubaida Nila是来自马来西亚的一名视觉特效师和虚拟制作研究员&#xff0c;她参加了Epic Games的一个为期六周的虚拟培训和指导项目——女性创作者计划。该计划提供了虚幻引擎工作流程的实践经验以及其他课程。Zubaida希望从中获得更多关于虚幻引擎的灯光、后期处理和特效技能方…