Linux[高级管理]——使用源码包编译安装Apache网站

news2024/12/23 15:18:42

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年5月31日14点20分

🀄️文章质量:96分


Linux系统上编译和安装Apache HTTP Server是管理员和开发人员常用的一项技能。这种方法提供了更大的灵活性和控制权,允许你根据特定需求自定义配置和模块。通过从源代码编译安装Apache,可以确保使用最新的功能和修复,同时优化服务器性能和安全性。本文将详细介绍如何从源码包下载、解压、配置、编译和安装Apache HTTP Server,并进行基本配置以启动和运行一个Apache网站。

目录

💯趣站💯

↘️1.下载安装所需的包

🔙上传/解压安装包

↕️2.编译安装软件

↔️查看httpd版本号

↖️启动服务

↗️编辑配置文件

↙️查看端口

↙️主机名映射

↙️测试


完成效果

↘️1.下载安装所需的包

缺失安装包之后 会导致后续安装出错

yum install -y gcc gcc-c++ make apr apr-devel apr-util-devel pcre pcre-devel

各个软件包的作用

  1. gcc:GNU Compiler Collection的C编译器。用于编译C语言程序。

  2. gcc-c++:GNU Compiler Collection的C++编译器。用于编译C++语言程序。

  3. make:一个构建工具,用于自动化编译软件程序的过程,主要根据Makefile文件的指令进行编译。

  4. apr:Apache Portable Runtime库,提供了一组跨平台的编程接口,用于实现高性能的服务器应用程序。

  5. apr-devel:APR库的开发文件,包括头文件和静态库,供编写使用APR库的程序时使用。

  6. apr-util-devel:APR Utility库的开发文件,提供了一些APR库的辅助功能和扩展功能。

  7. pcre:Perl Compatible Regular Expressions库,提供了一套与Perl语言兼容的正则表达式功能。

  8. pcre-devel:PCRE库的开发文件,包含头文件和静态库,供编写使用PCRE库的程序时使用。

下载vim和上传工具(你的电脑可能已经安装,再敲一编也没事)

🔙上传/解压安装包

上传文件(Apache的安装包)

  1. zxftar命令的选项:

    • z:使用gzip解压缩。
    • x:提取文件。
    • f:指定要处理的文件名(在这里是httpd-2.4.59.tar.gz)。
  2. httpd-2.4.59.tar.gz:要解压的tar.gz文件名。

  3. -C /usr/src/:指定解压缩的目标目录(/usr/src/)。-C选项告诉tar将文件解压到指定目录,而不是当前目录。

↕️2.编译安装软件

进入你解压后的目录 也就是/usr/src/httpd....        可以TAB出来

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enablecharset-lite --enable-cgi && make && make install

命令解释

  • ./configure:这是一个配置脚本,用于检查系统环境并设置编译选项。它生成一个适合系统的Makefile文件。

    • --prefix=/usr/local/httpd:指定安装路径。这里表示将软件安装到/usr/local/httpd目录下。

    • --enable-so:启用DSO(动态共享对象)支持,允许使用动态加载的模块。

    • --enable-rewrite:启用URL重写模块(mod_rewrite),用于重写请求的URL。

    • --enable-charset-lite:启用轻量级字符集转换支持。

    • --enable-cgi:启用CGI(Common Gateway Interface)支持,允许运行CGI脚本。

  • &&:逻辑AND操作符,确保前一条命令成功执行后才执行下一条命令。

  • make:根据configure生成的Makefile文件,编译源代码生成可执行文件和库。

  • make install:将编译生成的文件安装到指定的目录(--prefix指定的路径)。

编译安装完成之后查看

[root@localhost httpd-2.4.59]# ls /usr/local/httpd/
bin cgi-bin error icons logs manual
build conf htdocs include man modules

创建软连接

ln /usr/local/httpd/bin/* /usr/local/bin/

这条命令用于创建符号链接,将/usr/local/httpd/bin目录下的所有文件链接到/usr/local/bin目录中。这样可以方便地从命令行调用这些可执行文件,而不必输入完整路径。

好处

  • 方便使用:现在可以直接运行apachectlhttpd等命令,而不需要指定完整路径

↔️查看httpd版本号
root@localhost ~]# httpd -v
Server version: Apache/2.4.59 (Unix)
Server built: May 31 2024 11:42:35

 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

/usr/local/httpd/bin/apachectl复制到/etc/init.d/目录并命名为httpd,是一种将Apache HTTP Server配置为系统服务的方式。这可以让你使用标准的服务管理命令来启动、停止和管理Apache HTTP Server。

↖️启动服务
[root@localhost ~] service httpd start
↗️编辑配置文件
[root@localhost ~] vim /usr/local/httpd/conf/httpd.conf

开启ServerName

[root@localhost ~] service httpd restart

↙️查看端口
[root@localhost ~] netstat -nultp | grep 80
tcp6 0 0 :::80 :::* LISTEN
19699/httpd

编辑网页文件(这里我随意写了个htmll测试使用)

[root@localhost ~] cd /usr/local/httpd/htdocs/
[root@localhost htdocs] ls
index.html
[root@localhost htdocs] vim index.html
[root@localhost htdocs] systemctl stop firewalld

↙️主机名映射
​[root@localhost ~] vim /etc/hosts

将你的IP地址和你的主机名关联起来

↙️测试

打开浏览器访问主机名或者IP地址都是可以的

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2r5gehowo8isg

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

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

相关文章

乡村振兴与脱贫攻坚相结合:巩固拓展脱贫攻坚成果,推动乡村全面振兴,建设更加美好的乡村生活

目录 一、引言 二、巩固拓展脱贫攻坚成果 1、精准施策,确保稳定脱贫 2、强化政策支持,巩固脱贫成果 3、激发内生动力,促进持续发展 三、推动乡村全面振兴 1、加快产业发展,增强乡村经济实力 2、推进乡村治理体系和治理能力…

2.6倍!WhaleTunnel 客户POC实景对弈DataX

作为阿里早期的开源产品,DataX是一款非常优秀的数据集成工具,普遍被用于多个数据源之间的批量同步,包括类似Apache DolphinScheduler的Task类型也对DataX进行了适配和增强,可以直接在DolphinScheduler里面利用通用的数据源调用Dat…

Java面试——专业技能

优质博文:IT-BLOG-CN 一、简单讲下 Java 的跨平台原理 由于各个操作系统(Windows,Linux等)支持的指令集不是完全一致的。就会让我们程序在不同的操作系统上要执行不同的程序代码。Java 开发了适用于不同操作系统及位数的 Java 虚拟…

Python对获取数据的举例说明

当使用Python来获取数据时,有许多不同的方法和库可以根据你的需求来选择。以下是一些常见的示例,说明如何使用Python来从各种来源获取数据。 1. 从网站或API获取JSON数据 你可以使用requests库从网站或API获取JSON格式的数据。例如,从某个API…

C++ | Leetcode C++题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestConsecutive(vector<int>& nums) {unordered_set<int> num_set;for (const int& num : nums) {num_set.insert(num);}int longestStreak 0;for (const int& num : num_set) {…

accelerate 笔记:对齐不同设备配置的性能

在TPU、多GPU和单GPU上使用accelerate运行相同的脚本和相同的batch_size&#xff0c;可能结果是不一样的那应该怎么做呢? 1 设置正确的种子 确保在所有分布式情况下使用 utils.set_seed() 完全设置种子&#xff0c;以使训练可复现 from accelerate.utils import set_seedse…

【C++进阶】深入STL之string:模拟实现走进C++字符串的世界

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C模板入门 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀STL之string &#x1f4d2;1. string…

男士什么牌子的内裤穿着舒服?五款实力派男士内裤分享

你是否曾因为内裤不透气、材质不佳而倍感烦恼&#xff1f;男士内裤作为贴身衣物&#xff0c;其舒适度和质量至关重要。在如今市场上品牌众多、材质各异的背景下&#xff0c;如何挑选一款合适的男士内裤成为了一大难题。 以下是测评过的部分男士内裤&#xff1a; 近期&#xff…

ArUco与AprilTag 标签

一、简介 在许多计算机视觉应用程序中&#xff0c;姿势估计非常重要&#xff1a;机器人导航&#xff0c;增强现实等等。 该过程基于发现真实环境中的点与其2d图像投影之间的对应关系。 这通常是一个困难的步骤&#xff0c;因此通常使用合成或基准标记来简化操作。 最受流行的…

20240606在Toybrick的TB-RK3588开发板的Android12下确认HDMI的驱动

20240606在Toybrick的TB-RK3588开发板的Android12下确认HDMI的驱动 2024/6/6 9:48 【原文是在RK3328的Android7.1下写的。我将它升级成为RK3588的Android12了】 RK平台主要采用 FB 和 DRM 两种显示框架。与此相对应&#xff0c; HDMI 也有两套驱动。 FB&#xff1a; LINUX 3.10…

技巧:合并ZIP分卷压缩包

如果ZIP压缩文件文件体积过大&#xff0c;大家可能会选择“分卷压缩”来压缩ZIP文件&#xff0c;那么&#xff0c;如何合并zip分卷压缩包呢&#xff1f;今天我们分享两个ZIP分卷压缩包合并的方法给大家。 方法一&#xff1a; 我们可以将分卷压缩包&#xff0c;通过解压的方式…

【CentOS 7】挑战探索:在CentOS 7上实现Python 3.9的完美部署指南

【CentOS 7】挑战探索&#xff1a;在CentOS 7上实现Python 3.9的完美部署指南 大家好 我是寸铁&#x1f44a; 总结了一篇【CentOS 7】挑战探索&#xff1a;在CentOS 7上实现Python 3.9的完美部署指南详细步骤✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 此篇教程只适用于p…

linux网络 dns域名解析

目录 DNS 域名体系结构 如何实现域名解析 正向解析 反向解析 主从服务器解析 bond 网卡 DNS 是域名系统的简称 域名和ip地址之间的映射关系 互联网中 IP地址是通信的唯一标识 逻辑地址 访问网站 域名 IP地址不好记 域名朗朗上口 好记 域名解析的目的就是为了实现 访…

搭建高可用k8s

高可用只针对于api-server&#xff0c;需要用到nginx keepalived&#xff0c;nginx提供4层负载&#xff0c;keepalived提供vip(虚拟IP) 系统采用openEuler 22.03 LTS 1. 前期准备 因为机器内存只有16G&#xff0c;所有我采用3master 1node 1.1 修改主机配置&#xff08;所有节…

fpga入门 串口定时1秒发送1字节

一、 程序说明 FPGA通过串口定时发送数据&#xff0c;每秒发送1字节&#xff0c;数据不断自增 参考小梅哥教程 二、 uart_tx.v timescale 1ns / 1psmodule uart_tx(input wire sclk,input wire rst_n,output reg uart_tx);parameter …

栈与队列的相互实现

文章目录 前言一、用队列实现栈二、用栈实现队列总结 梦想不是别人给你的目标&#xff0c;靠自己的意志去实现的才是梦想… ——《食梦者》 前言 嗨喽喽&#xff01;大家好哇。欢迎小伙伴们来到我的博客&#xff01;&#xff01; 在前面已经分享了栈与队列两种数据结构的特点…

进程和计划任务以及步骤

进程 进程和程序有关&#xff0c;把该文件放到内存里&#xff0c;进程是动态的&#xff0c;不同时刻的状态不一样 内存&#xff1a;放置正在运行的程序和所需数据的位置 程序启动 ——》将相关文件和数据放到内存里 ——》进程&#xff08;processes&#xff09; 进程相关命令 …

easyexcel动态表头导出

动态表头导出excel 红框固定&#xff0c;绿框动态 引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>工具类 import com.alibaba.excel.util…

0.2 模拟电视简介

0.2 模拟电视简介 模拟电视指从图像信号的产生、传输、处理到接收机的复原&#xff0c;整个过程几乎都是在模拟体制下完成的电视系统或电视设备。模拟电视使用模拟信号传输图像和音频&#xff0c;模拟信号的幅度、相位和频率分别表示图像的亮度、颜色和声音。模拟电视的优点&a…

jmeter -n -t 使用非GUI模式运行脚本说明

命令模式下执行jmx文件 jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1 表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告&#xff0c;写入文件夹results\h1。 说明&#xff1a;生成结果的文件夹r…