给openlab搭建web网站

本文详细描述了如何为OpenLab搭建web网站,包括配置域名、子界面、安装httpd和httpd_mod_ssl、设置虚拟主机、用户访问权限控制、数据加密以及防火墙配置,确保安全访问和管理。

一、题目要求

 作业:请给openlab搭建web网站
网站需求:

(一)
1.基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,

(二)
1、基于 www.openlab.com/student 网站访问学生信息,
2、基于 www.openlab.com/data 网站访问教学资料
3、基于 www.openlab.com/money 网站访问缴费网站。

(三)
要求
(1)学生信息网站只有 song 和 tian 两个用户可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于 https 访问

二、步骤

第一大题:

1、安装虚拟机(略)

2、配置仓库

[root@localhost ~]# vim /etc/yum.repos.d/rpm.repo

[baseos]
name = baseos
baseurl = /mnt/BaseOS
enable = 1
gpgcheck = 0

[appstream]
name = appstream
baseurl = /mnt/AppStream
enable = 1
gpgcheck = 0

3、挂载

[root@localhost ~]# mount /dev/sr0 /mnt

注意:出现以下错误

原因:

解决:

勾选“已连接”

4、安装httpd软件包

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

5、启动httpd服务

[root@localhost ~]# systemctl start httpd

[root@localhost ~]# getenforce
[root@localhost ~]# setenforce 0

 

注意:如果不临时关闭selinux,则会出现以下情况

 

6、写配置文件

6.1方法:

        1.定义web服务器虚拟主机的文件目录
                (1)allowoverride none
                (2)require all granted

        2.定义虚拟主机

                (1)documentroot
                (2) servername
        3.web文件目录创建

6.2命令

[root@localhost ~]# vim /etc/httpd/conf.d/vhost.conf

<directory /www>
allowoverride none
require all granted
</directory>
<virtualhost 192.168.198.139:80>
servername www.openlab.com
documentroot /www/openlab
</virtualhost>

7、本地解析

[root@localhost ~]# vim /etc/hosts

在hosts中编写

192.168.198.139 www.openlab.com

 8、输出重定向

9、放行端口80端口,放行http服务

打开主配置文件

[root@localhost ~]# firewall-cmd --add-service=http

[root@localhost ~]# firewall-cmd --add-port=80

注意:如果防火墙不放行http服务,则会出现以下情况

 

10、修改主配置文件

打开主配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

 添加

ServerName 0.0.0.0:80

9、测试结果

第二大题:

第三大题:

1、安装httpd mod_ssl

[root@localhost ~]# dnf install httpd mod_ssl -y

 2、学生信息网站只有 song 和 tian 两个用户可以访问,其他用户不能访问

2.1创建用户认证的密码文件

2.2写配置文件 

 2.3重启防火墙

[root@localhost ~]# systemctl restart httpd

3、访问缴费网站实现数据加密基于 https 访问

3.1创建证书和密钥

 3.2移动密钥openlab.key位置

3.3写配置文件


4、测试

<think>嗯,用户要求查询51openlab的网络拓扑搭建教程信息。用户引用了三段文本,其中[1]提到了Mininet实现数据中心胖树拓扑以及参考OpenLab实验平台的内容,[2]和[3]是关于模型优化的技术说明。用户特别说明引用只是参考,实际需求围绕51openlab的网络拓扑教程。用户的表述可能表明他们正在进行类似胖树拓扑搭建的学术实验。考虑到用户使用了"数据中心网络拓扑"、"Mininet"、"SDNLAB"等专业术语,我猜测用户身份可能是网络工程学生或SDN研究者。用户具体目标是查找51openlab平台上的拓扑搭建教程,但可能实际需要的是分步实施指南而非单纯网址。在回复内容规划方面,首先确认51openlab确实有相关实验模块。其次应该给出拓扑构建的核心要点:包括Python脚本编写规范、Mininet的custom参数加载方式、连通性测试方法等关键技术节点。由于用户引用了胖树拓扑代码样例,我将重点说明这种结构的实现逻辑——核心层、汇聚层、接入层的交换机命名规则以及主机连接规则。最后提示实验验证环节,这是用户引用中提到的"连通性及带宽测量"的要求。准备用分层结构来组织回答:从基础环境配置到拓扑设计再到结果验证,这样符合用户做实验的线性流程。考虑到用户展示的技术理解水平,我还会提醒拓扑文件命名学号等细节要求,虽然用户未明说但引用中出现过这个要求。相关的问题部分延伸了拓扑可变性等专业层面思考,这是因为胖树结构在实际应用中常需要调整规模。用户没有表现情绪焦虑,属于明确的技术查询。但引用[1]显示实验涉及多个技术栈,因此需要避免遗漏关键步骤如OVS配置或带宽测试命令。最后统一使用中文术语保持技术表述准确,并提醒教程资源可能需平台注册。</think> 以下是根据51OpenLab平台相关实验整理的网络拓扑搭建指南的核心步骤和技术要点,适用于数据中心胖树拓扑(Fat-Tree)的实践操作: --- ### **51OpenLab网络拓扑搭建核心教程** #### **1. 环境准备** - **工具要求** - Mininet 2.3.0+ - Python 3.6+ - Open vSwitch(OVS) - **平台资源** 访问51OpenLab官网 → “实验中心” → 搜索 **“Mininet多数据中心网络拓扑流量带宽实验”**(引用来源[^1]) --- #### **2. 拓扑脚本编写(以胖树结构为例)** ```python # 文件名:学号_fattree.py(需替换实际学号) from mininet.topo import Topo class FatTreeTopo(Topo): def __init__(self): Topo.__init__(self) # 核心层交换机 (k=4时需2台) core_sw = [self.addSwitch('cs{}'.format(i+1)) for i in range(2)] # 汇聚层交换机 (每个Pod需k/2=2台,共2 Pod) agg_sw = [[self.addSwitch('a{}-{}'.format(pod, i+1)) for i in range(2)] for pod in range(1,3)] # 接入层交换机 (每个Pod需k/2=2台) edge_sw = [[self.addSwitch('e{}-{}'.format(pod, i+1)) for i in range(2)] for pod in range(1,3)] # 主机 (每台接入交换机下挂k/2=2台) hosts = [[[self.addHost('h{}-{}-{}'.format(pod, edge, j+1)) for j in range(2)] for edge in range(1,3)] for pod in range(1,3)] # 连接核心层↔汇聚层 for i, cs in enumerate(core_sw): for pod in agg_sw: self.addLink(cs, pod[i]) # 核心交换机的i端口连接每个Pod的第i台汇聚交换机 # 连接汇聚层↔接入层(每个Pod内) for pod_idx, pod in enumerate(agg_sw): for agg in pod: for edge in edge_sw[pod_idx]: self.addLink(agg, edge) # 连接接入层↔主机 for pod_idx, pod_hosts in enumerate(hosts): for edge_idx, edge in enumerate(edge_sw[pod_idx]): for host in pod_hosts[edge_idx]: self.addLink(edge, host) topos = {'fattree': (lambda: FatTreeTopo())} ``` --- #### **3. 拓扑加载与验证** ```bash # 启动Mininet并加载自定义拓扑 sudo mn --custom 学号_fattree.py --topo fattree # 在Mininet CLI中执行验证: > pingall # 测试主机连通性(预期丢包率0%) > iperf h1-1-1 h2-2-2 # 测量跨Pod主机带宽 ``` --- #### **4. 关键技术说明** 1. **结构原理** 胖树拓扑采用**三层CLOS架构**(核心层、汇聚层、接入层),实现1:1超额带宽,消除网络瓶颈(K叉树模型下链路冗余)。 - **命名规则**:`[层标识]-[Pod编号]-[设备编号]`(如`a1-2`表示Pod1的第2台汇聚交换机) 2. **调试要点** - 若链路不通,检查OVS流表:`ovs-ofctl dump-flows 交换机名` - 带宽异常时调整链路容量:`addLink()`时添加`bw=参数`(单位Mbps) --- > **注**:完整实验需结合51OpenLab的 **[“Mininet多数据中心网络拓扑流量带宽实验”](https://openlab.51cto.com/experiments-list.html)** 模块操作(引用来源[^1]),包含拓扑可视化、QoS策略验证等进阶内容。 --- ### **
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值