马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10

目的:通过编译安装httpd, 掌握基于Linux环境下源代码编译安装程序的一般方法和步骤。

环境:

操作系统:CentOS 6.5

内核版本:2.6.32-431.el6.i686

软件版本:Apache HTTP Server 2.4.10

软件下载:

1、Apache HTTP Server 2.4.10 (httpd): http://apache.dataguru.cn//httpd/httpd-2.4.10.tar.bz2

2、Apache Portable Runtime 1.5.1: http://apache.dataguru.cn//apr/apr-1.5.1.tar.bz2

3、APR-util 1.5.3: http://apache.dataguru.cn//apr/apr-util-1.5.3.tar.bz2

安装步骤:

1、将下载好的httpd/apr/apr-util 的源代码上传到CentOS 6.5系统内

2、解压 httpd-2.4.10.tar.bz2

# tar -xvf httpd-2.4.10.tar.bz2

3、检查编译环境是否满足编译需求,指定安装路径: --prefix=/usr/local/apache-2.4.10  配置文件的路径:--sysconfdir=/etc/apache-2.4.10

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache-2.4.10 --sysconfdir=/etc/apache-2.4.10
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... configure: WARNING: APR version 1.4.0 or later is required, found 1.3.9
configure: WARNING: skipped APR at apr-1-config, version not
acceptable
no
configure: error: APR not found.  Please read the documentation.

检查编译环境遇到错误,不符合httpd-2.4.10 编译需求。这里我还记得刚工作的时候一个老师说过,遇到错误是上帝给你解决问题和成长的机会。感谢上帝,接下来解决错误来满足编译的需求。当前系统提供的apr的版本是1.3.9,而编译时需要1.4.0或更新的版本。

4、编译安装apr-1.5.1,指定安装路径: --prefix=/usr/local/apr1.5

# tar -xvf apr-1.5.1.tar.gz
# cd apr-1.5.1
# ./configure --prefix=/usr/local/apr1.5
# make
# make install

5、编译安装apr-util-1.5.3,指定安装路径:--prefix=/usr/local/apr-util-1.5,指定所依赖的apr:--with-apr=/usr/local/apr1.5

# tar -xvf apr-util-1.5.3.tar.gz
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util-1.5 --with-apr=/usr/local/apr1.5
# make
# make install

6、再次检查编译httpd-2.4.10时所需要的环境,指定编译时所需要的apr及apr-util

# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache-2.4.10 --sysconfdir=/etc/apache-2.4.10 --with-apr=/usr/local/apr1.5 --with-apr-util=/usr/local/apr-util-1.5

7、编译安装

# make
# make install

8、配置httpd二进制程序的PATH环境变量

# vi /etc/profile.d/apache-2.4.10.sh
PATH=/usr/local/apache-2.4.10/bin:$PATH
export PATH
 
# source /etc/profile.d/apache-2.4.10.sh

9、将httpd的头文件输出给系统

# ln -sv /usr/local/apache-2.4.10/include /usr/include/httpd

10、库文件输出给系统

# vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apr1.5/lib
/usr/local/apr-util-1.5/lib
 
让系统重新生成库文件路径缓存
# ldconfig

11、导出man 文件

# vim /etc/man.config
MANPATH /usr/local/apache-2.4.10/man

12、启动Http Server

# apachectl start
# netstat -tnl | grep 80

13、验证

http://Centos 6.5的IP地址/  会在网页里显示 It works!

总结:源代码编译安装的方法

一、准备好开发环境,针对Centos 6.5,安装Development tools 和 Server Platform Development 两个包组。

二、下载源代码,并解压

# tar -xvf package-version.tar.{gz|bz2|xz}

三、切换至源代码目录中

# cd package-version

四、执行configure 脚本

# ./configure

五、编译

# make

六、安装

# make install

七、输出二进制程序、头文件、库文件和man文档给系统

1)二级制程序输出

在/etc/profile.d/目录下,创建一个以.sh结尾的脚本,内容如下:

PATH=二进制程序所在的目录路径:$PATH

export PATH

2)头文件输出

在/usr/include 目录下新建一个软链接文件,将链接文件指向头文件所在的目录。

ln -s 头文件所在的目录 /usr/include/链接文件

3)库文件输出

在/etc/ld.so.conf.d目录下,创建一个以.conf结尾的文件,内容为库文件所在的目录。

使用ldconfig命令让系统重新生成库文件路径缓存。

4)man文档输出

编辑/etc/man.config文件,新增一行,内容如下:

MANPATH    man文档的目录

马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10

时间: 2024-12-25 16:32:24

马哥Linux培训学习——编译安装Apache HTTP Server 2.4.10的相关文章

用Linux虚拟机手工编译安装Apache

用Linux虚拟机手工编译安装ApacheApache网站服务器:作为LAMP架构的前端,是一款功能强大.稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页.图片等文件内容.实验步骤:1.下载 Apache的RPM包(官网:httpd.apache.org/),把下载所需的包放在一个文件夹内,把文件夹共享.打开虚拟机终端进行登录,输入smbclient -L 命令扫描共享的文件 2.创建新的夹把所需的Apache文件夹挂载到新的文件夹/www 中,输入ls /www命令查看文

编译安装Apache HTTP Server 2.4.23 以及配置HTTP/HTTPS反向代理

编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理一,依赖软件: 1.1 GCC和C++编译器 GCC C++ Compiler 1.1.1 如果没有安装以上依赖包请执行以下命令安装: [[email protected] ~]# yum install -y gcc gcc-c++ 1.1.2 如果已经安装其中一个,可以单独执行以下命令安装其中一个: [[email protected] ~]# yum install -y gcc[[email p

【马哥linux学员学习笔记】MySQL多实例详解

本文作者系马哥linux学员云中鹤. 目录 一.基本概念 1.MySQL多实例 就是在一台机器上面开启多个不同的端口,运行多个MySQL服务进程.这些MySQL多实例公用一套安装程序,使用不同的(也可以是相同的)配置文件,启动程序,数据文件.在提供服务时候,多实例MySQL在逻辑上看来是各自独立的,多个实例的自身是根据配置文件对应的设定值,来取得相关硬件资源的多少. 2.应用场景 1).采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例

【马哥linux学员学习笔记】zabbix实现微信报警

本文作者系马哥linux学员典韦. 一.注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的 申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号. 就可以看到用户数了,接下来的就要使用的用户的微信ID号了.点击用户查看用户的微信ID号.在浏览器查看用户的微信ID号.就是那个红色的ID了. https://mp.weixin.qq.com/cgi-bin/singlesendpage?t=mes

马哥Linux培训马哥教育到底怎么样?马哥教育好不好?我来讲讲我的曲折经历!

2016年是我很迷茫的一年,不知道该学什么,不知道该去哪里,当时也有去培训的打算,也不确定培训什么,php?前端?or运维,同学有做PHP的,也有Java的也有前端的,也有做运维的,他们的建议我也听了不少,但是自己还是犹豫不决,怕花了钱到时找不到工作,后来感觉运维相对开发要容易一些,听同学说PHP今年也降温不少,学的人太多,没前两年好找了,当然,学得特好再另说.后来就去马哥考察了,当时去的时候是早上8点左右,看到有马哥的学员在校门口买早餐,包子,茶叶蛋什么的,我也没听课进去看看教室和学员聊了几句

在Linux上自行编译安装apache

1.获取软件: http://httpd.apache.org/  tar xf httpd-2.2.9.tar.gz 2.安装步骤: 解压源文件: tar xf httpd-2.2.9.tar.gz  cd httpd-2.2.9 ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite   make  make install,到此安装完成, 然后进入/usr/local/apache/bin执行 ./apache

linux 基础学习编译安装php+mysql+python3+memcached+radis+rabbitmq+libevent+tcl+gcc+erlang

CentOS 6.9 编译安装 Nginx+PHP+MYSQL 0x01 环境约束 源码位置 /home/[用户文件夹] 源码编译安装位置  /usr/local/[软件名] CentOS6.9 x86 - 64 最小化安装 配置好网络 用户 使用Xshell登录 0x02 软件下载 内网地址: http://192.168.20.252/src/php.tar.gz http://192.168.20.252/src/cmake.tar.gz http://192.168.20.252/src

一篇文章带你入门Linux——马哥Linux基础学习笔记

1.课程体系: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.Shell脚本: 高级: MySQL数据库: cache & storage 集群: Cluster lb: 4layer 7layer ha: 分布式: zookeeper 分布式文件系统 虚拟化技术: xen kvm Openstack:IAAS云: 运维工具: ansible puppet(ruby), saltstack(python) 监控工具: zabbix 大数据处理: hadoop spark, stor

马哥linux培训2个月后反思与心得

培训前,已经玩了好几年的电脑,        培训后,以前都是被电脑玩了.. 培训前,感觉自己对电脑非常的熟悉...培训后,,我根本不认识什么是电脑... 培训前,我感觉大学学的东西很多,   培训后,发现大学真是白学了... 每每听到之前的学长月薪过万的捷报...总是感觉像一碗鸡汤,喝了,然后就没了... 每每发现同样的一个教室,差距那么大的时候,发现自己原来是来体验生活的了... 每每学习到新鲜的知识时,一时之间听会了,然后就没放在心里去总结,联系,后来不知道到底有没有讲过... 每每上课的