Apache部署与配置

news2024/10/3 0:20:54

概述

        介绍

        Apache  HTTP Server(简称Apache)是Apache的一个开源的网页服务器,它源自NCSAhttpd服务器,并经过多次修改和发展,如今已经成为全球范围内广泛使用的Web服务器软件之一

        特点

        跨平台:可以运行在几乎所有广泛使用的计算机平台上

        高效性能:能够处理大量的并发连接,满足大型网站的需求

        稳定性:服务器稳定性高,运行时间长,可提供持续的服务

        安全性:提供了多种安全功能,如SSL/TLS加密、访问控制等,以保护用户数据的安全

        功能

        支持通用网关接口(CGI)、基于IP和基于域名的虚拟主机、多种方式的HTTP认证

        支持服务器端包含指令(SSI)、安全Socket层(SSL)

        支持SSL技术,支持多个虚拟主机

安装部署

        环境准备

#准备一台Linux虚拟机,IP地址为192.168.221.151
systemctl stop firewalld               #关闭防火墙
setenforce 0                           #关闭selinux

        安装 

#源代码编译安装
yum -y install gcc gcc-* make        #准备编译安装工具
yum -y install apr-util-devel pcre-devel zlib-devel        #准备依赖包
tar -zxvf   httpd-2.4.59.tar.gz   -C   /usr/src            #解压安装包
cd /usr/src/httpd-2.4.59/            #切换到解压后的目录

#配置安装路径
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi            #配置安装路径
make && make    install    #编译并安装

#使用编译安装,systemctl命令可能会无法使用,运行以下代码
ln -s /usr/local/httpd/bin/* /usr/local/bin/
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF

#启动服务并设置开机自启动
systemctl start httpd
systemctl enable httpd

        测试

        如果是yum安装的话应该会显示Testing123.....页面

配置

        配置文件

        安装完成后在我们设置的安装目录下即可看到几个目录        

        conf:存放配置文件

        httpd.conf:位于conf目录下,是httpd的主配置文件

        htdocs:存放html网页,前面测试的It works!网页就放在这里

#编辑主配置文件
vi /usr/local//httpd/conf/httpd.conf
ServerRoot "/usr/local/httpd"        #定义服务器配置文件的根目录
Listen 80                            #设置监听的端口为80
ServerName 192.168.221.151           #定义服务器的主机名
DocumentRoot "/usr/local/httpd/htdocs"        #定义网站根目录,即HTTP请求访问的默认目录
DirectoryIndex index.html            #定义访问网站根目录时默认索引文件

<Directory "/usr/local/httpd/htdocs">    #对特定的目录进行设置
    AllowOverride None                    #设置特殊属性,none表示不设置,all表示允许
    Require all granted                   #允许所有人访问,denied表示拒绝
</Directory>

        示例

#在htdocs目录下创建test目录并编写一个网页
echo "<h1>test html</h1>" > ftx.html

#在主配置文件中编辑配置
DocumentRoot "/usr/local/httpd/htdocs/test"    #将默认访问目录改为刚创建的test目录
<Directory "/usr/local/httpd/htdocs/test">     #配置这个目录
    AllowOverride None
    Require all granted
</Directory>
    
DirectoryIndex ftx.html           #将索引改为这个网页,不修改的话则需要在IP后添加ftx.html

#保存然后重启服务

连接保持

        Keep-Alive 允许客户端和服务器在单个 TCP 连接上发送和接收多个 HTTP 请求/响应,而不是为每个请求/响应都创建和销毁一个新的 TCP 连接,这可以显著提高性能和效率

        KeepAlive配置文件在httpd/conf/extra/httpd-default.conf

配置

        KeepAliveTimeout:一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开

        KeepAlive On:是否打开连接保持,OFF关闭,ON打开

        MaxKeepAliveRequests:一次长连接能够传输的最大请求量  

        然后在主配置文件495行左右取消注释Include conf/extra/httpd-default.conf,即可开启

访问控制

作用

        控制对网站资源的访问

        为特定的网站目录添加访问授权

常用访问控制方式

        客户机地址限制

        用户授权限制

        客户机地址限制

#编辑主配置文件
<Directory "/usr/local/httpd/htdocs/test">
    Require ip 192.168.221.147        #限制只能192.168.221.147主机访问
    Require ip 192.168.221.1/24       #限制只能192.168.221网段的主机访问
    Require all granted               #允许所有主机访问
    Require all denied                #拒绝所有主机访问
    Require local                     #仅允许本地主机访问
    Require [not] host <主机名或域名列表>        #允许或拒绝指定主机或域名访问
    Require [not] ip <IP地址或网段列表>          #允许或拒绝指定IP地址网络访问

    <RequireAll>                    #组合写法
        Require all granted
        Require not ip 192.168.221.0/24 192.168.222.0/24
    </RequireAll>
</Directory>

#以上配置根据需要填写即可
#示例
<Directory "/usr/local/httpd/htdocs/test">
    Require ip 192.168.222.0/24        #只允许192.168.222网段访问
</Directory>

#重启服务,这时我的宿主机就无法访问,我的宿主机网段为192.168.221

        使用用户授权限制

#创建用户,使用httpd/bin/htpasswd
cd /usr/local/httpd
#创建用户webadmin    -c 第一次创建用户时需要创建文件 -m  使用md5加密
bin/htpasswd -c -m /usr/local/httpd/conf/.awspwd zhangsan
#再添加一个lisi,这时就不需要使用-c选项
bin/htpasswd -m /usr/local/httpd/conf/.awspwd lisi

#编辑主配置文件
<Directory "/usr/local/httpd/htdocs/test">
    AllowOverride None
    #Require all granted
    #Require ip 192.168.222.0/24            #这里要注释掉
    AuthName "test html"                #向用户解释他们正在尝试访问的受保护区域
    AuthType Basic                        #设置认证的类型,Basic 表示基本认证
    AuthUserFile /usr/local/httpd/conf/.awspwd    #设置用于保存用户账号、密码的认证文件路径
    Require valid-user             #要求只有认证文件中的合法用户才能访问
</Directory>

#重启服务,访问网页时即可看到需要登录

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

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

相关文章

接口基础知识1:认识接口

课程大纲 一、定义 接口&#xff1a;外部与系统之间、内部各子系统之间的交互点。 比如日常使用的电脑&#xff0c;有电源接口、usb接口、耳机接口、显示器接口等&#xff0c;分别可以实现&#xff1a;与外部的充电、文件数据传输、声音输入输出、图像输入输出等功能。 接口的本…

tableau气泡图与词云图绘制 - 8

气泡图及词云图绘制 1. 气泡图绘制1.1 选择相关属性字段1.2 选择气泡图1.3 设置颜色1.4 设置标签1.5 设置单位 2. 气泡图绘制 - 22.1 类别筛选2.2 页面年份获取2.3 行列获取2.4 历史轨迹显示 3. 词云图绘制3.1 筛选器3.2 选择相关属性3.3 选择气泡图3.4 设置类型颜色3.5 设置形…

科研训练课程2--论文格式修改+endnote使用

科研训练课程2–论文格式修改endnote使用 文章目录 前言修改论文格式图表endnote 使用&#xff08;补充&#xff09; 总结 前言 第二天 2024/7/9 所属目录&#xff1a;科研训练课程创建时间&#xff1a;2024/7/9作者&#xff1a;星云<XingYun>更新时间&#xff1a;xxxUR…

Python标准库常用模块的典型用法介绍与案例

目录 1. os模块 典型用法 案例 2. sys模块 典型用法 案例 3. datetime模块 典型用法 案例 4. re模块 典型用法 案例 5. json模块 典型用法 案例 6. random模块 典型用法 案例 7. collections模块 典型用法 案例 总结 Python作为一门功能强大的编…

Redis基础教程(十八):Redis管道技术

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

仕考网:公务员考试面试时间一般多长?

公务员考试主要分为笔试与面试两个阶段&#xff0c;其中面试是笔试通过的下一关&#xff0c;面试的具体安排通常由相关考试机构或招录单位负责发布并通知考生。 公务员面试的持续时间一般在30分钟至1小时之间&#xff0c;具体时长可能因地区和招录单位的不同而有所变化。常见的…

交通气象站:保障道路安全的智慧之眼

随着社会的快速发展&#xff0c;交通运输日益繁忙&#xff0c;道路安全成为公众关注的焦点。在这个背景下&#xff0c;交通气象站作为保障道路安全的重要设施&#xff0c;正发挥着越来越重要的作用。它们不仅为交通管理部门提供及时、准确的气象信息&#xff0c;也为广大驾驶员…

中职网络安全B模块Cenots6.8数据库

任务环境说明&#xff1a; ✓ 服务器场景&#xff1a;CentOS6.8&#xff08;开放链接&#xff09; ✓ 用户名&#xff1a;root&#xff1b;密码&#xff1a;123456 进入虚拟机操作系统&#xff1a;CentOS 6.8&#xff0c;登陆数据库&#xff08;用户名&#xff1a;root&#x…

Gymnasium 借游戏来学习人工智能

既然有了免费的linux系统GPU&#xff0c;干脆演示一下使用drivecolab套件来训练模型。 !apt-get install -y build-essential swig !pip install box2d-py !pip install gymnasium[all] !pip install gymnasium[atari] gymnasium[accept-rom-license] !pip install stable_bas…

限流组件都有哪些

限流组件有很多&#xff0c;下面是一些常见的限流组件&#xff1a; 1.Sentinel&#xff1a;轻量级的流量控制、熔断降级组件&#xff0c;适用于分布式系统间的流量控制、负载保护和系统防护。 1.Guava RateLimiter&#xff1a;Google 的 Guava 库提供的限流器&#xff0c;基于令…

中职网络安全B模块渗透测试system0016

访问http://靶机IP/web1/,获取flag值&#xff0c;Flag格式为flag{xxx}&#xff1b; 可能会跳转8000端口删除进入80端口 进入后点击侦查一下&#xff0c;这里乱码了&#xff0c;我们点击查看是一个柯南&#xff0c;web但这是一个web题目肯定不是隐写术&#xff0c;所以说题目的…

GuLi商城-商品服务-API-品牌管理-OSS获取服务端签名

新建第三方服务: 引入common 把common中oss的依赖都拿到第三方服务中来 配置文件: 加上nacos注解:<

中职网络安全B模块渗透测试server2380

使用nmap扫描添加参数-sV Flag:2.4.38 添加参数-A不然扫不全 &#xff08;这两题可以直接加-sV -A&#xff09; Flag: 4.3.11-Ubuntu 根据nmap扫描发现系统为ubuntu系统&#xff0c;ubuntu操作系统在某些版本中默认包含一个名为"ubuntu"的用户帐户。这是为了方…

71.WEB渗透测试-信息收集- WAF、框架组件识别(11)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;70.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;10&#xff09;-CSDN博客 如果有…

计算机的错误计算(二十六)

摘要 结合计算机的错误计算&#xff08;二十四&#xff09;中的 Maple 环境下的计算过程&#xff0c;&#xff08;二十五&#xff09;讨论了&#xff08;不&#xff09;停机问题。事实上&#xff0c;其它数学软件比如 Mathematica 也存在该问题。 &#xff08;不&#xff09;停…

解读网络安全公司F5:助企业高效简化多云和应用部署

伴随企业加速数字化转型工作、扩展到新的基础设施环境并采用微服务架构&#xff0c;企业正拥抱混合和多云基础设施所带来的灵活性。Ernst & Young调查数据显示&#xff0c;84%的企业正处于向现有网络安全解决方案套件添加多种新技术的早期阶段。企业同样意识到&#xff0c;…

leetcode--验证二叉搜索树

leetcode地址&#xff1a;验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左 子树 只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必…

【Windows11】Edge卡顿问题精准解决

目录 背景问题解决 背景 本机配置&#xff1a; CPU&#xff1a;i5-13600KF 内存&#xff1a;威刚 XPG龙耀 D300G 32G 6400 D5 固态&#xff1a;威刚 XPG翼龙 S70B 1T PCIe4.0 7400MB/s 带缓存 理论上这个配置多开个Edge轻轻松松。 已经尝试网上各种方法未果&#xff0c;包括不…

12-阿里云单细胞处理-PBMC(by-jmzeng)

scRNA_10X/seurat-v2/sup-patient1-PBMC.Rmd at master jmzeng1314/scRNA_10X (github.com) s04-运行seurat流程处理一万个单细胞转录组数据并自动化出报告_哔哩哔哩_bilibili #section 3已更新#「生信技能树」单细胞公开课2021_哔哩哔哩_bilibili 上传读取数据 可以配置租…

Git命令常规操作

目录 常用操作示意图 文件的状态变化周期 1. 创建文件 2. 修改原有文件 3. 删除原有文件 没有添加到暂存区的数据直接 rm 删除即可&#xff1a; 对于添加到暂存区的数据 文件或目录&#xff1a; 4. 重命名暂存区数据 5. 查看历史记录 6. 还原历史数据 恢复过程的原…