天天看点

linux中的httpd源码安装方法

   对于源码我们应该知道所谓源码就是用特定语言写成的文本,如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

linux中的httpd源码安装方法

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

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

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

 图2

linux中的httpd源码安装方法

 图3

linux中的httpd源码安装方法

下一步

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

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

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

 图4

linux中的httpd源码安装方法

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

rpm –ivh加上包的文件名字

 图5

linux中的httpd源码安装方法

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

 图6

linux中的httpd源码安装方法

 图7

linux中的httpd源码安装方法

 执行make指令

  make install

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

 图8

linux中的httpd源码安装方法

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

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 系统工具目录下进入这目录里面

图9

linux中的httpd源码安装方法

  直接执行./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

linux中的httpd源码安装方法

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

图11

linux中的httpd源码安装方法

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

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

图12

linux中的httpd源码安装方法

 这个时候会想,这个文件已经安装了可能是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

linux中的httpd源码安装方法

  我们需要给这些头文件指定相应的链接切换到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() {

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

                       sleep2

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

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

 status() {

             if [ -e $lockfile ] ;then

 echo“the program ‘basename $prog’ is running”

     else

                     echo“the 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

  #description:httpd server daemon 

 然后执行添加

 chkconfig –add httpd

 手册

 手册在/usr/local/apache/man

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

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

 MANPATH=/usr/local/apache/man

 然后man 手册就做好了.

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

继续阅读