天天看點

源碼安裝

源碼安裝

源碼:有特定的語言寫出的文本就是源碼

源碼安裝條件:(檢視環境:#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配置檔案目錄

源碼安裝

若出現錯誤apr未發現,則檢視是否挂載apr,在檢查是否存在apr-devel,否則挂載apr-devel,如果apr-devel版本較低則下載下傳較高版本

也可以先檢查apr是否挂載

源碼安裝

下載下傳位址:hhtp://www.apr.apache.org/

下載下傳完畢後,拆解apr-1.4.6 、apr-util-1.5.1

進入apr配置目錄

源碼安裝

——編譯(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

源碼安裝

腳本: 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() {

  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(){

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

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

case "$1" in

start)

start

;;

stop)

stop

status)

status

restart)

*)

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

esac

源碼安裝

檢視系統中安裝的服務:

#chkconfig --list

#chkconfig --list  |grep sshd

正常啟動3—5 on自動啟動 off自動關閉(設定:chkconfig 服務 on/off)

繼續閱讀