前言

Apache至少需要apr、apr-util、pcre组件的支持。

APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开 发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,不过由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR。

APR-util是在APR的基础上提供了更多的数据结构和操作系统封装接口。APR-util依赖于APR,必须先安装APR再安装APR-util。

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)

1.查询是否安装了apache服务器httpd

[root@localhost src]# rpm -qa|grep httpd

httpd-2.4.6-45.el7.centos.x86_64

httpd-tools-2.4.6-45.el7.centos.x86_64
2.卸载系统自动装的apache服务器httpd

[root@localhost src]# httpd -k stop     #停止httpd服务器

[root@localhost src]# yum remove httpd    #卸载httpd服务器

4 下载httpd-2.4.25   apr-1.5.2  apr-util-1.5.4  pcre-8.40

[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.25.tar.gz

[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.5.2.tar.gz

[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.5.4.tar.gz

[root@localhost src]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
5 检查系统是否安装了GCC

[root@localhost src]# gcc

bash: gcc: 未找到命令...      #出现未找到命令提示,说明没有安装GCC
6 安装GCC和gcc-c++

[root@localhost src]# yum -y install gcc

[root@localhost pcre-8.40]# yum -y install gcc-c++

注意:如果没有安装gcc-c++,那么在 执行./configure  -prefix=/usr/local/pcre 时会报 configure: error: You need a C++ compiler for C++ support. 错误

7 将下载的压缩文件拷贝到/usr/local目录下

[root@localhost src]# cp apr-1.5.2.tar.gz /usr/local

[root@localhost src]# cp apr-uril-1.5.4.tar.gz /usr/local

[root@localhost src]# cp httpd-2.4.25.tar.gz  /usr/local

8 编译安装apr-1.5.2

#解压缩apr文件

[root@localhost local]# tar -zxvf apr-1.5.2.tar.gz

#改变目录到apr-1.5.2

[root@localhost local]# cd apr-1.5.2

#指定apr的安装目录为/usr/local/apr 配置

[root@localhost apr-1.5.2]# ./configure -prefix=/usr/local/apr

#编译安装

[root@localhost apr-1.5.2]# make && make install

9 编译安装 apr-uril-1.5.4

#解压缩apr-util文件

[root@localhost local]# tar -zxvf apr-util-1.5.4.tar.gz

#改变目录到apr-util-1.5.4/

[root@localhost local]# cd apr-util-1.5.4/

#指定apr-util的安装路径,指定apr-util所对应的apr

[root@localhost apr-util-1.5.4]# ./configure  -prefix=/usr/local/apr-util  -with-apr=/usr/local/apr

#编译安装

[root@localhost apr-util-1.5.4]# make && make install
10 编译安装pcre

#卸载系统自带的pcre

[root@localhost apr-util-1.5.4]# rpm -qa pcre

pcre-8.32-15.el7_2.1.x86_64

#解压缩apr-util文件

[root@localhost local]# tar -zxvf pcre-8.40.tar.gz 

#改变目录到pcre-8.40/

[root@localhost local]# cd pcre-8.40/

#指定prce的安装路径,指定apr-util所对应的apr

[root@localhost pcre-8.40]# ./configure  -prefix=/usr/local/pcre

#编译安装(make是编译 make install是安装)

[root@localhost pcre-8.40]# make && make install

11 编译安装apache

编译和安装apache分为动态、静态两种方式。动态编译是指在以后的使用中随时调整配置文件就可以加载模块;静态则相反,在编译时就决定了相应的模块。

#解压缩httpd-2.4.25文件

[root@localhost local]# tar -zxvf httpd-2.4.25.tar.gz

#改变目录到httpd-2.4.25/ 

[root@localhost local]# cd httpd-2.4.25/

#配置

[root@localhost httpd-2.4.25]# ./configure -prefix=/usr/local/apache2 -sysconfdir=/etc/httpd -enable-so -enable-rewrite -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre

#编译安装

[root@localhost httpd-2.4.25]#make && make install

12配置apache防火墙

#永久开放http服务

[root@localhost httpd-2.4.25]# firewall-cmd --permanent --add-service=http

success

#重新加载防火墙

[root@localhost httpd-2.4.25]# firewall-cmd --reload

success

12 启动,停止apache服务

#编辑httpd.conf文件

[root@localhost httpd-2.4.25]#vi /etc/httpd/httpd.conf

在#ServerName www.example.com:80 下增加下面的语句

 ServerName localhost:80

#使用脚本控制Apache,启动服务

[root@localhost ~]#  /usr/local/apache2/bin/apachectl start

#使用脚本控制Apache,停止服务

[root@localhost ~]#  /usr/local/apache2/bin/apachectl stop

#服务启动后,在浏览器输入http://localhost浏览器内容显示出it works,该内容存在于/usr/local/apache2/htdocs/index.html文件中

13 设置apache开机启动

方法一

1、将apachectl命令拷贝到/etc/init.d目录下,改名为httpd

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

2、编辑/etc/init.d/httpd文件,在第1行#!/bin/sh的后面添加如下两行

# vi /etc/init.d/httpd

# chkconfig: 2345 70 30   //注意:前面的#号是要保留的

# description: Apache //注意:前面的#号是要保留的

其中,所增加的第二行中三个数字,第一个表示在运行级别2345下启动Apache,第二、三是关于启动和停止的优先级配置。

3、Apache服务尚未被添加到chkconfig列表中,需要使用–add参数将其添加进去

[root@localhost init.d]# chkconfig --add httpd

[root@localhost init.d]# chkconfig --list httpd

通过上面的设置,每次开机时apache服务都是自动启动的

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 

      如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。

      欲查看对特定 target 启用的服务请执行

      'systemctl list-dependencies [target]'。

httpd              0:关    1:关    2:开    3:开    4:开    5:开    6:关

注:chkconfg是检查,设置系统的各种服务。

chkconfg语法如下:

chkconfig --list [name]

chkconfig --add name

chkconfig --del name

chkconfig [--level levels] name <on|off|reset>

chkconfig [--level levels] name

方法二: 将服务加到/etc/rc.d/rc.local中 vi /etc/rc.d/rc.local 添加以下内容

/usr/local/apache/bin/apachectl start

14 去除开机启动

[root@localhost ~]# chkconfig --del httpd

[root@localhost init.d]# rm -f httpd

vi /etc/rc.d/rc.local 删除以下内容

/usr/local/apache/bin/apachectl start

重起计算机

centos7下源码编译方式安装httpd的更多相关文章

  1. redhat6.3下源码编译方式安装最新版git

    在linux下安装git,通过yum方式安装的不是最新版本. 要替换最新版需要以下操作. 1.安装依赖包 # yum install curl-devel expat-devel gettext-de ...

  2. CentOS7下源码包方式安装Erlang

    1.官网上下载源码包:OTP 19.1 Source File 2.把源码放在source目录中 , 解压 :tar -zxvf otp_src_19.1.tar.gz [或者 直接下载 rpm包 e ...

  3. CentOS7下源码包方式安装rabbitmq

    1.先安装erlang http://www.cnblogs.com/justphp/p/6093880.html 2.下载rabbitmq rpm包: wget http://www.rabbitm ...

  4. Centos7下源码编译安装python3.6

    测试环境: 操作步骤: 1. 下载Python源码包(python3.6.0) 官网下载地址:https://www.python.org/downloads/ 搜狐下载地址:http://mirro ...

  5. Centos7下源码编译安装与配置redis5.0

    1.下载redis5.0源码包 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 2.检查是否安装过之前的历史版本 rpm -qa|g ...

  6. 64位CentOS源码编译方式安装wine

    说明:本文仅作本人笔记的之用,仅供参考.可能因不同环境而不同. 1. 从官网下载最新版的wine-1.6.2.tar.gz 2. 安装相关的包(这里是我安装的,可能由于不同系统已经安装的包不同而不一样 ...

  7. centos7下源码方式安装gitlab8.9+发送邮件+ldap

    CentOS7下源码方式安装gitlab 环境描述 操作系统: centos7 redis: >=2.8 mysql >=5.5.14 git >=2.7.4 架构设计 一台gitl ...

  8. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  9. inux centos7下源码 tar安装5.7.26详解

    inux centos7下源码 tar安装5.7.26图文详解 官网地址 https://dev.mysql.com/downloads/mysql/ 1.卸载Linux系统上自带的mysql插件(o ...

随机推荐

  1. 【zheng环境准备】安装activemq

    1.下载http://activemq.apache.org/activemq-5140-release.html 2.移动到linux机器上 3.解压 tar -zxvf apache-active ...

  2. python string.py 源码分析 一

    # Some strings for ctype-style character classification c风格字符串 whitespace = ' \t\n\r\v\f' #空白字符 \t 制 ...

  3. d3.js 根据需求定制pie图饼图

    参考网址: http://d3pie.org/#generator 用法: 1.在网址中,跟着步骤,设置样式和效果,最后获取pie的option格式 2.引入d3.min.js和d3pie.min.j ...

  4. J - Romantic

    The Sky is Sprite. The Birds is Fly in the Sky. The Wind is Wonderful. Blew Throw the Trees Trees ar ...

  5. Windows Server 2008 R2远程协助选项 灰色

    管理工具——〉服务器管理器——〉功能——〉添加功能   窗口中"远程服务器管理工具"下边的"远程协助"打上对钩"再点击"下一步"再 ...

  6. 通过Rabbitmq从ipone手机传输imu和相机数据到电脑端

    https://github.com/tomas789/iOSmsg_client https://github.com/tomas789/iOSmsg 通过xcode工具把iosmsg打包发布到ip ...

  7. Bootstrap框架 inconfont font-awesome

    Bootstrap框架和inconfont.font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.h ...

  8. [No0000114]远程桌面剪贴板无法同步本机,无法复制粘贴问题解决

    远程桌面无法与桌面共享复制内容(远程桌面复制之后,无法在本地桌面粘贴.反之亦然.),这时候需要杀掉一个进程并重新启动.[重启 rdpclip.exe] 1.在远程桌面中右键点击,选择启动任务管理器: ...

  9. 给AFNetworking添加请求缓存功能实现在没有网络的情况下返回缓存数据

    原理:先给NSURLSession地Configuration设置一个内存和本地代理,原来的网络请求结束后会查找缓存的代理字典,并执行代理对象对应的操作方法,需要做的就是拦截错误的方法,返回缓存的数据 ...

  10. PCI 设备调试手段

    Author: Younix Platform: RK3399 OS: Android 6.0 Kernel: 4.4 Version: v2017.04 一PCI 设备调试手段 busybox ls ...