源码编译安装Apache

编译安装Apache

系统环境:centos 7.2

前提:

提供开发工具及开发环境

  • 开发工具:make, gcc等
  • 开发环境:开发库,头文件
  • glibc:标准库

方式:

通过“包组”提供开发组件

centos 6
[[email protected] ~]# yum groupinstall "Development Tools"
[[email protected] ~]# yum groupinstall "Development tools"

centos 7 
[[email protected] ~]# yum groupinstall "Development Tools"




1、首先在方法网站http://www.apache.org/下载源码包

下载路径:http://apache.fayea.com/httpd/httpd-2.2.31.tar.gz

2、我们将下载好的文件放置在/root目录下

3、我们可以看到源码包的格式为.tar.gz 所有这里我们要将源码包进行解压缩和拆包

[[email protected] ~]# tar xvzf httpd-2.2.31.tar.gz

4、执行完上述操作后,在当前目录即(/root)目录下,我们可以看到httpd-2.2.31目录,进入该目录

[[email protected] ~]# cd httpd-2.2.31/

5、在该目录下,有众多的文件,我们首先关注的是 README 文件和 INSTALL 文件

README 文件主要简单的介绍了

[[email protected] httpd-2.2.31]# less README

what is it? 
The latest version  
documentation   
installation    
licensing
Cryptographic Software Notice
Contacts
Acknowledgments

通过以上的说明可以使我们对Apache有一个简单的了解

INSTALL 文件主要说明了安装的方法

[[email protected] httpd-2.2.31]# less INSTALL

$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start

6、通过查看以上文件,下面我们可以进行Apache的编译安装

首先我们来介绍下configure脚本的参数说明

[[email protected] httpd-2.2.31]# ./configure --help

Installation directories:指定默认的安装位置
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/apache2]

Fine tuning of the installation directories:默认文件安装位置
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  ......
  ......

System types:交叉编译选项
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

Optional Features:可选特性
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-v4-mapped      Allow IPv6 sockets to handle IPv4 connections
  ......
  ......

Optional Packages:可选包
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-included-apr     Use bundled copies of APR/APR-Util

6(1)这里我们指定几个简单的选项即可:

[[email protected] httpd-2.2.31]# ./configure --prefix=/usr/local/http2 --sysconfdir=/etc/http2

//该步骤执行完毕后,会结合 Makefile.in 文件,在当前目录下生成 Makefile 文件
//出现error等信息,说明配置失败

6(2)执行make和make install命令(上一步执行成功后) 注意:要始终处于当前目录下,不要离开该目录

[[email protected] httpd-2.2.31]# make
[[email protected] httpd-2.2.31]# make install

7、启动

[[email protected] httpd-2.2.31]# cd /usr/local/http2/bin
[[email protected] bin]# ./apachectl start
[[email protected] bin]# netstat -tapn | grep "80"
tcp6       0      0 :::80                   :::*                    LISTEN      14611/http

8、测试

centos 6.8系统下测试

[[email protected] ~]# links 10.1.249.146
//10.1.249.146 为以上编译安装Apache软件的centos 7系统 的IP

在Windows系统下测试

任意一款浏览器下输入:http://10.1.249.146/

注意:如果启动成功但是却始终访问不了,则可能的原因是centos 7 的防火墙没有关闭,所以建议关闭防火墙后在做测试

[[email protected] ~]# iptables -F




9、最后的配置

我们知道一个程序主要由4类文件组成

  • 二进制文件
  • 配置文件
  • 库文件
  • 帮助文档
    [[email protected] ~]# cd /usr/local/http2/
    [[email protected] http2]# ls
    bin  build  cgi-bin  error  htdocs  icons  include  lib  logs  man  manual  modules

以上4类文件应该放置在系统特定的目录下 或者通过修改系统相关的配置文件

(1)二进制文件 bin目录 添加其路径到PATH环境变量即可

 [[email protected] http2]# vim /etc/profile.d/http.sh
 export PATH=/usr/local/http2/bin:$PATH

[[email protected] http2]# echo $PATH
/usr/local/http2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

(2)配置文件我们在编译安装时已经通过 --sysconfdir=/etc/http2 选项指定了

(3)库文件 lib目录

[[email protected] http2]# vim /etc/ld.so.conf.d/http2.conf
/usr/local/http2/lib

让系统重新生成库文件路径缓存

[[email protected] apache2]# ldconfig -v

缓存文件:/etc/ld.so.cache

(4)帮助文档 man

[[email protected] lib]# vim /etc/man_db.conf (centos 7)
添加一行内容:MANDATORY_MANPATH           /usr/local/http2/man

(5)对于 include 头文件 采用软链接的方式(/usr/include为系统头文件位置)

[[email protected] include]# ln -s /usr/local/http2/include/ /usr/include/http
[[email protected] include]# ll -d /usr/include/http
lrwxrwxrwx. 1 root root 25 Aug 23 20:46 /usr/include/http -> /usr/local/http2/include/
[[email protected] include]# ll /usr/include/http/

至此安装配置完成

时间: 2024-08-07 00:18:34

源码编译安装Apache的相关文章

源码编译安装apache httpd-2.2.29

1.程序包编译 程序包编译安装:   (需要gcc.make工具) 建议安装  包组: development tools Application-VERSION-release.src.rpm –> 安装后,使 用rpmbuild命令制作成二进制格式的rpm包,而后再安装 源代码–>预处理–>编译(gcc)–>汇编–>链接–>执行 源代码组织格式: 多文件:文件中的代码之间,很可能存在跨文件依赖关系 C. C++: make (项目管理器, configure –&g

centos 学习笔记——源码编译安装apache

每一次遇到错误解决错误的过程,都是知识积累的最好时光,他会让你对这个知识点记忆更深刻!好吧原谅我这么无耻的给自己知识储备不足来开脱,话不多说把这次历程记录下来吧. 系统还是老样子: #cat /etc/redhat-release ;uname -r CentOS release 6.7 (Final) 2.6.32-573.el6.x86_64 学习安装的过程中遇到很多前辈们走过的弯路,估计我是都已经走过一遍了,先把需要准备的都提前备好: apache 版本2.4.20 (apache 官网地

CentOS 6.3 源码编译安装Apache

一:Apache的简介 Apache HTTP Server(简称Apache)它是世界上使用排名第一的Web服务器开源软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用. 二:ApacheWeb服务器的特性 1.支持最新的HTTP/1.1通信协议 2.拥有简单而强有力的基于文件的配置过程 3.支持通用网关接口 4.支持基于IP和基于域名的虚拟主机 5.支持多种方式的HTTP认证 6.集成Perl处理模块 7.集成代理服务器模块 8.支持实时监视服务器状态和定制服务

源码编译安装apache详解(2014-11-13)

一.下载Apache 2.4及依赖包 Apache官网下载:http://apache.fayea.com/apache-mirror/httpd/ 由于Apache依赖于APR.APR-Util和PCRE,所以需要下载: APR + APR-Util:http://mirror.bjtu.edu.cn/apache//apr/ PCRE:http://sourceforge.net/projects/pcre/files/pcre/ 在此,笔者使用均为目前最新版本,Apache 2.4.10,

配置网络YUM源和第三方YUM源及编译安装Apache

配置网络YUM源和第三方YUM源及编译安装Apache 系统软硬件环境平台: VMware Workstation Pro 12.5.5 build-5234757 CentOS Linux release 7.3.1611 内核版本:3.10.0-514.el7.x86_64 测试时间:2017年6月13日 实验1:实现网络YUM源 1.准备相关系统光盘,搭建网络服务ftp或http [执行命令]#ls /mnt [执行命令]#mount | grep "/dev/sr0" [执行命

yum的更多用法和源码编译安装apache

一.yum的更多用法 上篇文章介绍了yum的基础用法及yum源的基本配置,除此之外yum还有更多的用法,以下将继续介绍yum的使用方法. 1.yum-config-manager工具,该工具可以自动生成yum的repo文件,而不需要手动创建编写,使用方法如下: 用法:yum-config-manager [options] [section] -add-repo:添加仓库 # 添加一个阿里云的yum仓库 yum-config-manager -add-repo=http://mirrors.al

详解LAMP源码编译安装

实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MySQL 四.编译安装 PHP 测试LAMP搭建开源数据web管理程序phpMyadmin 详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装L

centos 6.5源码编译安装subversion 1.8.10

一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网:http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 源码下载:http://archive.apache.org/dist/subversion/ 源码编译subversion依赖许多别的工具,比如:apr.apr-util.libto

软件包管理之源码编译安装

编译步骤: 1.#cd SOURCE_CODE 2../configure 作用: 检测编译环境 提供给用户编译配置(通过脚本选项) --help 帮助信息 --prefix=/usr/local/name 安装路径 二进制 /usr/local/name/bin /usr/local/name/libexec不允许自动执行,只能被其他程序调用执行 配置文件 /usr/local/name/conf 库文件 /usr/local/name/lib 帮助文档 /usr/local/name/sha