Linux 高级管理,基于域名的虚拟Web主机

实验环境

    某公司的网站服务器使用的公网IP地址为192.168.184.50并使用该IP地址注册了两个域名 www.bdqn1.com和www.jbit.com。服务器中已经安装好了 CentOS 7操作系统.并通过源码编译的 方式安装了Web服务器软件httpd-2.4.25.现需要对httpd服务进行配置.以支持同时运行这两个 Web站点。

需求描述

> 站点www.bdqn.com的网页文档存放在服务器的/var/www/html/bdqn1doc目录下。

> 站点www.jbit.com的网页文档存放在服务器的/var/www/htnl/jbitdoc目录下。

> 构建基于域名的虚拟主机服务器,用于支撑以上两个Web站点。

> 其中www.jbit.com站点只对公司内部员工开放alan、agou,访问时需进行用户认证。 

1.为虚拟主机准备网页文档

     为每个虚拟Web主机准备网站目录及网页文档,为了测试方便,分别为每个虚拟Web主机提供 包含不同内容的首页文件.例如,在/var/www/html 目录下创建两个子文件夹bdqncom、jbitcom, 分别作为www.bdqn.com和www.jbit.com的网站根目录,并分别编写测试网页文件。

[root@node01 ~]# mkdir -p /var/www/html/bdqn1doc
[root@node01 ~]# mkdir -p /var/www/html/jbitdoc
[root@node01 ~]# echo "<h1>www.bdqn1.com</h1>" > /var/www/html/bdqn1doc/index.html
[root@node01 ~]# echo "<h1>www.jbit.com</h1>" > /var/www/html/jbitdoc/index.html

2.添加虚拟主机配置

    在httpd 服务器的主配置文件中,若要启用基于域名的虚拟Web主机.通常需要配置以下几个 方面的内容。

     > 虚拟主机区域:使用<VirtualHost 监听地址>……</VirtualHost>区域配置,为每个虚拟Web 主机建立独立的配置内容.其中至少应包括虚拟主机的网站名称、网页根目录的配置项: 其他(如管理邮箱、访问日志等)配置项可根据实际需要添加。

    > 目录权限:使用<Directory 目录位置>……</Directory>区域配置,为每个虚拟Web主机的 网站目录设置访问权限,如允许任何人访问,目录访问可以继承其父目录的授权许可, 因此可以采取直接为父文件夹授权访问权限的方法来简化配置。

      当虚拟Web 主机的数量较多时,建议使用独立的虚拟主机配置文件,然后在httpd.conf文件中 通过 hclude加载这些配置,这样可以将对httpd.conf文件的改动减至最少,更方便配置内容的维护。

[root@node01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

 输入以下内容

<VirtualHost *:80>ServerAdmin webmaster@bdqn1.comDocumentRoot "/var/www/html/bdqn1doc"ServerName www.bdqn1.comErrorLog "logs/www.bdqn1.com-error_log"CustomLog "logs/www.bdqn1.com-access_log" common<Directory "/var/www/html">Repuire all granted</Directory></VirtualHost><VirtualHost *:80>ServerAdmin webmaster@jbit.comDocumentRoot "/var/www/html/jbitdoc"ServerName www.jbit.comErrorLog "logs/www.jbit.com-error_log"CustomLog "logs/www.ibit.com-access_log" common<Directory "/var/www/html">Repuire all granted</Directory></VirtualHost>

[root@node01 ~]# vim /usr/local/httpd/conf/httpd.conf

把图中的注释掉 ,加载独立的配置文件

3.在客户机中访问虚拟Web主机

    在客户机的浏览器中,使用网站名称分别访问不同的虚拟Web主机.确认能够看到不同的网页 内容,如图中所示,此时表示基于域名的虚拟主机配置成功。若无法看到此结果,则需要检查两 个站点的首页文件,根据上述过程排查配置错误,必要时清空浏览器缓存后重新访问。

4.创建用户认证数据文件

     httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问。授权访问的用户账号需 要事先建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据 文件,并维护其中的用户账号。

     使用htpasswd工具时,必须指定用户数据文件的位置,添加‘-c”选项表示新建立此文件,例 如.执行以下操作可以新建数据文件/usr/local/httpd/conf/.awspwd.其中包含一个名为 alan 的用户信息。

[root@node01 httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd alan //创建用户alan
New password: 
Re-type new password: 
Adding password for user alan[root@node01 httpd]# cat /usr/local/httpd/conf/.awspwd //查看用户
alan:$apr1$I3lXQ7vR$2gkZbuk5mR1AI088xZld0/

若省略“-c选项,则表示指定的用户数据文件已经存在,用于添加新的用户或修改现有用户 的密码。例如.需要向.awspwd数据文件中添加一个新用户agou时,可以执行以下操作。

[root@node01 httpd]# bin/htpasswd /usr/local/httpd/conf/.awspwd agou //创建用户agou
New password: 
Re-type new password: 
Adding password for user agou[root@node01 httpd]# cat /usr/local/httpd/conf/.awspwd //查看用户
alan:$apr1$I3lXQ7vR$2gkZbuk5mR1AI088xZld0/
agou:$apr1$YmQ9U0qG$j66NdvxLbV06KKvVeeSR81

5.添加用户授权配置

    有了授权用户账号以后,还需要修改httpd.conf 配置文件,在特定的目录区域中添加授权配置. 以启用基本认证并设置允许哪些用户访问。例如,若只允许.awspwd 数据文件中的任一用户访问网 页,可以执行以下操作。 

[root@node01 ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>ServerAdmin webmaster@jbit.comDocumentRoot "/var/www/html/jbitdoc"ServerName www.jbit.comErrorLog "logs/www.jbit.com-error_log"CustomLog "logs/www.jbit.com-access_log" common<Directory "/var/www/html">AuthName " DocumentRoot "AuthType BasicAuthUserFile /usr/local/httpd/conf/.awspwdRequire valid-user</Directory></VirtualHost>

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony 如何去除系统锁屏应用

前言 OpenHarmony源码版本&#xff1a;4.0release / 3.2 release 开发板&#xff1a;DAYU / rk3568 一、3.2版本去除锁屏应用 在源码根目录下&#xff1a;productdefine/common/inherit/rich.json 中删除screenlock_mgr组件的编译配置&#xff0c;在rich.json文件中搜索th…

智能时代:互联网+如何改变我们的生活与工作

引言 随着科技的不断进步和互联网的普及&#xff0c;我们正处在一个智能时代。这个时代被互联网所定义&#xff0c;它深刻地改变了我们的生活和工作方式。从社交互动到日常工作&#xff0c;智能时代的影响无处不在&#xff0c;给人们带来了前所未有的变革和机遇。 互联网的涌…

【基础知识】大数据概述

关键词—分布式 化整为零&#xff0c;再化零为整 大数据的定义 传统数据库处理起来困难的数据集。 发展历程 中国开源生态图谱2023 参考内容 中国开源生态图谱 2023.pdf 技术组件说明 数据集成 sqoop、dataX、flume 数据存储 hdfs、kafka 数据处理 mapreduce、hive…

leetcode:2367. 算术三元组的数目(python3解法)

难度&#xff1a;简单 给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件&#xff0c;则三元组 (i, j, k) 就是一个 算术三元组 &#xff1a; i < j < k &#xff0c;nums[j] - nums[i] diff 且nums[k] - nums[j] diff 返回不…

告诉大家一款手机上就能使用的SSH工具

工欲善其事必先利其器&#xff0c;我们在日常工作中需要登录服务器。在Pc端工具比较丰富&#xff0c;如Xshell等。而在手机端有没有好用的ssh连接工具呢&#xff1f; 关于 flutter_server_box一个 Flutter 项目&#xff0c;它提供图表来显示 Linux 服务器状态和管理服务器的工…

C++ Qt开发:LineEdit单行输入组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍LineEdit单行输入框组件的常用方法及灵活运用…

题目:肖恩的苹果林(蓝桥OJ 3683)

题目描述&#xff1a; 解题思路&#xff1a; 本题采用二分中的二分答案。枚举每一个最大距离&#xff08;i&#xff1a;1 ~ n&#xff09;以及他们至少能容纳的树木数&#xff08;上一题&#xff1a;跳石头-蓝桥OJ 364&#xff09; 判断二分内判断条件是>还是<以及是lmi…

大数据Vue项目必备|Window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

大数据Vue项目必备|Window下安装并使用nvm&#xff08;含卸载node、卸载nvm、全局安装npm&#xff09; 一、卸载旧版本 如果已经安装了node&#xff0c;那么需要先卸载node&#xff0c;如果没有安装那可以直接跳过这一步。 卸载&#xff1a;   打开控制面板 -> 打开程序和…

轻量封装WebGPU渲染系统示例<44>- 材质组装流水线(MaterialPipeline)之灯光和阴影(源码)

目标: 数据化&#xff0c;模块化&#xff0c;自动化 备注: 从这个节点开始整体设计往系统规范的方向靠拢。之前的都算作是若干准备。所以会和之前的版本实现有些差异。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sa…

Java+Swing: 从数据库中查询数据并显示在表格中 整理11

分析&#xff1a;要想从数据库中查询数据并分页展示到表格中&#xff0c;我觉得应该按照这个思路&#xff1a;首先就是发起请求&#xff0c;此时需要向数据库中传递三个参数&#xff1a;当前页码&#xff08;pageNum&#xff09;、每一页的数量&#xff08;pageSize&#xff09…

UE5 - ArchvizExplorer与Map Border Collection结合 - 实现电子围栏效果

插件地址&#xff1a; https://www.unrealengine.com/marketplace/zh-CN/product/archviz-explorer https://www.unrealengine.com/marketplace/zh-CN/product/map-border-collection ArchvizExplorer扩展&#xff1a; https://download.csdn.net/download/qq_17523181/8843305…

@CrossOrigin解决跨域不生效问题

参考文献 CrossOrigin注解没有生效&#xff0c;解决方案集合_crossorigin注解不起作用-CSDN博客