在安装apache之前需要准备一些必要的依赖包

gcc安装:

#yum install -y gcc

gcc-c++安装:

#yum install gcc-c++ 

apr安装:

下载包:apr-1.5.2.tar.gz,然后tar解压缩到任意目录下.然后进入解压缩后的目录下进行如下编译:

# ./configure --prefix=/usr/local/apr
# make
# make install 

apr-util安装: 

下载包:apr-util-1.5.4,同样tar解压缩到任意目录下,然后进入解压缩后的目录下进行编译:

#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
#make
#make install
pcre安装:

下载包: pcre-8.38.zip ,进行编译安装:

#./configure --prefix=/usr/local/pcre
#make
#make install

注意:喜欢追新的朋友要注意,如果你下载pcre2的话,apache2.4会出现编译不通过.至于如何解决这个问题.还没有来得及研究.建议不要使用pcre2.

以上内容是对于apache2.4安装时所需要的必要依赖包,接下来便是apache2.4的正式编译安装过程。

首先去官网下载一个 httpd-2.4.12.tar.gz 源码包;

然后将它解压缩到你指定的目录下,进行解压缩,代码如下:

#tar -zxvf httpd-2.4.12.tar.gz 

解压缩后会在这个源码包的同级目录下生成一个同名的文件夹,然后进入这个文件夹进行编译:

#./configure --prefix=/data/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
#make
#make install

上面的代码中需要注意以下的配置项:

--with-apr=

--with-apr-util=

--with-pcre=

这三个分别是apache安装时所需要的依赖包的路径,所以这三个配置后面跟的就是之前我们所下载的依赖包的位置;

到此我们的 apache2.4 便全部安装完毕了.  如图:

配置过程:

如上图,先进入 conf 目录下,修改 httpd.conf 文件,先来确定你要使用的端口,如下图:

再来修改你的服务名称,如下图:

最后进入bin目录启动apache,启动命令如下:

#./apachectl start
#./apachectl stop
#./apachectl restart

上面这种启动方式仅限于你当前正处于这个bin目录下,假如你没有在bin目录下的话,你可以这样启动:

# /data/apache24/bin/apachectl stop
# /data/apache24/bin/apachectl start
# /data/apache24/bin/apachectl restart 

而实际上最好的启动方式就是让它开机启动,那要怎么配置?

步骤如下:

先将你安装的apache启动服务复制到系统启动目录中,如下:

#cp /data/apache24/bin/apachectl /etc/rc.d/init.d/httpd 

然后用 vi 操作它,增加一些信息,如下:

#vi httpd

接下来将这个httpd新启动脚本配置到启动服务中,如下:

#chkconfig --add httpd 

这样就配置好了,我们来查看一下是否多了一个httpd服务,如图:

以后,我们每次启动服务器时,这个apache就会自动启动了;

如果我们需要停掉的话,也不再需要像上两个例子那么麻烦了,我们可以处在任何位置时都能够进行apache的启动停止操作了,代码如下:

# service httpd restart
# service httpd start
# service httpd stop

总结:再有经验的人也避免不了在安装的过程中遇到麻烦,下面就把遇到的一些典型问题公布一下:

错误1:checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.

解决方案:

这是在安装apache过程中遇到的问题,从错误信息中明确的可以知道,你在安装apache之前缺少了apr包,而apache在编译时是需要你指定这个apr包所在的目录才行的.

所以下载个apr包就ok了。安装方法看最前面;

错误2:configure: error: no acceptable C compiler found in $PATH

解决方案:

这个不用说就是缺少能够执行C语言编译的组件,所以你需要下载 gcc 和 gcc-c++。

Linux 编译安装 apache 2.4的更多相关文章

  1. Linux编译安装Apache+PHP

    Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境   为了省事把所需要的库文件全都安 ...

  2. linux编译安装Apache

    1 前言 编译安装Apache HTTP Server,目前最新的版本为2.4.41,做好apr,apr-util,pcre的安装后编译安装即可. 2 准备工作 三个:apr,apr-util,pcr ...

  3. suse linux 编译安装Apache时报“APR NOT FOUND”的解决方法

    今日编译apache时出错: #./configure --prefix……检查编辑环境时出现: checking for APR... noconfigure: error: APR not fou ...

  4. linux 编译安装apache

    1.下载apache.安装apache #wget http://apache.etoak.com//httpd/httpd-2.4.4.tar.gz #tar zxvf httpd-2.4..4.t ...

  5. Linux 通过编译安装apache服务以及配置

    Linux 编译安装apache服务 一.安装 1.通过编译安装,首先需要下载源代码安装包 apache下载链接:http://httpd.apache.org/download.cgi 2.解开源代 ...

  6. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  7. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  8. linux编译安装php apache mysql (已试过)

    阅读目录 (全部使用源码安装方式,先安装mysql,然后是apache,再是php,这样好像能防止挺多问题的,期间出现问题基本是依赖没有或者版本不对) 1.简介 2.安装apache 2.1.yum方 ...

  9. Linux学习之编译安装apache

    疯狂吐槽腾某云..编译安装apache折腾了一下午..还是我不太熟练. 首先要先准备好安装apache的三个依赖包以及apache包.(一定要准备好!!折腾了一下午的小白握拳!!) -rw-r--r- ...

随机推荐

  1. Oracle11g环境设置-windows环境

    新建环境变量(系统变量),变量名:ORACLE_HOME 变量值:E:\app\Administrator\product\11.2.0\dbhome_1 新建环境变量(系统变量),变量名:ORACL ...

  2. python-socket 粘包问题

    解决粘包的问题: 1.服务端在发送数据之前,先把发送数据的长度告诉客户端,要发送多少数据,然后客户端根据这个数据的长度循环接收就OK 传输过程: 服务端:     1.send  #数据长度     ...

  3. python - 类的字段

    一.静态字段:保存在类里面 1.创建静态字段: class Foo: CC = 123 # 字段(静态字段),保存在类里 def __init__(self): self.name = 'alex' ...

  4. windows服务器性能监控工具、方法及关键指标

    原文:http://www.cnblogs.com/liulun/p/3543777.html 监控方法 推荐使用windows自带的“性能监视器”(老版本的windows叫性能计数器)来监控服务器的 ...

  5. C# 将窗口移动到指定位置

    private void button1_Click(object sender, EventArgs e) { Frm f = new Frm(); f.StartPosition = FormSt ...

  6. JavaScript split()

    http://www.w3school.com.cn/jsref/jsref_split.asp

  7. LinkedList : 双向链表与实现

    所谓双向链表: (由此图可见老夫深厚的画功) 链表,就是由一个一个的节点连接组成. 在这里,每一个节点都是由三部分组成:上一个节点.当前节点的元素.下一个节点 当链表中只有一个节点的时候,这个节点指向 ...

  8. SQL 增加或删除一列

    SQL 增加或删除一列 alter table tablename drop column columnname;alter table tabelname add columnname varcha ...

  9. 在App中混合HTML5开发App如何实现的。在App中使用HTML5的优缺点是什么?

    参考答案: 在iOS中,通常是通常UIWebView来实现,当然在iOS8以后可以使用WKWebView来实现.有以下几种实现方法: 通过实现UIWebView的代理方法来拦截,判断scheme是否是 ...

  10. Hadoop基本原理之一:MapReduce

    1.为什么需要Hadoop 目前,一块硬盘容量约为1TB,读取速度约为100M/S,因此完成一块硬盘的读取需时约2.5小时(写入时间更长).若把数据放在同一硬盘上,且全部数据均需要同一个程序进行处理, ...