源码安装

源码:有特定的语言写出的文本就是源码

源码安装条件:(查看环境:#yum grouplist  |less) 安装了四类软件组:开发库Development Libraries、传统软件开发Development Tools、图形界面开发组X Software Development、开发工具Legacy Software Development 等。

——》拆解安装包

——》先进行配置(//configgure)

——》编译(makefile)【需求编译器 gcc 】

——》可执行 头文件 库文件 手册

——》安装

——拆解安装包:(以httpd-2.4.4为例)

安装包拆解位置:/usr/local/scr

安装位置: /usr/local/ ……

[root@server1 ~]#tar -jxvf httpd-2.4.4.tar.bz2  -C  /usr/local/src

源码安装_软件开发

[root@server1 httpd-2.4.4]#less INSTALL 查看文件

——配置:

[root@server1 httpd-2.4.4]# ./configgrure --help |less 查看配置帮助

[root@server1 httpd-2.4.4]# ./configgrure --prefix=/usr/local/apache安装文件目录

--sysconfdir=/etc/apache配置文件目录

源码安装_软件开发_02

若出现错误apr未发现,则查看是否挂载apr,在检查是否存在apr-devel,否则挂载apr-devel,如果apr-devel版本较低则下载较高版本

也可以先检查apr是否挂载

源码安装_软件开发_03

下载地址:hhtp://www.apr.apache.org/

下载完毕后,拆解apr-1.4.6 、apr-util-1.5.1

进入apr配置目录

源码安装_Software_04

——编译(makefile)【需求编译器 gcc 】

——可执行 头文件 库文件 手册

——安装

配置检测完毕后,输入命令#make  之后#make install

然后#cd /usr/local/apr/  #ll

bin可执行文件 include头文件 lib库文件

库文件 目录为:/lib或者/usr/lib  可分为动态库(可直接进行升级 .so)、静态库(直接编译,效率快 .a)

头文件 其目录为:/include 或者/usr//include 若直接使用可是连接 (ln -s )

#cd /usr/local/apr/include/ 进入目录创建链接为了更好的利用头文件

#ln -s /usr/local/apr/include/apr-1/*  .在当前目录下创建链接

进入/etc/ld.so.conf.d/创建文件 文件.conf

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

#vim apr.conf (编译内容:/usr/local/apache/modules)

#ldconfig然后刷新缓存 

#ldconfig -pv |grep apr

#cat apache.conf

进入apr-util…配置目录

[root@server1 apr-util-1.5.1]# ./configgrure --help |less

[root@server1 apr-util-1.5.1]# ./configgrure --prefix=/usr/local/apr-util安装文件目录

--with-apr=/usr/local/apr/bin/apr-1-config配置文件目录

然后#make 后#make install

#cd  /etc/apache/bin/

[root@server1 bin]#ll

[root@server1 bin]#file apachectl

[root@server1 bin]#file httpd

[root@server1 bin]# ./httpd  -f  /etc/apache/httpd.conf

[root@server1 bin]#netstat -tupln |grep 80

[root@server1 bin]#./httpd --help

源码安装_软件开发_05

脚本: service   名称{控制脚本}  start   /etc/init.d

#cd /etc/init.d 再查看(ls或ll)可看到可执行脚本

可编译一个脚本(#vim httpd),加权限(#chmod a+x httpd 可编译)

#vim httpd

{#!/bin/bash; prog=/usr/local/apache/bin/httpd;

configfile=/etc/apache/httpd.conf;

lockfile=/etc/local/subsys/httpd;

. /etc/init.d/functions

start() {

if [ -e $lockfile ];then

  echo "the program `basename $prog` is started"

else

  echo -n -e "the program `basename $prog` is starting……"

sleep 2

$prog && echo "[ok]" && touch $lockfile || echo "fail"

fi

}

stop() {

if [ -e $lockfile ];then

  echo -n "the program `basename $prog` is stoping……"

  sleep 2

  killproc httpd && echo "[ok]" && rm -rf $lockfile || echo "fail"

  else

  echo -n -e "the program `basename $prog` is stoped"

  fi

   }

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

;;

*)

echo "USAGE:start|stop|restart|status"

esac

}

源码安装_编译器_06

查看系统中安装的服务:

#chkconfig --list

#chkconfig --list  |grep sshd

正常启动3—5 on自动启动 off自动关闭(设置:chkconfig 服务 on/off)