> RedHat >

Redhat linux源码安装

       源码就是用特定的语言来编写的文本比如我们常见的c语言然而源码的安装要经过配置编译的一系列的复杂过程那么如此的麻烦为何还要来安装源码呢?其实这是为了让我们的系统来使用更新的功能和更多的功能另外还可以更加个性化我们的配置就拿apache来说吧红帽官方提供给我们的是的版本但是最新的的版本已经到所以有些时候我们需要安装源码

  下面我们来简单说说关于源码安装的必备环境

  源码需要编译成可执行文件而编译则需要有相应的编译环境当我们的系统中安装了Develepment ToolsDevelepment Librarieslegacy software和X soft Develepment这四个软件组的话我们的编译环境就基本上具备了

  我们以软件为例为大家讲解下面开始源码的安装工作

  第一步拆解httpd并放入指定的目录/usr/local/src

  

  切换到源码被拆解的位置进入该目录下相应的httpd目录里边有些特征的文件如configure(为生成makefile文件)INSTALL或者README(指导我们安装)查看INSTALL文件如下所示

  

  第二步生成makefile文件

  但是我们不会那么容易装好的安装过程中我们会发现种种问题下面我们一一来解决

  ()生成httpd的makefile文件

  

  然后我们查看系统有没有安装apr

  

  结果我们发现安装了apr这是怎么回事呢?发生这种情况我们首先应该考虑到apr里面缺少我们需要的库而这些库往往放在devel里面那么我们来安装aprdevel软件包

  ()但是安装完aprdevel后再进行第一步又出现下面错误

  

  提示我们apr版本太低了至少是的才可以那么去网上找更高的版本这里需要注意的是我们要找适合我们系统平台的源码才可以如下图所示一般的都是ii和i的平台但是如果你的是位的就要选择x_

  

  开始安装apr的源码我们要把apr和aprutil都安装util是工具把这两个软件包分别进行拆解

  

  此时我们在/usr/local/apr/apr目录下然后执行make进行编译

  最后执行make  install进行安装

  ()安装完毕后/usr/local/apr目录下会生成下列文件

  

  然而这些库文件头文件若想要被他人所利用还需要做一些处理

  【头文件的处理】进入系统能识别头文件的目录/usr/include然后为apr的头文件创建链接到所在目录ln s /usr/local/apr/include/apr/*  

  【库文件的处理】在/etc/lnfd目录下创建名为nf的文件并进行编辑输入一个供系统查找库文件的路径/usr/local/apr/lib;保存退出后ldconfig重新加载缓存然后查看如下图所示看到库文件可以被找到

  

  ()至此apr已经被安装好了然后依据apr的安装来进行aprutil的安装在生成makefile文件时又出现下面的错误提示我们apr并没有找到让我们加入一个withapr的选项

  

  这里需要注意的是在源码安装过程中我们要学会用查看指令的方式为我们解决问题查看有关信息

  

  到/usr/local/apr目录下用tree命令显示文件之间的关系结果看见在bin目录下有该文件

  

  然后生成makefile文件注意要加进文件目录

  

  然后make安装因为util是个工具所以没必要管头文件和库文件所以apr的问题到此就都解决了

  ()然后再来进行第一步但是又出问题了提示我们缺少配置文件需要我们指明apr的配置文件

  

  再在第一步中加入apr配置文件的路径

  

  然而类似的问题又出现了提示我们aprutil的配置文件没找到那么我们再把 withaprutil=/uar/local/aprutil/ 加入上边指令中又有些小问题出现说pcre的库找不到

  

  经过前面的配置我们可以猜想是因为pcredevel的软件包没有安装的缘故那么进行pcredevel的安装

  安装完毕后再来进行httpd的makefile文件的生成这次没有再出现问题了安装的过程是辛苦的不过不要灰心哟努力和回报是相对的!

  第三步make进行编译

  第四步make install进行安装

  第五步根据前面对apr头文件和库文件的处理来对httpd的头文件和库文件进行处理

  第六步为apache服务准备配置文件

  ()首先切换到/etc/apache/bin目录下运行一个名为httpd的服务器程序然后发现apache服务已启动

  

  ()关闭服务再为服务程序挂接配置文件然后发现服务又启动了

  

  ()但是我们想要做到像系统其它服务一样输入start 服务就会启动而输入stop服务就停止那么我们还需要为它准备一个控制脚本到/etc/initd目录下创建一个名为httpd的文件因为它最后要成为可执行的脚本所以用chmod  a+x httpd为它增加可执行权限然后进行编辑如下图所示

  

  

  

  完成后进行启动关闭显示状态和重启的测试发现都可以完成

  

  

  

  

  

  ()但是我们觉得还不够我们还想服务可以随着电脑的启动而启动我们还要做一些配置

  我们查看一下/etc/initd/acpid该文件是该服务的控制脚本

  

  我们要想使用chkconfig命令来控制服务的开启需要在我们httpd的控制脚本中加入上边标记的两行如下图所示

  

  然后把httpd服务加入chkconfig的控制

  

  查看了服务的状态看到正如脚本文件中添加的一样级别为on之后我们就可以利用chkconfig命令来控制apache服务随机启动与关闭了

  ()检查服务配置

  

  在另外一台机器上用来访问该服务器如下图所示测试表明配置成功了

  

  ()我们在配置linux服务器的时候经常会用到手册那么我们apache的手册可以用吗?我们切换到/usr/local/apache/man/man查看目录并查看ab的手册如下图所示

  

  

  提示我们没有手册但是我们明明有啊这是怎么回事呢?在linux下一切皆文件我们还要在man的配置文件/etc/nf去加上该手册的目录以供查找如下图所示

  

  然后再尝试用手册来查ab结果如下图所示

  

  至此我们的源码安装就完成了当然了其它的源码安装都与此过程差不多要做的就是以不变应万变。

(责任编辑:IT)