给openlab搭建web网站

本文详细描述了如何基于www.openlab.com创建子界面,包括限制学生信息访问权限、设置HTTPS加密缴费网站,并配置SSL证书。涉及的操作包括关闭防火墙、安装软件、设置虚拟主机、用户权限管理等。

网站需求:

  • 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!!

  • 2.给该公司创建三个子界面分别显示学生信息,教学资料 和缴费网站,基于www.openlab.com/student网站访问学生信息,基于www.openlab.com/data网站访问教学资料,基于 www.openlab.com/money网站访问缴费网站。

  • 3.要求

    • (1)学生信息网站只有song和tian两人可以访问,其他 用户不能访问。

    • (2)访问缴费网站实现数据加密基于https访问。

第一步:准备工作

1>关闭安全软件

[root@server ~]# setenforce  0
​
[root@server ~]# systemctl stop firewalld

2>安装所需软件

[root@server ~]# yum install httpd mod_ssl -y

3>hosts映射添加

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

image-20230824081624313

第二步:创建www.openlab.com网站

1>创建网页目录及网页

[root@server ~]# mkdir -p /www/openlab
[root@server ~]# echo 'welcome to openlab' > /www/openlab/index.html
[root@server ~]# vim /etc/httpd/conf/httpd.conf
写入:
<virtualhost 192.168.118.129>
        documentroot /www/openlab
        servername "www.openlab.com"
        <directory /www/openlab>
                allowoverride none
                require all granted
        </directory>
</virtualhost>

2>重启服务

[root@server ~]# systemctl restart httpd  #重启服务

3> 测试

[root@server ~]# firefox  # linux端打开浏览器输入www.openlab.com测试

image-20230823151558830

第三步:创建教学资料子网站www.openlab.com/data

1>创建网页目录及网页

[root@server ~]# mkdir /www/openlab/data
[root@server ~]# echo 'data' > /www/openlab/data/index.html
[root@server ~]# vim /etc/httpd/conf/httpd.conf 
写入:
<virtualhost 192.168.118.129>
        documentroot /www/openlab/data
        alias /data  /www/openlab/data
        servername "www.openlab.com"
        <directory /www/openlab/data>
                allowoverride none
                require all granted
        </directory>
</virtualhost>

image-20230823183713560

2>重启服务

[root@server ~]# systemctl restart httpd  #重启服务

3> 测试

[root@server ~]# firefox  # linux端打开浏览器输入www.openlab.com/data测试

image-20230823183934334

第四步:创建学生信息子网站www.openlab.com/student

1>添加song和tian学生信息并设置密码

[root@server ~]# useradd song
[root@server ~]# passwd song
更改用户 song 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# useradd tian
[root@server ~]# passwd tian
更改用户 tian 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。

2>创建存储登录网站的密码

[root@server ~]# htpasswd -c /etc/httpd/passwd song 
New password: 
Re-type new password: 
Adding password for user song
[root@server ~]# htpasswd  /etc/httpd/passwd tian 
New password: 
Re-type new password: 
Adding password for user tian

image-20230823214906608

3>创建网页目录及网页

[root@server ~]# mkdir -p /www/openlab/student
[root@server ~]# echo 'student' > /www/openlab/student/index.html
[root@server ~]# vim /etc/httpd/conf/httpd.conf 
写入:
<directory /www/openlab/student>
        authuserfile /etc/httpd/passwd
        authname "student"
        authtype basic
        require user song tian
</directory>

image-20230823215234576

4>重启服务

[root@server ~]# systemctl restart httpd  #重启服务

5>测试

[root@server ~]# firefox  # linux端打开浏览器输入www.openlab.com/student测试

image-20230823215536634

image-20230823215716057

第五步:创建缴费子网站www.openlab.com/money

1>创建验证证书真实性的私钥文件

[root@server ~]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/money.key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

image-20230823220403302

2>创建数字证书

[root@server ~]# openssl req -utf8 -new -key /etc/pki/tls/private/money.key -x509 -days 365 -out /etc/pki/tls/certs/money.crt
Enter pass phrase for /etc/pki/tls/private/money.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86
State or Province Name (full name) []:shanxi
Locality Name (eg, city) [Default City]:xianyang
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (eg, your name or your server's hostname) []:server
Email Address []:hh@qq.com

image-20230823220931897

3>创建网页目录及网页

[root@server ~]# mkdir -p /www/openlab/money
[root@server ~]# echo 'money' > /www/openlab/money/index.html
[root@server ~]# vim /etc/httpd/conf/httpd.conf 
写入:
<virtualhost 192.168.118.129:443>
        sslengine on
        sslcertificatefile /etc/pki/tls/certs/money.crt
        sslcertificatekeyfile /etc/pki/tls/private/money.key
        documentroot /www/openlab
        alias /data  /www/openlab/money
        servername www.openlab.com
        <directory /www/openlab/money>
                allowoverride none
                require all granted
        </directory>
</virtualhost>

image-20230823221924733

4>重启服务

[root@server ~]# systemctl restart httpd
🔐 Enter TLS private key passphrase for www.openlab.com:443 (RSA) : ******  

5>测试

[root@server ~]# firefox  # linux端打开浏览器输入https://www.openlab.com/money测试

image-20230823223149681

image-20230823222415919

<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策略验证等进阶内容。 --- ### **
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值