设为首页 收藏本站
查看: 2022|回复: 0

[经验分享] Redhat linux源码安装

[复制链接]

尚未签到

发表于 2018-5-11 12:56:27 | 显示全部楼层 |阅读模式


  源码就是用特定的语言来编写的文本,比如我们常见的c语言。然而源码的安装要经过配置、编译的一系列的复杂过程,那么如此的麻烦为何还要来安装源码呢?其实这是为了让我们的系统来使用更新的功能和更多的功能,另外还可以更加个性化我们的配置。就拿apache来说吧,红帽官方提供给我们的是2.2的版本,但是最新的的版本已经到2.4了,所以有些时候我们需要安装源码。
  下面我们来简单说说关于源码安装的必备环境:
  源码需要编译成可执行文件,而编译则需要有相应的编译环境。当我们的系统中安装了Develepment ToolsDevelepment Librarieslegacy software、和X soft Develepment这四个软件组的话,我们的编译环境就基本上具备了。
  我们以软件httpd-2.4为例为大家讲解,下面开始源码的安装工作:
第一步:拆解httpd并放入指定的目录/usr/local/src
DSC0000.png

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

第二步:生成makefile文件
  但是我们不会那么容易装好的,安装过程中我们会发现种种问题,下面我们一一来解决
  (1)生成httpdmakefile文件
DSC0002.png

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

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

   (2)但是安装完apr-devel后再进行第一步又出现下面错误
DSC0004.png

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


   开始安装apr的源码,我们要把aprapr-util都安装,util是工具,把这两个软件包分别进行拆解
DSC0006.png

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

  最后执行make  install进行安装

3)安装完毕后/usr/local/apr目录下会生成下列文件
DSC0007.png

然而这些库文件、头文件若想要被他人所利用还需要做一些处理:
【头文件的处理】进入系统能识别头文件的目录/usr/include,然后为apr的头文件创建链接到所在目录ln -s /usr/local/apr/include/apr-1/*  .
     【库文件的处理】在/etc/ld.so.conf.d目录下创建名为apr.conf的文件并进行编辑,输入一个供系统查找库文件的路径/usr/local/apr/lib;保存退出后ldconfig重新加载缓存然后查看。如下图所示,看到库文件可以被找到
DSC0008.png

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

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


   到/usr/local/apr目录下用tree命令显示文件之间的关系,结果看见在bin目录下有该文件
DSC00011.png
然后生成makefile文件,注意要加进文件目录
DSC00012.png


    然后make、安装,因为util是个工具,所以没必要管头文件和库文件,所以apr的问题到此就都解决了。
(5)然后再来进行第一步,但是又出问题了,提示我们缺少配置文件,需要我们指明apr的配置文件

DSC00013.png


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


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

   经过前面的配置我们可以猜想是因为pcre-devel的软件包没有安装的缘故,那么进行pcre-devel的安装。
   安装完毕后再来进行httpdmakefile文件的生成,这次没有再出现问题了。安装的过程是辛苦的,不过不要灰心哟,努力和回报是相对的!
  第三步:make进行编译
  第四步:make install进行安装
  第五步:根据前面对apr头文件和库文件的处理来对httpd的头文件和库文件进行处理
  第六步:为apache服务准备配置文件

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


2)关闭服务,再为服务程序挂接配置文件,然后发现服务又启动了
DSC00017.png


3)但是我们想要做到像系统其它服务一样,输入start 服务就会启动,而输入stop服务就停止,那么我们还需要为它准备一个控制脚本。到/etc/init.d目录下,创建一个名为httpd的文件,因为它最后要成为可执行的脚本,所以用chmod  a+x httpd为它增加可执行权限。然后进行编辑,如下图所示
DSC00018.png
DSC00019.png
DSC00020.png
完成后进行启动、关闭、显示状态和重启的测试,发现都可以完成
DSC00021.png
DSC00022.png
DSC00023.png
DSC00024.png
DSC00025.png


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

我们查看一下/etc/init.d/acpid,该文件是该服务的控制脚本
DSC00026.png


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

DSC00027.png
然后把httpd服务加入chkconfig的控制
DSC00028.png

查看了服务的状态,看到正如脚本文件中添加的一样,在345级别为on,之后我们就可以利用chkconfig命令来控制apache服务随机启动与关闭了
(5)检查服务配置
DSC00029.png


    在另外一台机器上用http://192.168.2.101来访问该服务器,如下图所示,测试表明配置成功了
DSC00030.png

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


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


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

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









  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458720-1-1.html 上篇帖子: Redhat 使用mail命令发送带附件的邮件 下篇帖子: redhat(centos) linux下配置普通用户关机、重启服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表