Linux虚拟机下WWW(HTTP)服务器的搭建与使用(详细)

2023-05-16

1.简介

   

   1.1 关于www服务器

WWW服务器是被动程序,只有接收到互联网中其他计算机发出的请求后才会响应,然后WWW服务器才会使用HTTP或者HTTPS将指导文件传输到客户机的浏览器上

1.2 关于HTTP协议

HTTP是超文本传输协议,提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。

2.安装

2.1 安装httpd软件包(Apache服务程序,软件包名为httpd)

[root@Hoster130 Hoster]# yum install httpd

2.2 启动服务,并设置为开机启动

[root@Hoster130 Hoster]# systemctl start httpd

[root@Hoster130 Hoster]# systemctl enable httpd

2.3 打开浏览器查看

Http://127.0.0.1,成功显示

3. 配置服务器参数

3.1 手写文件替换默认页面

各个httpd服务目录路径

 

默认网站数据是存放在/var/www/html目录中的,首页名称为index.html

添加内容“Hello Web”到index.html

[root@Hoster130 ~]# echo "Hello Web" > /var/www/html/index.html

查看浏览器

3.2 编辑主配置文件httpd.conf

DocumentRoot参数修改为“/home/wwwroot

Directory中的"/var/www"修改为 "/home/wwwroot"

建立网站数据目录

[root@Hoster130 ~]# mkdir /home/wwwroot

创建首页文件

[root@Hoster130 ~]# echo "The New Web Directory" > /home/wwwroot/index.html

重启Apache服务

[root@Hoster130 ~]# systemctl restart httpd

再次查看浏览器,成功

4. 个人用户主页功能

4.1 开启个人用户主页功能

[root@Hoster130 ~]# vi /etc/httpd/conf.d/userdir.conf

重启服务

[root@Hoster130 ~]# systemctl restart httpd

4.2 创建个人用户网站数据

切换为普通用户Hoster

[root@Hoster130 ~]$ su -  Hoster

创建网站数据目录(目录名与前面userdir.conf配置文件中UserDir中的参数保持一致)

[Hoster@Hoster130 ~]$ mkdir public_html

写入内容

[Hoster@Hoster130 ~]$ echo "This is Hoster's Web" > public_html/index.html

4.3 授权与访问

授予775访问权限

[Hoster@Hoster130 ~]$ chmod -Rf 755 /

访问浏览器 Http://127.0.0.1 ~Hoster

 

结果显示网页无法访问,此时应是SELinux策略的问题,因为SELinux默认不允许Apache服务个人用户主页这项功能。接下来我们需要设置相关策略为允许。

sudo setsebool -P httpd_enable_homedirs=on

如果该命令运行后显示"Selinux is disabled",需要 将 /etc/selinux/config 中的SELINUX值修改为1

访问浏览器,成功进入

4.4 添加密码安全验证

有时候并不希望所有人都可以留意访问到自己的个人网站,可以添加密码加强安全防护

[root@Hoster130 ~]# htpasswd -c /etc/httpd/passwd Hoster

编辑配置文件开启密码验证

[root@Hoster130 ~]# vi /etc/httpd/conf.d/userdir.conf

修改为以下内容,并重启服务

[root@Hoster130 ~]# systemctl restart httpd

注意:每次修改配置文件后,都需要重启服务

4.5 访问浏览器

输入用户密码,登陆成功

注意:这里的User name是Hoster,密码非该用户的系统密码,而是通过htpasswd命令创建的网站密码

5. 虚拟网站主机功能

5.1 基于IP地址

(1) 使用nmtui命令打开网卡,添加多个IP地址

重启网络服务,并用ping命令测试是否成功

[root@Hoster130 ~]# systemctl restart network

(2) 分别创建网站数目录并写入内容

[root@Hoster130 ~]# mkdir -p /home/wwwroot/130

[root@Hoster130 ~]# mkdir -p /home/wwwroot/140

[root@Hoster130 ~]# mkdir -p /home/wwwroot/150

  [root@Hoster130 ~]# echo "IP:192.168.161.130" > /home/wwwroot/130/index.html

[root@Hoster130 ~]# echo "IP:192.168.161.140" > /home/wwwroot/140/index.html

[root@Hoster130 ~]# echo "IP:192.168.161.150" > /home/wwwroot/150/index.html

(3) 配置文件httpd.conf中配置基于IP地址的虚拟主机

[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf

加入以下内容

<VirtualHost 192.168.161.130>

DocumentRoot /home/wwwroot/130

ServerName www.linuxprobe.com

<Directory /home/wwwroot/130>

AllowOverride None Require all granted </Directory>

</VirtualHost>

<VirtualHost 192.168.161.140>

DocumentRoot /home/wwwroot/140

ServerName bbs.linuxprobe.com

<Directory /home/wwwroot/140>

AllowOverride None Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.161.150>

DocumentRoot /home/wwwroot/150

ServerName tech.linuxprobe.com

<Directory /home/wwwroot/150>

AllowOverride None Require all granted

</Directory>

</VirtualHost>

重启服务

[root@Hoster130 ~]# systemctl restart httpd

(4)分别访问,验证结果,例如下图即为成功

注意:为避免配置文件冲突导致报错,进行"基于主机名"和"基于端口号"的操作时需还原配置文件至"虚拟网站主机功能"之前或注释掉冲突部分

5.2 基于主机名

(1)配置hosts文件

[root@Hoster130 ~]# vi /etc/hosts

(2)分别创建网站数据目录并写入内容

[root@Hoster130 ~]# mkdir -p /home/wwwroot/www

[root@Hoster130 ~]# mkdir -p /home/wwwroot/bbs

[root@Hoster130 ~]# mkdir -p /home/wwwroot/tech

[root@Hoster130 ~]# echo "www.linuxprobe.com" > /home/wwwroot/www/index.html

[root@Hoster130 ~]# echo "bbs.linuxprobe.com" > /home/wwwroot/bbs/index.html

[root@Hoster130 ~]# echo "tech.linuxprobe.com" > /home/wwwroot/tech/index.html

(3) 配置文件httpd.conf中配置基于主机名的虚拟主机

[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf

加入以下内容

<VirtualHost 192.168.161.130>

 DocumentRoot /home/wwwroot/www

ServerName www.linuxprobe.com

<Directory /home/wwwroot/www>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.161.130>

 DocumentRoot /home/wwwroot/bbs

ServerName ​​​​​​​bbs.linuxprobe.com

<Directory /home/wwwroot/bbs>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.161.130>

 DocumentRoot /home/wwwroot/tech

ServerName ​​​​​​​tech.linuxprobe.com

<Directory /home/wwwroot/tech>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

重启服务

[root@Hoster130 ~]# systemctl restart httpd

(4)分别访问,验证结果,例如下图即为成功

5.3 基于端口号

(1)分别创建网站数据目录并写入内容

[root@Hoster130 ~]# mkdir -p /home/wwwroot/8008

[root@Hoster130 ~]# mkdir -p /home/wwwroot/8009

[root@Hoster130 ~]# echo "port:8008" > /home/wwwroot/8008/index.html

[root@Hoster130 ~]# echo "port:8009" > /home/wwwroot/8009/index.html

(2)配置文件httpd.conf中配置基于端口号的虚拟主机

[root@Hoster130 ~]# vi /etc/httpd/conf/httpd.conf

在Listen 80后追加一下信息

添加虚拟主机

<VirtualHost 192.168.161.130:8008>

 DocumentRoot /home/wwwroot/8008

ServerName  www.linuxprobe.com

<Directory /home/wwwroot/8008>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.161.130:8009>

 DocumentRoot /home/wwwroot/8009

ServerName ​​​​​​​ bbs.linuxprobe.com

<Directory /home/wwwroot/8009>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

重启服务

[root@Hoster130 ~]# systemctl restart httpd

(4)分别访问,验证结果,例如下图即为成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux虚拟机下WWW(HTTP)服务器的搭建与使用(详细) 的相关文章

随机推荐

  • 对Socket CAN的理解(3)——【Socket CAN发送数据流程】

    转载请注明出处 xff1a http blog csdn net Righthek 谢谢 xff01 对于本文 xff0c 我们将从用户层使用Socket CAN进行数据发送时 xff0c 数据从用户空间到底层驱动的整个通信流程 xff0c
  • 对Socket CAN的理解(4)——【Socket CAN接收数据流程】

    转载请注明出处 xff1a http blog csdn net Righthek 谢谢 xff01 现在我们来分析一下CAN总线的接收数据流程 xff0c 对于网络设备 xff0c 数据接收大体上采用中断 43 NAPI机制进行数据的接收
  • docker创建ubuntu16.04容器(上)

    容器三大基本概念 xff0c docker整个生命周期就是这三个概念 镜像 image Docker镜像就是一个只读的模板 镜像可以用来创建Docker容器 Docker提供了一个很简单的机制来创建镜像或者更新现有的镜像 xff0c 用户甚
  • SPDIF接口介绍

    一 S PDIF接口规范详解 S PDIF是sony和philips在80年代为一般家用器材所定制出来的一种数字讯号传输接口 xff0c 基本上是以AES EBU 也称AES3 专业用数字接口为参考然后做了一些小变动而成的家用版本 可以使用
  • 【音频】I2S协议详解

    一 I2S介绍 I2S Inter IC Sound 总线 又称 集成电路内置音频总线 xff0c 是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准 xff0c 该总线专门用于音频设备之间的数据传输 xff0c 广泛应用于各
  • linux 音频驱动实验

    文章目录 一 音频接口简介 1 为何需要音频编解码芯片2 WM8960简介3 I2S总线接口4 6u SAI简介 二 硬件原理图三 音频驱动使能 1 修改设备树 1 Wm8906 i2c接口设备树2 6u SAI接口设备树3 I MX6UL
  • 【UBI文件系统制作】-(1)UBI文件系统简介

    1 引言 在Linux 2 6 27以前 xff0c 谈到Flash文件系统 xff0c 大家很多时候多会想到CRAMFS JFFS2 YAFFS2等文件系统 它们也都是基于文件系统 43 MTD 43 Flash设备的架构 Linux 2
  • 分享篇 - Android 如何使用其他 APP 的 App ID 做微信分享

    1 需求背景 一些 APP 分享到微信 xff0c 朋友圈经常被封 如果在微信分享时 xff0c 我们将微信分享的 App ID 改成其他应用的 App ID xff0c 就可以使用其他 App 的名义进行分享 xff0c 而且分享出去的内
  • 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int---->解决方法

    写了一个对应让其出的错误 xff08 其实也挺不容易的喔 xff09 错误如下 xff1a 1 gt d work win32project testeachotherclude testeachotherclude test2 h 9 e
  • 58同城Android端-最小插件化框架实战和原理分析

    目录 背景插件化需要了解的知识 2 1 类加载过程和类加载器 2 2 ClassLoader 的 findClass findLibrary findResource 2 3 DexClassLoader 的 oat 配置 2 4 Load
  • MetaX组件化框架

    目录 MetaX 框架介绍MetaX 是如何设计的MetaX 运行效果 1 MetaX 框架介绍 MetaX 是 58无线 Android 团队开发的一套增强版的组件化框架 xff0c 它制定了一系列的标准和规范 xff0c 来解决现有组件
  • 58同城首页腰部动态化技术选型(布局动态化)

    1 行业情况 1 1 基本概念介绍 1 1 1 Web混合 Web 前端和客户端的混合开发 使用 WebView 进行页面渲染 逻辑执行 xff1b 依赖客户端的能力需要通过 JSBridge 通信桥 的方式进行调用 xff0c 比如调用客
  • Java篇 - 四种引用(Reference)实战

    Java的垃圾回收 GC 是虚拟机自动管理的 xff0c 前面我有篇文章专门讲GC xff1a JVM篇 GC给你整明白 Java内存管理分为内存分配和内存回收 xff0c 都不需要程序员负责 xff0c 垃圾回收的机制主要是看对象是否有引
  • 网络篇 - https协议中的数据是否需要二次加密

    随着互联网整体的发展 xff0c https 也被越来越多的应用 甚至苹果去年还曾经放言要强制所有的 app 都使用 https xff0c 可见在如今的互联网它的重要性 前面的文章说了 OSI 七层模型 xff0c https 可以保证数
  • 加解密篇 - 对称加密算法 (DES、3DES、AES、RC)

    这篇文章来讲讲对称加密 xff0c 对称加密在开发中用的很多 xff0c 如 AES xff0c DES xff0c 3DES xff0c RC 目录 介绍优点和缺点DES算法3DES算法AES算法RC算法 1 介绍 1 1 概念 采用单钥
  • 加解密篇 - 非对称加密算法 (RSA、DSA、ECC、DH)

    最近的文章中多次出现了非对称加密 xff0c 今天就来分析一下非对称加密的算法 目录 xff1a 简介RSA算法DSA算法ECC算法DH算法 1 简介 1 1 概念 非对称加密需要两个密钥 xff1a 公钥 publickey 和私钥 pr
  • 跨平台技术篇 - 使用 Flutter 与原生技术混合开发示例

    目前主流的混合开发方案有两种集成方式 xff1a 源码集成 xff1a 也就是谷歌官方提供的方案 https github com flutter flutter wiki Add Flutter to existing apps 产物集成
  • 音视频篇 - Android 音视频涉及到的技术

    前言 现在市面上的图像 xff0c 音视频软件越来越多 xff0c 最近两年也是直播 xff0c 短视频的红利期 而图像 音视频一直是互联网视觉的入口 xff0c 掌握并熟练运用音视频 图像技术已经是当前互联网时代不可或缺的技能 xff0c
  • sockaddr_in的一个小理解

    之前一直认为是sockaddr 设计时有缺陷 xff0c 在编写网络通信时 xff0c 都使用sockaddr in xff0c 因为它将sockaddr 中的 char sa data 14 拆分为了 unsigned short sin
  • Linux虚拟机下WWW(HTTP)服务器的搭建与使用(详细)

    1 简介 1 1 关于www服务器 WWW服务器是被动程序 xff0c 只有接收到互联网中其他计算机发出的请求后才会响应 xff0c 然后WWW服务器才会使用HTTP或者HTTPS将指导文件传输到客户机的浏览器上 1 2 关于HTTP协议