5、Web服务器及内网穿透(实验篇)

RHCE板块

欢迎来到我的博客,这里是Linux板块,配合之前RHCSA进阶,希望我的博客可以帮助到您,感谢您的阅读,有什么问题还希望一起探讨交流,感谢各位的支持,感谢!

  1. 使用Linux搭建一个简单的论坛
  2. RHCE——一、安装部署及例行性工作
  3. RHCE——二、时间服务器
  4. RHCE——三、远程连接服务器
  5. RHCE——四、Web服务器(理论篇
  6. RHCE——五、Web服务器及内网穿透(实验篇
  7. RHCE——六、基于https协议的静态网站
  8. RHCE——七、搭建云存储器
  9. RHCE——八、DNS域名解析服务器
  10. RHCE——九、SELinux
  11. RHCE——十、防火墙、iptables、firewalld
  12. RHCE——十一、NFS服务器
  13. RHCE——十二、Mysql服务
  14. RHCE——十三、Shell自动化运维编程基础
  15. RHCE——十四、变量和引用
  16. RHCE——十五、shell条件测试
  17. RHCE——十六、流程控制之条件判断、循环
  18. RHCE——十七、文本搜索工具-grep、正则表达式
  19. RHCE——十八、shell编程之sed
  20. RHCE——十九、shell编程之awk
  21. RHCE——二十、Ansible及安装与配置
  22. RHCE——二十一、Ansible模块

一、快速搭建网站

[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    basic
        require  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/openlab
	ServerName "www.openlab.com"
	<Directory /www/openlab>
		AllowOverride None
		require 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/data
	alias /data /www/openlab/data
	ServerName "www.openlab.com"
	<Directory /www/openlab/data>
		AllowOverride none
		require 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/passwd
	authname "student"
	authtype basic
	require 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

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

  • 测试

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值