Web网站服务器

news2024/10/6 8:24:43

目录

一、什么是Apache?

二、虚拟目录是什么?

三、Apcahe相关配置文件

四、httpd.conf主配置文件的常用配置参数

五、Web网站配置案例

5.1搭建基于用户的个人主页网站

5.2、配置虚拟目录

5.3、配置虚拟主机

5.3.1搭建两个基于IP地址的虚拟主机

5.3.2搭建两个基于域名的站点

5.3.3搭建两个基于端口号的站点

5.4、账号认证访问网站

5.5、搭建https安全网站


一、什么是Apache?

Apache是开放源代码的Web服务器软件,通俗将就是一个用于搭建网站的服务软件。类似的还有微软的IIS、IBM webSphere、Tomcat。

有两个版本:

  • http:超文本传输协议,通过线路以明文形式发送,默认使用80端口/TCP。
  • https:经TLS/SSL安全加密的超文本传输协议,默认使用443端口/TCP。

 

二、虚拟目录是什么?

虚拟目录是一个位于Apache服务器网页文件主目录之外的目录。每个虚拟目录对应一个真实的存放网页文件的物理路径目录,用户通过访问虚拟目录的名字就可以访问到真实目录下的网页文件,而无需在输入真实的网页文件路径。可以针对虚拟目录设置不同的访问权限。

 

三、Apcahe相关配置文件

/etc/httpd    ----------Apache服务主要数据文件存放的根目录

/etc/httpd/conf/httpd.conf -------主配置文件

/etc/httpd/conf.d  --------虚拟主机的配置文件所在目录

/etc/httpd/conf.d/userdir.conf----------个人web站点的配置文件

/etc/httpd/logs--------日志文件目录

/var/www/html--------用户浏览网站时网页文件默认所在目录

四、httpd.conf主配置文件的常用配置参数

1、ServerName  -----网站服务器的域名和端口号,服务器根据用户提供的此值来确定是否访问的是自己。

2、ServerRoot-------设置服务器的根目录,用于存储web服务器的匹配数据文件。

3、Listen-------监听的端口号

4、DocumentRoot-------默认网站提供html文档的根目录。

5、Directory-------用于设置web服务器文件目录的访问权限和访问方式

6、DirectoryIndex------指定网站首页的默认文件

7、VirtualHost-------搭建基于虚拟主机多个站点时所用的配置参数设置

8、ServerAdmin-------设置web服务器管理员邮箱地址,当用户访问网站出错时将显示管理员邮箱地址

9、Time out--------设置web网站接收或发送数据时的超时时间。

10、Error Log-------指定Apcahe服务器错误日志存放的文件路径

11、Custom Log-----指定Apache服务器访问日志文件路径

12、Include-------指定所要包含的其它配置文件所在路径

五、Web网站配置案例

5.1搭建基于用户的个人主页网站

*服务端和客户端需保持网络互通,客户端正确解析服务器的域名所对应IP地址

Server

1、安装httpd服务软件

2、创建用于个人主页的账户

3、进入用户家目录创建一个用于存储个人网页文件的主目录public_html,并允许其它人有执行访问权限

4、在用户个人主目录内创建一个用于用户访问的网页文件

5、修改httpd个人站点配置文件

6、防火墙放行httpd服务,设置selinux布尔值的相应参数来允许网络用户访问个人用户的家目录。

 

7、开启httpd服务,并设置开机自启

 

Client端:

8、访问服务器个人主页进行测试

5.2、配置虚拟目录

描述:创建一个名为/myweb的虚拟目录其对应的真实目录物理路径为/usr/web。

Server端:

1、创建/usr/web真实目录和其用户访问所需的网页文件。

2、修改/etc/httpd/conf/httpd.conf主配置文件相关参数。

3、防火墙放行http服务,并修改虚拟目录所对应的物理目录的安全上下文。

4、重启httpd服务使其配置立即生效

Client端:

5、使用客户端访问虚拟目录进行测试

5.3、配置虚拟主机

概述:虚拟主机允许在一台web服务器上搭建多个web站点,用户访问时各web站点可以通过IP地址、域名或端口号来进行区分访问不同站点。

5.3.1搭建两个基于IP地址的虚拟主机

Server端:

1、给网卡添加两个IPv4的地址,用于后面分别绑定两个站点做区分。

2、分别创建两个站点的网页文件主目录和其要访问的网页文件。

3、在httpd的主配置文件/etc/httpd/conf/httpd.conf中添加虚拟主机相关参数并赋值。

4、防火墙放行http服务,保证创建的网页文件主目录selinux的安全上下文正确。

5、重启httpd服务使其配置文件立即生效。

6、客户端通过基于不同的IP地址访问网站进行测试。

5.3.2搭建两个基于域名的站点

Server端:

1、创建两个站点所需的网页文件和其主目录。

2、在主配置文件/etc/httpd/conf/httpd.conf 中添加虚拟主机一下相关参数。

3、防护墙放行http服务,保证所创建的两个站点目录文件的安全上下文正确。

4、重启httpd服务使配置文件立即生效。

Client端:

6、保证客户端正确配置DNS所对应网站使用的IP地址解析,此处客户端使用本地解析。

7、客户端分别访问web1.shanyue.com和web2.shanyue.com进行站点测试。

5.3.3搭建两个基于端口号的站点

Server端:

1、创建两个用于测试的站点所使用的网页文件和其所在的主目录

2、修改/etc/httpd/conf/httpd.conf 主配置文件中的虚拟主机所使用的相关参数,并设置其http服务监听的端口号。

3、防火墙放行两个网站绑定的8080和8081端口。

4、由于修改了http服务默认监听的端口号,此时selinux会认为新修改的端口号不是http服务规定所使用的端口号。因此需要修改新设置的端口号标签类型,使http服务认为此新设置的端口号是合法的。否则修改配置文件重启http服务时会报配置文件语法错误。

*注意:此处由于8081和8082端已被占用定义无法对其进行删除重新添加,但此过程是对的,可以换用其它监听端口测试。此处实验就临时把selinux安全策略设置为允许宽松模式,来跳过http的站点监听端口检测语法检测。

5、重启http服务使其重读http的配置文件,让配置立即生效。

Client端:

6、在客户端分别使用不同的端口号访问刚搭建的站点看其是否搭建成功。

5.4、账号认证访问网站

Server端:

1、创建客户端访问网站时,所需输入的账户和其密码。

2、修改账户密码文件的selinux标签属性。

说明:用户访问网站默认使用web服务器账户是apache账户、因此需保证apache用户有访问此密码文件路径目录的r读和x访问权限,依此来验证客户端访问网站输入的密码是否正确(密码文件可以保存到非站点物理目录下)。

3、开启网站的用户访问密码认证。

4、重启httpd服务使其配置立即生效

Client端:

1、访问web服务器开启用户账户认证的站点,进行测试。

5.5、搭建https安全网站

注意:经TLS/SSL安全加密的超文本传输协议,默认情况下使用端口443/TCP

Server端:

1、安装httpd服务软件、和用于https加密的mod_ssl软件。

2、搭建CA服务器,用于为web站点签发证书。首先创建CA服务所需的目录结构。

3、为CA服务器和web服务器生成一把私钥。

4、修改CA服务配置文件/etc/pki/tls/openssl.cnf参数,允许向CA服务器申请证书的客户可以任意定义申请证书的相关参数。

6、为CA服务机构创建自签的根证书。以后访问此机构颁发的证书网站的客户端可以通过在本地导入CA根证书来信任网站证书。

7、为要搭建的web站点向CA申请数字证书。首先在web服务器上创建证书申请模板文件。然后在发送给CA服务器,由于本实验CA和web服务在一台服务器上,因此模板无需发送给CA服务器。

8、创建CA服务器颁发证书所需文件

9、CA签发web站点提交的证书申请

10、修改https的/etc/httpd/conf.d/ssl.conf 主配置文件相关参数来使将搭建的网站绑定从CA哪里获得的证书,并指定web站点用于解密的私钥文件。

11、把证书文件、秘钥文件和根CA文件分别拷贝到ssl.conf配置文件里的对应路径下面。

12、防火墙放行https服务

13、在httpd服务默认的网页主目录下创建个用于客户端https访问的网页文件。

14、重启httpd服务使其配置文件立即生效

Client端:

1、正确配置web网站域名的DNS解析,此实验采用DNS本地解析。域名最好使用CA颁发给Web服务器证书中的通用域名,以此来让客户端正确解析网站的证书。

2、将网站证书颁发机构CA的根证书内容导入到linux受信任的根证书颁发机构区域文件内来信任站点证书(说明:Linux系统中大部分浏览工具的信任根CA都在此文件内指定。但对于firefox浏览器需要另外导入根CA证书)。

3、客户端以https的方式访问web网站进行测试。通过curl命令可以正常访问站点)。

4、客户端通过firefox图形化浏览器访问https站点进行测试。

5、firefox浏览器导入证书颁发机构的根CA,以此来信任访问的网站出示的证书。

firefox导入根CA证书成功,在次访问https站点不在报错。

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

发布自己的npm包

1.初始化npm包 npm init 输入npm init后,一路默认即可初始化成功,如下: 初始化成功后会生成一个package.json文件 n(以我的文件夹demo-npm-dir为例) package.json配置如下: {"name": "n…

基于Java+SpringBoot+Vue前后端分离客户关系管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建卷II

2023年全国职业院校技能大赛 GZ073网络系统管理赛项 模块A:网络构建 卷II 目 录 任务清单 (一)基础配置 (二)有线网络配置 (三)无线网络配置 (四)出口网络配置 &am…

商城二维码系统_二维码生成系统源码与设计_OctShop

OctShop开源商城系统自带了二维码生成系统,商城所有系统要使用二维码的地方都是统一由此二维码生成系统生成的。其中包括:店铺收款二维码(H5/小程序)、店铺二维码(H5/小程序)、订单核销二维码、优惠券线下核…

【高性能计算】opencl语法及相关概念(二):索引,队列,核函数

目录 数据并行及任务并行异构编程语言的共性opencl的划分方式opencl上下文定义以字符串为主的程序对象同一设备,多个命令队列同时执行多个核函数的示例 数据并行及任务并行 数据并行是将大规模的计算任务划分为多个子任务,并将这些子任务同时应用于不同…

十二、外观模式

一、什么是外观模式 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节&am…

【ES】笔记-Set集合实践

JS <script>let arr[1,2,3,4,5,4,3,2,1];//1.数组去重let result0[...new Set(arr)];console.log(数组去重${result0});//2.交集let arr2[4,5,6,5,6];let result[...new Set(arr)].filter(item>{let s2new Set(arr2);//4 5 6if(s2.has(item)){return true;}else{retur…

论文阅读_医疗知识图谱_GraphCare

英文名称: GraphCare: Enhancing Healthcare Predictions with Open-World Personalized Knowledge Graphs 中文名称: GraphCare&#xff1a;通过开放世界的个性化知识图增强医疗保健预测 文章: http://arxiv.org/abs/2305.12788 代码: https://github.com/pat-jj/GraphCare 作…

ELK安装、部署、调试(六) logstash的安装和配置

1.介绍 Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据&#xff0c;并将数据标准化到您选择的目标输出。它提供了大量插件&#xff0c;可帮助我们解析&#xff0c;丰富&#xff0c;转换和缓冲任何类型的数据。 管道&#xff08;Logs…

WebGIS的一些学习笔记

一、简述计算机网络的Internet 概念、网络类型分类、基本特征和功用是什么 计算机网络的Internet 概念 计算机网络是地理上分散的多台独立自主的计算机遵循约定的通讯协议&#xff0c;通过软、硬件互连以实现交互通信、资源共享、信息交换、协同工作以及在线处理等功能的系统…

基于深度学习的AI生成式人脸图像鉴别

AIGC&#xff08;AI内容生成&#xff09;技术的快速发展确实为创作者提供了高效生产力工具&#xff0c;但同时也引发了一些问题和挑战。这些技术可以生成以假乱真的图像、视频换脸等&#xff0c;给不法分子提供了滥用的机会。其中&#xff0c;一些不法分子可能利用AIGC技术制造…

JZ13 机器人的运动范围

题目描述&#xff1a; 思路&#xff1a;使用深度优先&#xff08;dfs&#xff09;搜索方法 从[0,0]开始&#xff0c;每次选择一个方向开始检查能否访问&#xff0c;如果能访问进入该节点&#xff0c;该节点作为子问题&#xff0c;继续按照这个思路访问&#xff0c;一条路走到…

verilator的安装

出现libgz安装包找不到的问题

官方推荐使用的OkHttp4网络请求库全面解析(Android篇)

作者&#xff1a;cofbro 前言 现在谈起网络请求&#xff0c;大家肯定下意识想到的就是 okhttp 或者 retrofit 这样的三方请求库。诚然&#xff0c;现在有越来越多的三方库帮助着我们快速开发&#xff0c;但是对于现在的程序员来说&#xff0c;我们不仅要学会如何去用&#xff…

(牛客周赛 9)C.小美的01串翻转

题目&#xff1a; 样例&#xff1a; 输入 10001 输出 8 思路&#xff1a; 这里是连续的找子串&#xff0c;权值的意思是 我们取反操作了多少次&#xff0c; 我们有假设长度是 5 &#xff0c;字符串是 10001 那么相邻不一样的字符串有两种情况 01010 或者 10101&#xf…

【项目】Reactor模式的服务器

目录 Reactor完整代码连接 前置知识&#xff1a; 1.普通的epoll读写有什么问题&#xff1f; 2.Connection内的回调函数是什么 3.服务器的初始化&#xff08;Connection只是使用的一个结构体&#xff09; 4.等待就绪事件&#xff1a;有事件就绪&#xff0c;对使用Connectio…

MATLAB实现AHP层次分析法——以情人节选取礼物为例

问题背景&#xff1a; 情人节来临之际&#xff0c;广大直男&#xff08;女&#xff09;同胞在给异性朋友选购礼物时会遇到难题——什么才是礼物好坏最重要的标准&#xff1f;基于层次分析法AHP进行计算&#xff0c;得出最高权重的指标&#xff0c;给出各位朋友选购礼物的一种思…

Vector<T> 动态数组(模板语法)

C数据结构与算法 目录 本文前驱课程 1 C自学精简教程 目录(必读) 2 动态数组 Vector&#xff08;难度1&#xff09; 其中&#xff0c;2 是 1 中的一个作业。2 中详细讲解了动态数组实现的基本原理。 本文目标 1 学会写基本的C类模板语法&#xff1b; 2 为以后熟练使用 S…

java.lang.classnotfoundexception: com.android.tools.lint.client.api.vendor

Unity Android studio打包报错修复 解决方式 java.lang.classnotfoundexception: com.android.tools.lint.client.api.vendor 解决方式 在 launcherTemplate 目录下找到 Android/lintOptions 选项 加上 checkReleaseBuilds false lintOptions { abortOnError false checkRelea…

以GitFlow分支模型为基准的Git版本分支管理流程

以GitFlow分支模型为基准的Git版本分支管理流程 文章目录 以GitFlow分支模型为基准的Git版本分支管理流程GitFlow分支模型中的主要概念GitFlow的分支管理流程图版本号说明借助插件Git Flow Integration Plus实现分支模型管理其他模型TBD模型阿里AoneFlow模型 GitFlow分支模型中…