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. (
			0
			5
			3
			10
			15 )
   		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 distribution

Copyright (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: 0

mysql> 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.zip
 inflating: 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

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】文件操作(终卷)

前言 我们在上一卷中了解了顺序读写的函数,现在就让我们从随机读写的函数开始吧。 什么是随机读写? 就是想在哪个位置读或写都行,比较自由。文件打开时光标默认在起始位置。想从后面的某个部分读或写,就得让文件指针来到那个位…

【C语言】宏详解(上卷)

前言 紧接着预处理详解(上卷),接下来我们来讲宏(隶属于预处理详解系列)。 #define定义宏 #define机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro&#xff…

图解 Python 编程(12) | 文件和编码方式

🌞欢迎来到Python 的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 📆首发时间:🌹2024年6月9日&am…

使用 Scapy 库编写 TCP 劫持攻击脚本

一、介绍 TCP劫持攻击(TCP Hijacking),也称为会话劫持,是一种攻击方式,攻击者在合法用户与服务器之间的通信过程中插入或劫持数据包,从而控制通信会话。通过TCP劫持,攻击者可以获取敏感信息、执…

(2024,扩散,DMP,提示混合,动态门控,阶段特异性,微调)通过混合提示进行扩散模型修补

Diffusion Model Patching via Mixture-of-Prompts 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0 摘要 1 简介 2 相关工作 3 扩散模型修补(DMP) 3.1 架构…

【召回第一篇】召回方法综述

各个网站上找的各位大神的优秀回答,记录再此。 首先是石塔西大佬的回答:工业界推荐系统中有哪些召回策略? 万变不离其宗:用统一框架理解向量化召回前言常读我的文章的同学会注意到,我一直强调、推崇,不要…

transformer中对于QKV的个人理解

目录 1、向量点乘 2、相似度计算举例 3、QKV分析 4、整体流程 (1) 首先从词向量到Q、K、V (2) 计算Q*(K的转置),并归一化之后进行softmax (3) 使用刚得到的权重矩阵,与V相乘,计算加权求和。 5、多头注意力 上面…

python爬虫入门教程(二):requests库的高级用法

requests库除了基本的GET和POST请求外,requests库还提供了许多高级功能,本文将介绍其中一些常用的用法。包括: 会话保持(Session)SSL证书验证文件上传代理设置自定义HTTP适配器超时设置 请求参数 文章最开始&#x…

dockerhub不可用临时解决方案

近日,在拉取一些docker hub的镜像的时候死活拉不下来,要么超时,要么无法接站点地址,不管是docker hub,还是国内镜像站,统统都不行了。 经过各大媒体报道,以及自己的亲身验证,才知道&#xff0c…

android集成百度文心一言实现对话功能,实战项目讲解,人人都能拥有一款ai应用

大家好,今天给大家讲解下如何实现一个基于百度文心一言的app功能,app内部同时集成了讯飞的语音识别。本文适用于有android基础的小伙伴阅读,文章末尾放上本项目用到的全部实例代码,在使用前请务必看完本文章。 先来给大家看看效果…

Spring的Controller是单例还是多例,如何保证线程安全的。

目录 验证是否单例(默认单例) 多例测试 单例对象成员变量测试 多例对象成员变量测试 解决方案 结论: 补充说明 答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。 正…

Windows下SVN文件损坏,启动服务报错1067

之前碰到过一次,忘记最后怎么解决的了,只记得大概原理和原因,以及解决办法。 1067错误码,很多地方都会碰到,mysql也会有,看来应该是windows系统的错误码。跟具体程序无关。所以直接百度“SVN”、“1067”…

【Python报错】已解决ValueError: Expected 2D array, got 1D array instead

成功解决“ValueError: Expected 2D array, got 1D array instead”错误的全面指南 一、引言 在Python的数据分析和机器学习领域,尤其是使用NumPy、Pandas、scikit-learn等库时,经常会遇到各种类型错误。其中,“ValueError: Expected 2D arr…

AI菜鸟向前飞 — LangChain系列之十七 - 剖析AgentExecutor

AgentExecutor 顾名思义,Agent执行器,本篇先简单看看LangChain是如何实现的。 先回顾 AI菜鸟向前飞 — LangChain系列之十四 - Agent系列:从现象看机制(上篇) AI菜鸟向前飞 — LangChain系列之十五 - Agent系列&#…

大模型的发展历程

1、早期模型的探索与局限性 1.1早期模型的探索与局限性 从早期的符号逻辑到现代的深度学习 1 模型,AI 领域经历了数十年的探索和迭代,为后续突破打下了坚实基础。随着大数据的发展和 AI 计算能力的爆炸式增长,深度学习模型的崛起显得尤为突出…

有序二叉树java实现

类实现: package 树;import java.util.LinkedList; import java.util.Queue;public class BinaryTree {public TreeNode root;//插入public void insert(int value){//插入成功之后要return结束方法TreeNode node new TreeNode(value);//如果root为空的话插入if(r…

人工智能_机器学习096_PCA主成分分析降维算法_PCA降维原理_介绍和使用_模式识别_EVD特征值分解_SVD奇异值分解---人工智能工作笔记0221

首先我来看PCA降维,可以看到在图像处理中经常用到PCA,经过对数据进行降维可以去除数据噪声,发现数据中的模式,也就是 发现数据的规律. 这里的模式识别就是 机器学习中的一个分支 就是在数据中找规律的意思 我们使用代码看一下 from sklearn.docomposition import PCA from skl…

kivy 百词斩项目 报错

AttributeError: FigureCanvasKivyAgg object has no attribute resize_event AttributeError: FigureCanvasKivyAgg object has no attribute resize_event 是一种常见的Python错误,当你试图访问一个对象(在这个例子中是 FigureCanvasKivyAgg 对象&am…

六、主存储器管理,计算机操作系统教程,第四版,左万利,王英

文章目录 [toc]一、存储管理的功能1.1 存储分配1.2 存储共享1.3 存储保护1.4 存储扩充1.5 地址映射 二、内存资源管理2.1 内存分区2.1.1 静态分区与动态分区2.1.2 等长分区与异长分区 2.2 内存分配2.2.1 静态等长分区的分配2.2.2 *动态异长分区的分配 2.3 碎片与紧凑 三、界地址…

从C到C++,C++入门(2)

在C入门篇(1)中,博主为大家简单介绍了什么是C,以及C中的关键字,命名空间,输入与输出和缺省参数的相关知识。今天就让我们继续一起学习C的基础知识点吧!! 1.函数重载 1.1函数重载的概…