RHCE——五、Web服务器及内网穿透(实验篇)

news/2025/1/16 7:42:03/

Web服务器篇

  • 一、快速搭建网站
  • 二、更改网页启动目录
  • 三、内网穿透
    • 1、准备工作
    • 2、搭建网站
    • 3、测试:浏览器中输入ip进行测试
    • 4、使用花生壳进行内网穿透
      • 4.1 注册并登陆
      • 4.2 点击添加映射
      • 4.3 Linux安装花生壳客户端
    • 5、注意
  • 四、搭建具有身份验证功能网站
    • 1、准备工作
    • 2、编辑httpd目录中的用户主页配置文件(不是httpd.conf文件)
    • 3、新建账户,设置权限
    • 4、重启服务并测试
    • 5、增加密码访问控制
    • 6、编辑个人主页配置文件,设置访问控制策略
    • 7、重启服务并测试
  • 五、搭建2个基于域名的虚拟机主机网站
    • 1、准备工作,即安装并启动
    • 2、创建两个目录进行存放启动界面
    • 3、配置Linux的DNS hosts文件以及HTTP主配置文件
    • 4、重启服务并测试
  • 六、搭建2个基于IP地址的虚拟机主机网站
    • 1、准备工作,安装并启动
    • 2、查看自身IP地址并添加IP地址
    • 3、创建两个IP的启动主页面,写入并查看
    • 4、更改主配置文件
    • 5、重启服务并测试
  • 七、搭建2个基于端口号的虚拟机主机网站
    • 1、准备工作,安装并启动
    • 2、创建两个端口并将文件传入
    • 3、更改主配置文件
    • 4、重启服务,在浏览器中访问即可
  • 八、给openlab搭建web网站(综合)
    • 1、网站需求:
    • 2、要求
    • 3、准备工作
    • 4、创建www.openlab.com网站
    • 5、创建教学资料子网站data
    • 6、创建学生信息子网站student
    • 7、创建缴费子网站money

一、快速搭建网站

[root@server ~]# yum  install httpd  -y 
[root@server web1]# cd ~
[root@server ~]# echo  "welcome to www.openlab.com"  > /var/www/html/index.html
[root@server ~]# ls  /var/www/html/
index.html
[root@server ~]# systemctl  restart  httpd 

在这里插入图片描述
查看SELinux以及防火墙状态,若开启,则临时关闭SELinux以及防火墙。
在这里插入图片描述
查看etc下的passwd文件即可查到apache。
在这里插入图片描述
这里我们可以进入主配置文件进行查看启动页面在哪个文件即可以看到:
在这里插入图片描述
所以,我们输入命令到此文件中,输出一个字符串:
在这里插入图片描述

  • 查看:linux的火狐浏览器中输入127.0.0.1
    image-20230822094410580
    使用主机去访问虚拟机的IP地址,这里我的IP地址为192.168.13.134
    在这里插入图片描述
  • 注意:
    • 也可以在Windows端打开浏览器,输入linux服务器的IP地址
    • 也可以通过curl命令访问网页,来验证网站是否搭建成功
[root@server ~]# curl   192.168.48.130

二、更改网页启动目录

  • 第一步:准备工作
[root@server ~]# setenforce  0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum  install httpd  -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd

在这里插入图片描述

  • 第二步:新建网页存储目录/web1,使用xftp将网页数据上传到/web1

在这里插入图片描述

[root@server ~]# mkdir  /web1
[root@server ~]# cd  /web1
[root@server web1]# ls
css  dingban.mp4  img  index.html  js  temp

在这里插入图片描述

  • 第三步:修改主配置文件
DocumentRoot "/web1"           # 第124行修改为真实的网页存储目录<Directory "/web1">            # 第129行修改网页存储目录的访问权限AllowOverride None# Allow open access:Require all granted
</Directory>

在这里插入图片描述

  • 第三步:重启服务器并测试
[root@server ~]# systemctl restart httpd
# windows端打开浏览器输入服务器地址测试

三、内网穿透

实验材料: 花生壳管理平台,Linux虚拟机以及xshell(要不要都行,远程连接工具),再就测试需要使用的浏览器(尽量不用IE浏览器),这里我使用的是谷歌浏览器
实验要求: 搭建网站使用花生壳进行内网穿透实现公网访问

1、准备工作

[root@server ~]# setenforce  0            # 暂时关闭SELinux
[root@server ~]# systemctl stop firewalld # 关闭防火墙
[root@server ~]# yum  install httpd  -y   # 安装apache
[root@server ~]# systemctl start httpd    # 启动
[root@server ~]# systemctl enable httpd

2、搭建网站

[root@server ~]# vim  /etc/httpd/conf/httpd.conf   # 修改124及129行数据
DocumentRoot "/zy"
<Directory "/zy">
[root@server ~]# systemctl restart httpd  # 重启服务

3、测试:浏览器中输入ip进行测试

这里可以在主机上输入虚拟机IP进行测试,也可以在虚拟机使用浏览器进行访问自身环回:即127.0.0.1,即可访问成功。

4、使用花生壳进行内网穿透

4.1 注册并登陆

image-20230531110252340
在这里插入图片描述

4.2 点击添加映射

在这里插入图片描述
这里https需要进行认证,点进去支付:
在这里插入图片描述

# 应用名称:自定
# 映射类型:https
# 外网域名:系统指定,不能更改
# 外网端口:443,默认
# 内网主机:本机linux服务的IP地址
# 内网端口:本地linux端的http端口,默认80

在这里插入图片描述
内主机这里查看自身虚拟机IP地址:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 Linux安装花生壳客户端

在这里插入图片描述
在这里插入图片描述
点击Linux的立即下载
在这里插入图片描述

# 客户端下载:
[root@server ~]# wget "https://dl.oray.com/hsk/linux/phddns_5.2.0_amd64.rpm" -O phddns_5.2.0_amd64.rpm
# 客户端安装
[root@server ~]# rpm  -ivh  phddns_5.2.0_amd64.rpm 
# 启动
[root@server ~]# phddns  start
# 复制下图“右下角的网址”
# 重新打开浏览器,输入http://b.oray.com,完成账户登录,激活

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 登录激活

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右边即显示了登陆状态。

# 点击绿色公网域名访问网站

在这里插入图片描述
访问此域名即可。

5、注意

  • 重启服务失败的解决方法
    image-20230531140557191
  • 可以执行下列命令查看服务的状态日志,在报错信息中查看提示
systemctl status httpd.service 

image-20230531140649287

  • 可以查看详细日志信息
[root@server ~]# journalctl -xeu httpd.service

在这里插入图片描述

四、搭建具有身份验证功能网站

  • 搭建一个个人用户主页功能网站,实现通过身份验证功能来访问数据
  • 如果想在系统中为每一位用户建立一个独立的网站,通常使用基于虚拟主机的功能来创建部署多个网站,但这个工作会让管理者苦不堪言,尤其是用户数据量很大的情况时,而且用户自行管理网站时,还会碰到权限限制,需要为此做很多额外的工作,其实,httpd服务程序提供的个人主页功能可以完全胜任此工作,该功能可以让系统内所有用户在自己的家目录中管理个人网站,且访问也非常容易

1、准备工作

[root@server ~]# setenforce  0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum  install httpd  -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd

在这里插入图片描述

2、编辑httpd目录中的用户主页配置文件(不是httpd.conf文件)

[root@server ~]# vim  /etc/httpd/conf.d/userdir.conf #UserDir disabled  # 插入#,注释掉,表示开启用户主页功能UserDir public_html   # 去掉#,启动网站存储数据的默认目录,路径:/home/账户名/public_html

原文件:
在这里插入图片描述
更改后文件:
在这里插入图片描述

3、新建账户,设置权限

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

在这里插入图片描述

# 切换到andy账户,设置存储网页目录及权限
[root@server ~]# su  andy
[andy@server root]$ cd  /home/andy
[andy@server ~]$ mkdir  public_html
[andy@server ~]$ cd  public_html/
[andy@server public_html]$ 
# 使用xftp将sxhkt网页数据上传到/home/andy/public_html目录中
[andy@server public_html]$ cd  ~
[andy@server ~]$ chmod  -Rf  755  /home/andy
[andy@server ~]$ ll  
总用量 0
drwxr-xr-x 7 andy andy 100  822 11:25 public_html

在这里插入图片描述

# 切换到jenny账户,设置存储网页目录及权限
[andy@server ~]$ su  jenny
密码: 
[jenny@server andy]$ cd  ~
[jenny@server ~]$ pwd
/home/jenny
[jenny@server ~]$ mkdir  public_html
[jenny@server ~]$  cd  public_html/
[jenny@server public_html]$ cd  ~
[jenny@server ~]$ chmod  -Rf  755  /home/jenny
[jenny@server ~]$ ll
总用量 0
drwxr-xr-x 6 jenny jenny 70  822 11:29 public_html

在这里插入图片描述
这时候并通过xftp将文件传到两个用户各自的页面文件中:
在这里插入图片描述
在这里插入图片描述

# 切换到root账户
[jenny@server ~]$ su  root
密码: 
[root@server jenny]# cd  ~
[root@server ~]# pwd
/root

4、重启服务并测试

[root@server ~]# systemctl restart httpd
# 在Windows端浏览器地址栏中,输入:
# 192.168.48.130/~andy
# 192.168.48.130/~jenny

在这里插入图片描述

5、增加密码访问控制

[root@server ~]# htpasswd -c  /etc/httpd/passwd  andy
New password:                     # 密码:123456
Re-type new password: 
Adding password for user andy
# 分析:# htpasswd:生成密码数据的命令# -c:表示第一次生成,会创建存储密码加密密文的存储文件,第二次创建时不能增加-c参数,否则存储密码密文文件内容会被覆盖# andy : 需要验证密码登录的账户
[root@server ~]# htpasswd  /etc/httpd/passwd  jenny
New password:                     #v密码:654321
Re-type new password: 
Adding password for user andy

在这里插入图片描述
这里密码文件位置是我们自身设定的:我们也可进行查看,使用的是密文:
在这里插入图片描述

6、编辑个人主页配置文件,设置访问控制策略

[root@server ~]# vim  /etc/httpd/conf.d/userdir.conf 
# 定位最后一行输入以下内容:
<directory  "/home/andy/public_html">  # 设置andy账户目录的区域配置authuserfile  "/etc/httpd/passwd"  # 设置验证密码的存储文件位置authname    "My  privately"        # 登录时的提示信息,可能不显示authtype    basic                  # 加密模式require  user  andy                # 需要验证密码的账户名
</directory><directory  "/home/jenny/public_html">authuserfile  "/etc/httpd/passwd"authname    "My  privately"authtype    basicrequire  user  jenny
</directory>

在这里插入图片描述

7、重启服务并测试

[root@server ~]# systemctl restart httpd# 在Windows端浏览器地址栏中,输入以下url时会验证密码
# 192.168.48.130/~andy
# 192.168.48.130/~jenny

这里访问的域名为虚拟机IP地址加~用户名。
在这里插入图片描述
当然,我们也可以不加用户名,这里在更改主配置文件时,将更改为以下内容即可:
在这里插入图片描述
这里创建的用户名为t1以及t2,剩余步骤同上面一致即可:
在这里插入图片描述

五、搭建2个基于域名的虚拟机主机网站

1、准备工作,即安装并启动

[root ~]# yum install httpd

在这里插入图片描述

[root ~]# systemctl start httpd

同时检查SELinux以及防火墙状态,开启的话将其关闭。

2、创建两个目录进行存放启动界面

[root ~]# mkdir -p /www/zy
[root ~]# mkdir -p /www/sxhkt

3、配置Linux的DNS hosts文件以及HTTP主配置文件

[root ~]# vim /etc/hosts
[root ~]# vim /etc/httpd/conf/httpd.conf 

hosts文件:
原文件:
在这里插入图片描述
更改后:
在这里插入图片描述
主配置文件:
更改后:
在这里插入图片描述

4、重启服务并测试

[root ~]# systemctl restart httpd

这里由于是基于Linux的DNS hosts文件进行更改的,所以,只能在Linux下进行访问其域名,这里即可访问成功。

六、搭建2个基于IP地址的虚拟机主机网站

1、准备工作,安装并启动

[root@server ~]# setenforce  0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum  install httpd  -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd

在这里插入图片描述

2、查看自身IP地址并添加IP地址

在这里插入图片描述

[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.137/24
[root ~]# nmcli c mod ens160 +ipv4.addresses 192.168.13.138/24
[root ~]# nmcli c up ens160
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3[root ~]#

在这里插入图片描述
这里即可看到新增了137以及138两个IP地址。

3、创建两个IP的启动主页面,写入并查看

[root ~]# mkdir -p /www/ip137
[root ~]# mkdir -p /www/ip138
[root ~]# echo "ip137" > /www/ip137/index.html
[root ~]# echo "ip138" > /www/ip138/index.html
[root ~]# ls /www/ip137
index.html
[root ~]# ls /www/ip138
index.html

在这里插入图片描述

4、更改主配置文件

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

原文件:
在这里插入图片描述
更改后:
在这里插入图片描述

5、重启服务并测试

[root@server ~]# systemctl restart httpd
[root@server ~]curl 192.168.13.137
[root@server ~]curl 192.168.13.138

在这里插入图片描述
即可访问成功。

七、搭建2个基于端口号的虚拟机主机网站

1、准备工作,安装并启动

[root@server ~]# setenforce  0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum  install httpd  -y
[root@server ~]# systemctl start httpd
[root@server ~]# systemctl enable httpd

在这里插入图片描述

2、创建两个端口并将文件传入

[root ~]# mkdir -p /www/port{9527,9528}
[root ~]# ls /www
port9527  port9528
[root ~]# cd /www
[root www]# ll
总用量 0
drwxr-xr-x 6 root root  70  822 14:43 port9527
drwxr-xr-x 7 root root 100  822 14:43 port9528
[root www]# ls /www/port9527
compat  css  img  index.html  js
[root www]# ls /www/port9528
css  dingban.mp4  img  index.html  js  temp

这里我们也可以查看使用端口的监听状况:
在这里插入图片描述
在这里插入图片描述

3、更改主配置文件

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

原文件:
在这里插入图片描述
更改后文件:
在这里插入图片描述

4、重启服务,在浏览器中访问即可

[root@server ~]# systemctl restart httpd

这里访问域名为自身IP地址加上端口号
比如,我的虚拟机IP地址为192.168.13.134
即访问:

192.168.13.134:9527
192.168.13.134:9528

即可访问成功。

八、给openlab搭建web网站(综合)

1、网站需求:

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

2、要求

  • (1)学生信息网站只有t1和t2两人可以访问,其他
    用户不能访问。
  • (2)访问缴费网站实现数据加密基于https访问。

3、准备工作

# 安装所需软件
[root ~]# yum install httpd mod_ssl-y
# 启动并自启动
[root ~]# systemctl start httpd
[root ~]# systemctl enable httpd
# hosts映射
[root ~]# vim /etc/hosts 192.168.13.134 www.openlab.com

4、创建www.openlab.com网站

# 创建网页目录及网页
[root ~]# mkdir -p /www/openlab
[root ~]# echo 'welcome to openlab!!!' > /www/openlab/index.html
# 修改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf

在这里插入图片描述

<VirtualHost 192.168.13.134>DocumentRoot /www/openlabServerName "www.openlab.com"<Directory /www/openlab>AllowOverride Nonerequire all granted</Directory>
</VirtualHost>
  • 重启服务
[root ~]# systemctl restart httpd

在这里插入图片描述

5、创建教学资料子网站data

# 创建网页界面
[root ~]# mkdir /www/openlab/data
[root ~]# echo "data" > /www/openlab/data/index.html
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf 
<VirtualHost 192.168.13.134>DocumentRoot /www/openlab/dataalias /data /www/openlab/dataServerName "www.openlab.com"<Directory /www/openlab/data>AllowOverride nonerequire all granted</Directory>
</VirtualHost>
# 重启服务
[root ~]# systemctl restart httpd

在这里插入图片描述
主配置文件更改后:
在这里插入图片描述

  • 测试

在这里插入图片描述

6、创建学生信息子网站student

[root ~]# mkdir /www/openlab/student
[root ~]# echo 'student' > /www/openlab/student/index.html
[root ~]# useradd t1
[root ~]# passwa t1 
[root ~]# useradd t2
[root ~]# passwd t2 
[root ~]# htpasswd -c /etc/httpd/passwd t1
[root ~]# htpasswd /etc/httpd/passwd t2
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
# 继续编写
<Directory /www/openlab/student>authuserfile /etc/httpd/passwdauthname "student"authtype basicrequire user t1 t2
</Directory>
# 重启服务
[root ~]# systemctl restart httpd

在这里插入图片描述
在这里插入图片描述

  • 测试

在这里插入图片描述
在这里插入图片描述

7、创建缴费子网站money

# 创建网站网页
[root ~]# mkdir /www/openlab/money
[root ~]# echo 'money' > /www/openlab/money/index.html
[root ~]# openssl genrsa -aes128 2048 > /etc/pki/tls/private/money.key
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[root ~]# 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]:weinan   
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 []:zy.com
# 更改主配置文件
[root ~]# vim /etc/httpd/conf/httpd.conf
# 重启服务
[root ~]# systemctl restart httpd

在这里插入图片描述
更改后的主配置文件:
在这里插入图片描述

  • 测试

在这里插入图片描述
在这里插入图片描述
实验结束,要求以及需求皆以达成。


http://www.ppmy.cn/news/1054948.html

相关文章

深度学习入门(三):卷积神经网络(CNN)

引入 给定一张图片&#xff0c;计算机需要模型判断图里的东西是什么&#xff1f; &#xff08;car、truck、airplane、ship、horse&#xff09; 一、卷积神经网络整体架构 CONV&#xff1a;卷积计算层&#xff0c;线性乘积求和RELU&#xff1a;激励层&#xff0c;激活函数P…

EFCore与dapper的区别

Entity Framework Core (EF Core) 和 Dapper 都是用于在 .NET 应用程序中访问数据库的工具&#xff0c;但它们在设计和使用方式上有一些区别。以下是 EF Core 和 Dapper 的主要区别&#xff1a; ORM vs Micro ORM: Entity Framework Core (EF Core) 是一个完整的对象关系映射…

LeetCode无重复字符的最长子串

给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”&#xff0c;所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…

如何将一本书制作成电子版

平时我们用手机打开一个电子书的APP&#xff0c;就能在手机翻阅浏览一本书了&#xff0c;并且带有仿真书的翻页声和人工智能朗读声&#xff0c;这样的电子书刊不仅方便了在工作上的员工&#xff0c;还能提高一个人的读书兴趣。 那你知道这样的电子书刊怎么制作吗?很多电子书都…

Redis过期数据的删除策略

1 介绍 Redis 是一个kv型数据库&#xff0c;我们所有的数据都是存放在内存中的&#xff0c;但是内存是有大小限制的&#xff0c;不可能无限制的增量。 想要把不需要的数据清理掉&#xff0c;一种办法是直接删除&#xff0c;这个咱们前面章节有详细说过&#xff1b;另外一种就是…

NLP | 基于LLMs的文本分类任务

比赛链接&#xff1a;讯飞开放平台 来源&#xff1a;DataWhale AI夏令营3&#xff08;NLP&#xff09; Roberta-base&#xff08;BERT的改进&#xff09; ①Roberta在预训练的阶段中没有对下一句话进行预测&#xff08;NSP&#xff09; ②采用了动态掩码 ③使用字符级和词级…

mysql 无法停止和启动,状态一直是 Active: deactivating (stop-sigterm)

问题 本想设置一下mysql log 日志时间&#xff0c;修改了 my.inf 之后&#xff0c; restart mysqld 一直起不来&#xff0c;查看服务状态&#xff0c;一直是 deactivating (stop-sigterm) # systemctl status mysqld● mysqld.service - MySQL ServerLoaded: loaded (/usr/li…

【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(二)

文章目录 一、CityPersons二、PASCAL VOC 2007三、Objects365四、nocaps五、PubLayNet六、fMoW (Functional Map of the World)七、11k Hands八、Kvasir (The Kvasir Dataset)九、xView (mejdi)十、ABC Dataset十一、UAVDT (Unmanned Aerial Vehicle Benchmark Object Detectio…