阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS中httpd源代码安装与测试

146次阅读
没有评论

共计 6410 个字符,预计需要花费 17 分钟才能阅读完成。

环境:CentOS 6.4 x86_64

所需应用程序:APR(http://apr.apache.org/)、APR-UTIL(http://apr.apache.org/)、httpd(http://httpd.apache.org/)

在 linux 中软件安装有两大类,一类是软件包安装,一类是源代码安装。软件包安装就是指将编译好的二进制封装成 rpm 包,可以直接使用 rpm 工具和 yum 工具安装。源代码安装是指没有编译成二进制,需要通过手动编译的。使用源代码安装的原因有两个,一个就是想使用最新版的软件,另一类就是想自定义其功能的。

CentOS 6.2 安装源码 httpd-2.4.1 错误解决办法  http://www.linuxidc.com/Linux/2012-03/57384.htm

源代码安装的步骤:

1、展开压缩文件一般把文件都解压缩到 /uer/local/src 中

2、在解压缩文件目录中使用 ./configure 选项来检测编译环境,产生 makefiel 文件

3、使用 make 进行编译

4、make install 安装

下面就介绍如何在 centos 中通过源代码安装 httpd 以及测试。

用源代码安装软件首先要在系统中安装相应的编译环境;在 RedHat 中搭建编译环境需要的工具有 DevelopmentLibraries、Development Tools、Legacy Software Development、X Software Development,这些开发环境在 RehdHat 是不可缺少的。在 centos 中需要的开发工具主要有两个,AdditionalDevelopment、Development tools。所以在进行源代码安装时需要搭建编译环境。

那么首先我们要挂载我们的光盘,通过光盘查找我们要安装的软件包组,挂载光盘的命令是:mount /dev/cdrom /media/cdrom 光盘挂载成功后我们可以通过 yum –disablerepo=\* –enablerepo=c6-media grouplist 查询我们所需要的软件包组。通过查询我们发现如图中圈出来的必须的两个开发软件包组。那么就来安装这两个软件包组吧,使用命令 yum –disablerepo=\* –enablerepo=c6-media groupinstall“AdditionalDevelopment”“Development tools”

CentOS 中 httpd 源代码安装与测试

安装完成后,接下来就进行 httpd 的安装,在安装 httpd 前需要先安装 apr 和 apr-util

在这里我们用 apr-1.4.6.tar.gz、apr-util-1.5.1.tar.gz 和 httpd-2.4.4.tar.bz2 为例;首先把这些压缩文件解压缩到 /usr/local/src 目录中,使用命令

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

对三个压缩文件解压缩

解压缩完成后进入 /usr/local/src 目录中就能发现我们刚刚解压缩的三个文件所形成的目录

CentOS 中 httpd 源代码安装与测试

先来安装 apr,那么要先进入 /usr/local/src/apr-1.4.6 目录中

CentOS 中 httpd 源代码安装与测试

可以看到一个 configure 文件这个文件就是我们用来配置选项,检测编译环境。还有一个 README 或者是 INSTALL 这个文件是告诉我们一些使用的方法。现在我们就来执行 configure,在执行时加入 –prefix 来指定安装目录,使用方法就是在该解压缩目录中输入./configure –prefix=/usr/local/apr(这个目录是自己指定的,如果以后想要卸载该软件可以直接删除该目录即可,默认是安装在 /desired/path/of/apr 中,如果使用默认的安装路径想要卸载那就比较麻烦了)在这个过程中如果没有提示错误那就说明可以进行下一步了。

然后就使用 make 来进行编译了

CentOS 中 httpd 源代码安装与测试

make 是一个比较漫长的过程,耐心等待就是

CentOS 中 httpd 源代码安装与测试

到了这里就说明编译完成,接下来就使用 make install 进行安装了

CentOS 中 httpd 源代码安装与测试

完成后我们到 /usr/local/ 目录中看看

CentOS 中 httpd 源代码安装与测试

我们已经看到我们刚刚安装的 apr 了,再进到 apr 目录中看看

CentOS 中 httpd 源代码安装与测试

我们可以看一些 bin 目录,include 目录还有 lib 目录

推荐阅读

DRBD+Heartbeat+httpd 实现 HA 群集 http://www.linuxidc.com/Linux/2013-10/92146.htm

Heartbeat+httpd+NFS 实现高可用的 Web 服务器 http://www.linuxidc.com/Linux/2013-08/88520.htm

Linux 下 httpd 服务阶段实验 http://www.linuxidc.com/Linux/2013-08/88426.htm

监视系统服务 mysqld、httpd 的运行状态 http://www.linuxidc.com/Linux/2013-06/86540.htm

在 CentOS 6 上使用 AWStats 分析 httpd 和 Tomcat 日志 http://www.linuxidc.com/Linux/2012-10/72943.htm

如果我们想让其他的软件使用 apr 的库,我们就需要在 /etc/ld.so.conf.d/ 目录中创建一个.conf 文件来指明它的库路径,那我们就来创建一个文件

CentOS 中 httpd 源代码安装与测试

创建完成后我们在该文件中写出路径

CentOS 中 httpd 源代码安装与测试

然后用 ldconfig 命令刷新缓存;

CentOS 中 httpd 源代码安装与测试

可以看到已经加载上了

如果想让程序调用 apr 的头文件,那我们就在 /usr/include 中创建一个链接指向 /usr/local/apr/include/apr-1

切换到 /usr/include 目录下

CentOS 中 httpd 源代码安装与测试

在该目录下可以看到很多头文件

然后创建链接

CentOS 中 httpd 源代码安装与测试

通过查询我们可以看到刚刚创建的链接

CentOS 中 httpd 源代码安装与测试

好了,到此 apr 就已经安装完成,接下来该安装 apr-util

首先切换到 /usr/local/src/apr-util-1.5.1 目录中

同样在该目录中也看到有 configure、README 文件

CentOS 中 httpd 源代码安装与测试

接下来就和前面 apr 的方法一样,执行 ./configure –prefix=/usr/local/apr-util 当然这样是不行的,这样是会提示错误的,我们需要指出 apr-config 的全路径,apr-config 的路径是在 /usr/local/apr/bin 目录下,所以应该写成./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/bin/apr-config

CentOS 中 httpd 源代码安装与测试

通过检测后,执行 make;

CentOS 中 httpd 源代码安装与测试

接下来进行安装

CentOS 中 httpd 源代码安装与测试

安装完成后,想前面的 apr 一样,指定库文件路径

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

同样刷新缓存

CentOS 中 httpd 源代码安装与测试

接下来指明头文件

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

创建成功,最后来安装 httpd

切换到 /usr/local/src/httpd-2.4.4

CentOS 中 httpd 源代码安装与测试

通过查看可以看到有 configure INSTALL README,接下来就来执行./configure–prefix=/usr/local/httpd 当然这样肯定还是不行,这里需要指出 apr-config 的全路径和 apu-config 的全路径,那就应该写成./configure–prefix=/usr/local/apache –with-apr=/usr/local/apr/bin/apr-config –with-apr-util=/usr/local/apr-util/bin/apu-config

CentOS 中 httpd 源代码安装与测试

执行后如果我们看到这个错误

CentOS 中 httpd 源代码安装与测试

这是一个关于 prce-config 的错误;那就要排除错误,首先看看系统中有没有安装和 prce 相关的软件

CentOS 中 httpd 源代码安装与测试

这里安装了 pcre-7.8-6.el6.x86_64,那就要看看这个软件里有没有关于 pcre-config 相关的文件

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

发现这里面没有关于 pcre-config 的文件,那就要安装 pecr-devel

CentOS 中 httpd 源代码安装与测试

安装完成后,在安装 httpd 这样就顺利通过检测然后执行 make

CentOS 中 httpd 源代码安装与测试

make 完成后执行 makeinstall

CentOS 中 httpd 源代码安装与测试

然后指明头文件

CentOS 中 httpd 源代码安装与测试

在 /usr/local/apache/bin 目录中都是一些可执行的文件,如果想要执行每次都要切换到该目录下,这样是很麻烦的。如果想要直接执行就要修改环境变量 /etc/profile

CentOS 中 httpd 源代码安装与测试

在第 55 中指明了在系统中 PATH 搜索路径,我们就在这里指明现在的搜索路径

CentOS 中 httpd 源代码安装与测试

这样就可以了,使用 . /etc/profile 重新读取,再用 echo 输出 PATH 的值看看有没有加载上

CentOS 中 httpd 源代码安装与测试

从图中看到已经加载上了

然后还要指出 httpd 的 man 手册的位置,编辑 /etc/man.config

CentOS 中 httpd 源代码安装与测试

在里面添加 MANPATH /usr/local/apache/man 即可。

到这里 httpd 已经安装完成了

接下来就该编写 shell 脚本,来控制 httpd 的启动和停止

脚本存放在 /etc/init.d 里面,那我们就在里面创建一个 httpd 的控制脚本来控制 httpd 服务的启动。

脚本的代码:

#!/bin/bash
[-e /etc/init.d/functions] && . /etc/init.d/functions
prog=/usr/local/apache/bin/httpd
lockfile=/var/lock/subsys/httpd
start(){
      if [-e $lockfile];then
      echo “httpd server isstarted”
      else echo -n “httpd server isstarting… “
      sleep 1
      $prog &>/dev/null  && echo  “[ok]” && touch $lockfile||echo “[failer]”
      fi
}
stop(){
      if [! -e $lockfile];then
      echo “httpd server is stoped”
      else echo -n “httpd server isstoping… “
      sleep 1
      killproc httpd && echo “[ok]” && rm -rf $lockfile ||echo “[failer]”

      fi
}
status(){
      if [-e $lockfile];then
      echo “httpd server isstarted”
      else echo “httpd server nofound”
      fi
}
case $1 in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
status)
  status
  ;;
*)
echo”USAGE:start|stop|restart|status”
 ;;
esac
启动服务:

CentOS 中 httpd 源代码安装与测试

通过查看 80 端口发现 httpd 已经启动

CentOS 中 httpd 源代码安装与测试

由此可见我们的 httpd 通过源代码安装成功,并且测试没有出现错误。

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

环境:CentOS 6.4 x86_64

所需应用程序:APR(http://apr.apache.org/)、APR-UTIL(http://apr.apache.org/)、httpd(http://httpd.apache.org/)

在 linux 中软件安装有两大类,一类是软件包安装,一类是源代码安装。软件包安装就是指将编译好的二进制封装成 rpm 包,可以直接使用 rpm 工具和 yum 工具安装。源代码安装是指没有编译成二进制,需要通过手动编译的。使用源代码安装的原因有两个,一个就是想使用最新版的软件,另一类就是想自定义其功能的。

CentOS 6.2 安装源码 httpd-2.4.1 错误解决办法  http://www.linuxidc.com/Linux/2012-03/57384.htm

源代码安装的步骤:

1、展开压缩文件一般把文件都解压缩到 /uer/local/src 中

2、在解压缩文件目录中使用 ./configure 选项来检测编译环境,产生 makefiel 文件

3、使用 make 进行编译

4、make install 安装

下面就介绍如何在 centos 中通过源代码安装 httpd 以及测试。

用源代码安装软件首先要在系统中安装相应的编译环境;在 RedHat 中搭建编译环境需要的工具有 DevelopmentLibraries、Development Tools、Legacy Software Development、X Software Development,这些开发环境在 RehdHat 是不可缺少的。在 centos 中需要的开发工具主要有两个,AdditionalDevelopment、Development tools。所以在进行源代码安装时需要搭建编译环境。

那么首先我们要挂载我们的光盘,通过光盘查找我们要安装的软件包组,挂载光盘的命令是:mount /dev/cdrom /media/cdrom 光盘挂载成功后我们可以通过 yum –disablerepo=\* –enablerepo=c6-media grouplist 查询我们所需要的软件包组。通过查询我们发现如图中圈出来的必须的两个开发软件包组。那么就来安装这两个软件包组吧,使用命令 yum –disablerepo=\* –enablerepo=c6-media groupinstall“AdditionalDevelopment”“Development tools”

CentOS 中 httpd 源代码安装与测试

安装完成后,接下来就进行 httpd 的安装,在安装 httpd 前需要先安装 apr 和 apr-util

在这里我们用 apr-1.4.6.tar.gz、apr-util-1.5.1.tar.gz 和 httpd-2.4.4.tar.bz2 为例;首先把这些压缩文件解压缩到 /usr/local/src 目录中,使用命令

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

CentOS 中 httpd 源代码安装与测试

对三个压缩文件解压缩

解压缩完成后进入 /usr/local/src 目录中就能发现我们刚刚解压缩的三个文件所形成的目录

CentOS 中 httpd 源代码安装与测试

先来安装 apr,那么要先进入 /usr/local/src/apr-1.4.6 目录中

CentOS 中 httpd 源代码安装与测试

可以看到一个 configure 文件这个文件就是我们用来配置选项,检测编译环境。还有一个 README 或者是 INSTALL 这个文件是告诉我们一些使用的方法。现在我们就来执行 configure,在执行时加入 –prefix 来指定安装目录,使用方法就是在该解压缩目录中输入./configure –prefix=/usr/local/apr(这个目录是自己指定的,如果以后想要卸载该软件可以直接删除该目录即可,默认是安装在 /desired/path/of/apr 中,如果使用默认的安装路径想要卸载那就比较麻烦了)在这个过程中如果没有提示错误那就说明可以进行下一步了。

然后就使用 make 来进行编译了

CentOS 中 httpd 源代码安装与测试

make 是一个比较漫长的过程,耐心等待就是

CentOS 中 httpd 源代码安装与测试

到了这里就说明编译完成,接下来就使用 make install 进行安装了

CentOS 中 httpd 源代码安装与测试

完成后我们到 /usr/local/ 目录中看看

CentOS 中 httpd 源代码安装与测试

我们已经看到我们刚刚安装的 apr 了,再进到 apr 目录中看看

CentOS 中 httpd 源代码安装与测试

我们可以看一些 bin 目录,include 目录还有 lib 目录

推荐阅读

DRBD+Heartbeat+httpd 实现 HA 群集 http://www.linuxidc.com/Linux/2013-10/92146.htm

Heartbeat+httpd+NFS 实现高可用的 Web 服务器 http://www.linuxidc.com/Linux/2013-08/88520.htm

Linux 下 httpd 服务阶段实验 http://www.linuxidc.com/Linux/2013-08/88426.htm

监视系统服务 mysqld、httpd 的运行状态 http://www.linuxidc.com/Linux/2013-06/86540.htm

在 CentOS 6 上使用 AWStats 分析 httpd 和 Tomcat 日志 http://www.linuxidc.com/Linux/2012-10/72943.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计6410字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中