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

🏡作者主页:点击! 

👨‍💻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地址都是可以的

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

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

相关文章

Kubernetes 安全指南:从审计到备份的全面防护

▲ 点击上方"DevOps和k8s全栈技术"关注公众号 Kubernetes(K8s)作为现代容器编排的领先平台,其在提升应用部署和管理效率方面表现出色。然而,随着其应用的广泛普及,Kubernetes的安全性也成为了大家关注的重点…

搭建基于Django的博客系统数据库迁移从Sqlite3到MySQL(四)

上一篇:搭建基于Django的博客系统增加广告轮播图(三) 下一篇:基于Django的博客系统之用HayStack连接elasticsearch增加搜索功能(五) Sqlite3数据库迁移到MySQL 数据库 迁移原因 Django 的内置数据库 SQL…

动态规划求多段图的最短路径

一、基本思想 动态规划法将待求解问题分解成若干个相互重叠的子问题,每个子问题相互关联;动态规划法与分治法的区别就在于分治法的子问题相互不关联,而动态规划法的子问题是相互关联的,且有重叠的部分。 二、算法分析 动态规划…

x264 参考帧管理原理:reference_build_list 函数

reference_build_list函数 原理 功能:构建参考列表,它根据当前编码帧的POC(Picture Order Count)来决定哪些帧可以作为参考帧。 内部执行流程:声明了一个布尔变量b_ok,用于在排序循环中作为标志;初始化参考帧列表0和1的计数器i_fref[0]、i_fref[1];如果当前编码的切片…

独孤思维:赚不到的人,身边也都是不赚钱的垃圾

01 如果你身边的人,都被你吐槽垃圾,那么你一定垃圾。 因为你身处在垃圾之中,而你不愿意改变,那么你肯定垃圾。 如果你做副业,一直没赚到钱,也一直在埋怨项目不行。 那么一定是你这个人不行。 无论换多…

android源码下载编译模拟器运行

安卓aosp源码下载,编译,模拟器运行 virtualbox7 安装ubuntu20.04,ubuntu22.04 编译android aosp 源码可以,但是模拟器跑不了,哪个版本都是要么黑屏,要么整个vbox虚拟机闪退。解决方案使用vmware17 ##拯救…

性能优化相关:nginx负载均衡中的动静分离

结合上次博客:正向代理和反向代理 什么是动静分离: 静态资源:包含css文件、图片、js文件、配置文件等 动态资源:脚本处理等 更改/usr/local/nginx/conf下的nginx.conf文件,设置动静目录,添加如下 locatio…

Ubuntu——配置安装服务

目录 一、安装JDK 二、安装IntelliJ IDEA 三、安装Docker-ce 1.环境清理以免有遗留组件 2.安装Docker 3.测试 #检查版本 sudo cat /etc/issue 一、安装JDK Ubuntu提供了一个名为apt的软件包管理工具,通过它可以使用命令行的方式安装、更新和删除软件包。 使用…

Day03 左侧菜单数据绑定

一.左侧菜单数据绑定 1.首先,进行项目结构塔建。按照Prism 框架约定,要使用自动查找绑定功能。即View (视图)中自动查找并绑定到对应的ViewModel(视图模型,处理视图业务逻辑)。就需要在项目中按…

大数据在金融行业的深度应用与未来展望

一、引言 随着信息技术的迅猛发展,大数据已经成为推动金融行业创新的重要力量。从精准营销、个性化服务到风险管理和产品创新,大数据的应用正在不断重塑金融行业的格局。本文将深入探讨大数据在金融行业的深度应用,分析其特征特点、解决方案以及面临的挑战与机遇,并展望其…

【C++】6-7 你好,输出的格式控制(三角形)

6-7 你好,输出的格式控制(三角形) 分数 10 全屏浏览 切换布局 作者 向训文 单位 惠州学院 完善程序:输入行数rows(大于0),第一行输出rows个*,接下来每行的*个数减1,直…

LeetCode刷题之HOT100之搜索旋转排序数组

2024/6/2 雨一直下,一个上午都在床上趴着看完了《百年孤独》,撑伞去吃了个饭,又回到了宿舍。打开许久未开的老电脑,准备做题了。《百年孤独》讲了什么,想表达什么,想给读者留下什么,我不知道&am…

列表的可变性

列表的可变性 Python里的内置数据类型, 大致上可分为可变与不可变两种。 可变(mutable):列表、字典、集合不可变(immutable):整数、浮点数、字符串、字节串、元组 列表是可变的,当…

无法拒绝!GPT-4o 完美适配安卓手机,畅享丝滑体验

无法拒绝!GPT-4o 完美适配安卓手机,畅享丝滑体验 前言 人工智能的飞速发展,给我们的生活带来了前所未有的便利。作为AI技术的代表之一,GPT凭借其强大的自然语言处理能力,已经成为许多用户日常生活和工作中的得力助手…

超大功率光伏并网逆变器学习(三相) 一

1.超大功率用的IGBT开关频率通常很低,比如6KHz 2.线电压和相电压的关系 相电压 A AB线电压-CA线电压 相电压 B BC线电压-AB线电压 相电压 C CA线电压-BC线电压 3.坐标变换 ABC三相信号通过Clark坐标变换得到αβ两相静止信号,其中α与A相重合,β与α…

基于数据驱动的自适应性小波构造(MATLAB)

以地震领域为例,时频变换能够刻画地震资料的时频特征,进而辅助地质构造解释。在各种时频分析工具中,连续小波变换CWT是描述地震资料时频特征的常用工具。选择合适的基小波是CWT的关键问题。对于不同类型的信号前人有针对性的设计了许多基小波…

TCP/IP(网络编程)

一、网络每一层的作用 *网络接口层和物理层的作用:屏蔽硬件的差异,通过底层的驱动,会提供统一的接口,供网络层使用 *网络层的作用:实现端到端的传输 *传输层:数据应该交给哪一个任…

ajax框架在Web前端的应用与挑战

ajax框架在Web前端的应用与挑战 在Web开发的广阔领域中,ajax框架以其独特的魅力,吸引了众多前端开发者的目光。然而,它并非完美无缺,也存在一些应用上的挑战。本文将深入探讨ajax框架在Web前端的应用及其所面临的挑战&#xff0c…

排序算法教程(个人总结版)

1. 引言 1.1 什么是排序算法 排序算法是一类算法,用于将一组数据按特定顺序排列。常见的排序顺序有升序和降序。 1.2 排序算法的应用领域 排序算法在许多领域有广泛应用,如数据分析、数据库管理、信息检索、计算机图形学等。排序操作是计算机科学中基…

移植2D物理引擎到LVGL

背景 在LVGL交流群,有网友提出想要移植物理引擎到LVGL,遂有了本文。阅读本文需要对IDF和LVGL有所了解 过程 2D物理引擎有很多,经过一番调研选择了Chipmunk2D 下载源码 此处省略一万字,Github访问可能会有些慢 添加文件 将…