练习实践 web中间件httpd-id:2-编译安装-web登录认证设置

news2024/11/13 15:12:07

参考来源:
用编译的方式安装apache httpd服务

编译安装过程记录

1.下载准备环境:

yum -y install gcc gcc-c++ make pcre pcre-devel gd-devel openssl-devel  zlib zlib-devel  apr-*

根据之前的操作文档和实际安装经验,提前将所需依赖项安装好,避免出现报错,需要停下检查后,还需要重新执行,减少时间花费;

2.使用wget下载应用软件压缩包,使用tar工具解压,进入httpd目录中

[root@centos7 www]# wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.62.tar.bz2
--2024-07-24 17:28:11--  https://mirrors.aliyun.com/apache/httpd/httpd-2.4.62.tar.bz2
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 182.49.63.193, 182.49.63.186, 182.49.63.187, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|182.49.63.193|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:7521661 (7.2M) [application/x-bzip]
正在保存至: “httpd-2.4.62.tar.bz2”

100%[==========================================>] 7,521,661    531KB/s 用时 14s    

2024-07-24 17:28:25 (540 KB/s) - 已保存 “httpd-2.4.62.tar.bz2” [7521661/7521661])

[root@centos7 httpd-2.4.62]# tar xf httpd-2.4.62.tar.bz2
[root@centos7 httpd-2.4.62]# cd httpd-2.4.62
[root@centos7 httpd-2.4.62]# ls
ABOUT_APACHE     CHANGES          httpd.dep       libhttpd.mak    README.cmake
acinclude.m4     changes-entries  httpd.dsp       LICENSE         README.platforms
Apache-apr2.dsw  CMakeLists.txt   httpd.mak       Makefile.in     ROADMAP
Apache.dsw       config.layout    httpd.spec      Makefile.win    server
apache_probes.d  config.log       include         modules         srclib
ap.d             config.nice      INSTALL         NOTICE          support
build            configure        InstallBin.dsp  NWGNUmakefile   test
BuildAll.dsp     configure.in     LAYOUT          os              VERSIONING
BuildBin.dsp     docs             libhttpd.dep    README
buildconf        emacs-style      libhttpd.dsp    README.CHANGES

配置软件模块

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

./configure \
--prefix=/usr/local/httpd \		#指定将 httpd 服务程序的安装路径
--enable-so \					#启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			#启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					#启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

编译安装

make				#make -j 2  表示开2核同时进行编译
make install

------编译安装完成

web登录认证设置

web登录认证的场景介绍
用户认证的用途:当一个网站被访问的时候,需要输入用户名和密码才能进入,而不是直接登录网站,这种认证的形式可以针对网站的一个目录进行,也可以针对单个的访问文件进行

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

检查配置文件语法

[root@centos7 httpd-2.4.62]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::7f9:9a7d:e440:9c3b. Set the 'ServerName' directive globally to suppress this message
Syntax OK

解决方法,在[root@centos7 local]# vim /usr/local/httpd/conf/httpd.conf的205行,添加

ServerName localhost:80

在这里插入图片描述

配置文件编辑

将默认httpd-vhosts.conf配置文件全部删除,配置文件路径

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

小技巧tips:vim工具中可以使用高效删除文本全部内容

在 Vim 中,清空整个文件内容可以使用以下命令:
打开文件后,按 Esc 确保处于普通模式。
输入 gg 跳转到文件的第一行。
输入 dG 删除从当前行到文件末尾的所有内容

将下面内容写入配置文件中,

<VirtualHost *:80>
    DocumentRoot "/www/abc" ##为将要访问的页面的目录         
<Directory /www/abc>
    AllowOverride AuthConfig #允许对/www/abc 目录下的内容进行用户认证
    AuthName "xiaoyue"     ##指定存放的用户                         
    AuthType Basic
    AuthUserFile /www/.htpasswd  # #指定存放用户名和密码的文件
    require valid-user
</Directory>
</VirtualHost>

配置虚拟主机访问权限

207 #
208 # Deny access to the entirety of your server's filesystem. You must
209 # explicitly permit access to web content directories in other 
210 # <Directory> blocks below.
211 #
212 <Directory />
213     AllowOverride none
214 #   Require all denied
215     Require all granted
216 </Directory>

vhost功能启用

编辑Apache的主配置文件,打开虚拟主机配置,在vim工具中,通过:/httpd-vhost 查询关键词,将vhost功能启用

[root@centos7 local]# vim /usr/local/httpd/conf/httpd.conf 
487 # Virtual hosts
488 Include conf/extra/httpd-vhosts.conf

htpasswd生成密码文件

[root@centos7 local]# htpasswd -c /www/.htpasswd xiaoyue
New password: 
Re-type new password: 
Adding password for user xiaoyue
[root@centos7 local]# cat /www/.htpasswd 
xiaoyue:$apr1$ZhDxzvAD$oEKDCz98M4Fx7RE9W93Ar.

检查配置参数并尝试启动

[root@centos7 bin]# apachectl graceful
httpd not running, trying to start
[root@centos7 bin]# apachectl start
httpd (pid 23473) already running

验证效果,出现输入用户名和密码页面即表示成功

通过elinks工具验证

[root@centos7 bin]# elinks http://127.0.0.1/www/abc

在这里插入图片描述

通过浏览器工具验证

在这里插入图片描述
快速回顾:
编译安装:从哪些渠道能够得到软件包,编译安装httpd如何实现?
httpd认证设置:配置文件中修改的内容,配置用户认证的htpasswd工具使用,验证效果的命令行浏览器elinks;
–END–

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

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

相关文章

sqli-labs注入练习1,2关

sqli-labs第一关 判断是否存在sql注入 可见&#xff0c;根据输入数字的不同&#xff0c;结果也不同 判断sql语句是否是拼接&#xff0c;且是字符型还是数字型 由上可见&#xff0c;这关指定是字符型且存在sql注入漏洞 使用联合注入 第一步&#xff1a;首先知道表格有几列&…

PyCharm 2024.1 最新变化

文章目录 PyCharm 2024.1 最新变化一、新的 AI Assistant 功能 PyCharm Professional1、一键创建包含生成代码的文件2、生成架构感知型 SQL 查询 二、缩小整个 IDE 的选项三、新终端 Beta PyCharm 2024.1 最新变化 pycharm是什么 作为 JetBrains 旗下的一款专为 Python 开发者设…

SQL注入之sqli-labs靶场第二关

手工注入less-2 1.找注入点 通过 ?idsdfsdf 报错发现注入点 经过尝试没有闭合发现是数字型注入 2.猜解字段数量 发现字段数量为3 3.通过union联合查询判断回显点 发现回显点2&#xff0c;3&#xff0c; 4&#xff0c;进行信息收集 数据库版本号&#xff1a;5.7.26 数据库…

【MongoDB】1.MongoDB下载与安装

目录 一、下载 二、安装 三、安装MongoDB Compass 四、连接 一、下载 官网地址&#xff1a; https://www.mongodb.com/download-center/community 二、安装 详细的安装教程可参考&#xff1a; MongoDB安装&#xff08;超详细&#xff09;_安装mongodb-CSDN博客 注意事项1&…

亚马逊爬虫(Amazonbot)IP地址,真实采集数据

一、数据来源&#xff1a; 1、这批亚马逊爬虫&#xff08;Amazonbot&#xff09;IP来源于尚贤达猎头公司网站采集数据&#xff1b; ​ 2、数据采集时间段&#xff1a;2023年10月-2024年7月&#xff1b; 3、判断标准&#xff1a;主要根据用户代理是否包含“Amazonbot”和IP核…

C# Unity 面向对象补全计划 七大原则 之 依赖倒置原则 (DIP)难度:☆☆ 总结:多抽象,多接口,少耦合

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识&#xff0c;看不懂没关系 请看专栏&#xff1a;http://t.csdnimg.cn/mIitr&#xff0c;查漏补缺 1.依赖倒置原则 (DIP) 这…

【算法题】无重复字符的最长子串(滑动窗口)

目录 一、题目描述 二、解题思路 1、什么是滑动窗口算法&#xff1f; 2、滑动窗口一般解题模板 三、参考答案 一、题目描述 无重复字符的最长子串 给定一个字符串s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: s "abcabcbb"…

【Linux】vim(工具篇)

文章目录 什么是vimvim的使用普通模式&#xff08;Normal Mode&#xff09; 命令模式&#xff08;Command Mode&#xff09;批量化注释/批量化去注释 vim的配置 什么是vim Vim 是一种高度可配置的文本编辑器&#xff0c;最初由 Bram Moolenaar 在 1991 年基于 vi 编辑器创建。V…

力扣——238.移动零

题目 思路 利用双指针&#xff0c;先找到第一个为0的地方指向&#xff0c;指针2指向下一个&#xff0c;指针1之前是已经处理好的数据&#xff0c;指针2进行遍历&#xff0c;遇到非零则与指针1数据交换&#xff0c;然后指针1。 代码 class Solution { public:void moveZeroes(…

OpenAI not returning a result?

题意&#xff1a;OpenAI 没有返回结果吗&#xff1f; 问题背景&#xff1a; Im trying to use the OpenAI beta but I cant seem to get a result. Im accessing the API via an NPM package (openai-api - npm). I have that setup and working but when I make a request th…

Unity强化工程 之 Mask SortingGroup

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 1.Mask 遮罩故名思意就是起到遮挡作用的罩子:精灵遮罩 - Unity 手册 如果我想让sprite与遮罩发生交互&#xff0c;那么我…

深入理解接口测试:实用指南与最佳实践(三)API文档解析及编写测试用例

​ ​ 您好&#xff0c;我是程序员小羊&#xff01; 前言 这一阶段是接口测试的学习&#xff0c;我们接下来的讲解都是使用Postman这款工具&#xff0c;当然呢Postman是现在一款非常流行的接口调试工具&#xff0c;它使用简单&#xff0c;而且功能也很强大。不仅测试人员会使用…

人工智能大模型 | 通俗讲解AI基础概念

LLM LLM&#xff08;Large Language Models&#xff09;指的是大型语言模型。这些模型是自然语言处理&#xff08;NLP&#xff09;技术的一部分&#xff0c;使用深度学习训练来理解、生成、翻译文本&#xff0c;甚至执行特定的语言相关任务&#xff0c;如问答、文本摘要、编程…

技术方案、实施例和图纸应该怎么写?

技术方案、实施例和图纸应该怎么写&#xff1f;

【Vue3】组件通信之mitt

【Vue3】组件通信之mitt 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

【如何高效处理前端常见问题:策略与实践】

在快速发展的Web开发领域&#xff0c;前端作为用户与应用程序直接交互的界面&#xff0c;其重要性不言而喻。然而&#xff0c;随着技术的不断演进和项目的复杂化&#xff0c;前端开发者在日常工作中难免会遇到各种挑战和问题。本文旨在深入探讨前端开发中常见的问题类型&#x…

【竞技宝jjb.lol】奥运会:樊振东夺金证明自己

北京奥运会乒乓球男子单打决赛结束,中国球员樊振东在决赛中4比1击败了瑞典天才莫雷加德,为中国队保下了这枚关键的金牌。樊振东也成为了继马龙之后,第二位同时拿到奥运会、世锦赛、世界杯、亚运会、亚锦赛、亚洲杯、巡回赛总决赛、全运会单打冠军的球员。作为国乒男队一哥,樊振…

嵌入式day19

文件 标准io&#xff1a;stdio.h&#xff08;计算机角度做输入输出&#xff09;&#xff08;读写文件&#xff09; 标准io概念 IO库&#xff0c;c语言的标准 IO &#xff1a;input output I &#xff1a;键盘是标准输入设备 》默认输入就是指键盘 /dev/input O&#xff1a…

Redis01- 基础篇

什么是Redis 与MySQL数据存在磁盘上不同的是&#xff0c;Redis数据以k-v的键值对形式存在内存中&#xff0c;支持持久化。由于存在内存中&#xff0c;其读写速度很快。 Redis为什么那么快 主要有三点&#xff1a; 基于内存&#xff0c;读写速度快IO多路复用、单线程读写有高效…

使用pinyin4j解决中文排序时候多音字问题

1、引入jar包 <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version></dependency> 2、工具类 public class SortUtil {private static HanyuPinyinOutputFormat pinyinO…