对于源码我们应该知道所谓源码就是用特定语言写成的文本,如C语言。其次源码安装

的好处是我们可以使用最新的版本和最新的功能,可以加入各种选项来个性配置,也可

以自定制使其更符合自己的习惯,而且在任何平台都能够配置、编译。

 

源码

 

用特定的文件写出的文件就成为源码

拆解--源码-----配置(./configure)makefile--编译-----可执行--头文件 ---库文件--手册--makeinstall安装

编译器gcc 

         编译环境分为四类组

                                                        DevlompemtLibraries开发库

                                                      Devlopmenttools开发工具

                                                      X software Devlopment图形界面使用的

                                                      Legacy software Developmen t传统的软件开发

库文件一般存放在这两个文件里面/lib /usr/lib 系统会自动找到

动态库不需要做代码的一部分,直接跳转执行                 .so结尾

静态库直接编译好在文件里面                               .a结尾

头文件/include/usr/include如果不想占用空间可采用链接可以使用in-s

手册man

 拆解位置/usr/local/src

 安装位置/usr/local/

 配置文件后面可以跟参数选项

                                                      --prefix             安装目录

                                                      --sysconfdir     指明系统配置文件目录

                                                      --enable           选项打开

                                                      --disable          选项关闭

    使用源代码的好处:加入更多选项来个性化你的配置功能,如果你想使用更新版本的红帽,你必须得使用源代码。

这里我给大家提供一个源代码的下载地方:www.apache.org

下面我给大家安装一个最新版本的httpd2.4,来让大家进一步了解源代码的安装方法

 

1

202609839.png

 

 软件包拆解tar -jxvf      软件包的地址   -C       存放软件包的位置

 而我们的包是存放在/usr/local/src/这个文件里面,然后我们切换到这个包文件里面

 我们仔细看里面的一些文件configure ,INSTALL这个两个文件,说明是源代码的安装

 

 图2202629783.png

 

 图3

202649561.png

 

下一步

 

 我们切换到包的主文件,看是安装配置文件,执行

            ./configure--prefix=/usr/local/apache       指明安装文件的目录–附加下面的指令

              sysconfir=/etc/apache                                 指明配置文件的安装目录

 

 图4

202719670.png

  

 这个时候我们可以用rpm –qa |grep –I apr 来查看一下我们是否装了arp这个文件,如果发现装了,这个时候可能是devel库文件没有安装,然后对这个文件来进行安装,可使用

rpm –ivh加上包的文件名字

 

 图5202808371.png

     

      然后我们重新执行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache 发现错误依旧存在,不过这次错误的提示更加详细了

 

 图6202852336.png

 

 图7

202905425.png

 

下一步

 

 执行make指令

  make install

 切换到我们刚才把它指定的安装目录 /usr/local/apache/ 这时候产生了许多头文件,库文件

 

 图8

202928312.png

 

   我们需要给它创建链接,系统能够识别的这些文件并且能调用,我们不可能一个一个的进行创建,我们只需要给它这个目录创建一个链接就可以了。执行

in –s/usr/local/apr/include/apr-1* . 指定一个链接到当前目录

 

 库文件处理方法

 系统能自动找到是在/lib /usr/lib 这两个文件里面才会找到

  vim/etc/ld.so.conf 这是一个链接库里面包含

  include ld.so.conf.d/*.conf 你可以让在这样的目录创建一个*.文件,然后你源码库的路径就可以了

 我们切换到这个目录下,然后再这个文件里面编辑

 写入这些文件/usr/local/apr/lib

  ldconfig                                       更新缓存

  ldconfig –pv | grep apr             查找这些链接文件

 

下一步

 

切换到apr-util-1.5.1tar.gz 系统工具目录下进入这目录里面

 

9203003310.png

 

  直接执行./config--prefix=/usr/local/apr-util   --with-apr=/usr/local/apr/bin/apr-1-config 指定它的安装目录,并指定apr.config它的安装目录

Make

Make intall

然后查看它安装后所形成的文件,切换到/usr/local/目录下,形成apr-util工具文件

 

10

203022497.png

 

然后我们重新执行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache

 

11203045836.png

 

这次我们需要指明apr-1-config它的安装文件时在哪里,我们只需要指明就可以了

      --with-apr=/usr/local/apr/bin/apr-1-config      --with-apr-until=/usr/local/apr-until/

 

12

203111913.png

 

 这个时候会想,这个文件已经安装了可能是devel这个文件没有安装

  rpm –ivh /mnt/cdrom/Server/pcre-devel-66-2.e15_1.7.i386.rpm安装就可以

 安装好后我们重新执行

  ./configure--prefix=/usr/local/apache–sysconfir=/etc/apache   --with-apr=/usr/local/apr/bin/apr-1-config-  -with-apr-until=/usr/local/apr-until/

 生成学多make file文件然后执行make 

  make install 把你的文件拷贝到相应的文件里面

 然后为切换到/usr/local/apache/生成了bin 头文件模块文件

 

13

203146888.png

 

  我们需要给这些头文件指定相应的链接切换到include目录里面执行

   ln –s /usr/local/apache/include/* .

  对库文件编辑

  cd /etc/ld.so.conf.d/

 编辑

 vim apache.conf写入

 /usr/local/apache/modules

 ldconfig

 ldconfig –pv | grep apche 

 

下一步

 

 配置文件

 切换到bin目录下

 .http –f /etc/apache/httpd.conf 挂接配置文件

 控制脚本

 存放脚本的位置是在/etc/init.d,前期给它一个可执行的权限

 编写一个脚本

 !/bin/bash

   prog=/usr/local/apache/bin/httpd 指明一个名称

  configfile=/etc/apache/http.conf 指明配置文件

  lockfile=/var/local/subsys/httpd 

  ./etc/init.d/functions

  start(){

               if [ -e $lockfile ] ;then

                        echo the prigram ‘basename $prog’ is started

               else

                          ehco –n –e “the prigram ‘basename $prog’ is starting….”

                         sleep2

                        $prog-f$configfile && echo-e“\033 [31m [ok]\033[ 0m” && touch $ lochfile || echo-   e “ \033[31m [fail] \033 [0m”

              fi

}

  stop() {

               if [ -e $lockfile ] ;then

                       echo -n the program ‘basename $prog’ is stoping ….

                       sleep2

                       killproc http && echo “ok” rm –rf $ lockfile || ehco “fail”

               else

                      ehco“the program ‘basename $prog’ is stoped”

              fi

}

 status() {

             if [ -e $lockfile ] ;then

 echothe program ‘basename $prog’ is running

     else

                     echothe program ‘basename $prog’ is stop

     fi

}

 case “$1” in

 start )

        start

               ;;

 stop)

        stop

              ;

status)

status

;;

restart)

    stop

    start

       ;;

*)

ehcho “USAGE: start |stop|restart|status”

esac

  如果想让chkconfig 来管理这个脚本,启动的时候可以自动启动,我们首先在这个脚本里面添加

  #chkconfig 2345 55 25

  #descriptionhttpd server daemon 

 然后执行添加

 chkconfig –add httpd

 手册

 手册在/usr/local/apache/man

 如果在这里不懂,不明白,我们可以执行man man 来查看一下man 的帮助

 然后我们打开/etc/man.config 添加一条指令来指明它的man的路径

 MANPATH=/usr/local/apache/man

 然后man 手册就做好了.

 以上就是我的源码安装方法,如有错误联系作者就可以了….