linux http服務源碼編譯安裝詳解

相信你們大多都聽過linux 的編譯安裝,但它究竟是怎麼把源代碼變爲本身電腦裏能夠應用的軟件哪?今天,小編就以httpd 爲例詳細講解一下。linux

什麼是編譯安裝——編譯:將源代碼變爲機器可執行的代碼文件。安裝:將可執行文件安裝到操做系統裏,纔可使用。apache

 

1、下載httpd最新版本的源碼包vim

1若是電腦裏有老版本的狀況下,rpm -qi httpd 查看詳細信息,裏邊有這個命令下載的官網,沒有老版本就去官網查找。centos

 

2)去官網下載最新版本(本身想要的版本)(通常在downloads下)app

 

3rz上傳到linux 解壓包 tar -xf  httpd-2.4.27.tar.bz2工具

 

 

2、查看INSTALLREADME 這些幫助信息spa

進入cd httpd-2.4.27/操作系統

查詢 cat INSTALL,裏邊有簡單的安裝過程,和一些例子3d

 

查詢 cat README,(what is it ?)裏邊有一些Apache 的功能介紹blog

 

3、configure腳本(檢測當前編譯環境)

1./configure --help 查詢這個腳本的用法,

--prefix=PREFIX  指定默認安裝總目錄, 默認爲/usr/local/

--sysconfdir=/PATH 配置文件安裝位置,默認就安裝到指定安裝總目錄的下面

 

 Optional Features:  須要什麼功能

--disable-FEATURE 關閉某些功能

--enable-FEATURE 開啓某些功能

 

2)下面咱們就來執行這個腳本,添加一些簡單的設置

./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24  --enable-rewrite

首次安裝,會提示出一些錯誤,由於有些包沒有安裝

 

咱們只需按照提示的錯誤,把須要的都安裝上去(直到沒有提示錯誤)

先查詢缺乏的 yum search apr-devel(通常關於開發的都叫 devel

再安裝 yum -y install apr-devel

 

中間會提示一個,沒有C編譯工具,缺乏gcc的錯誤,這時候,咱們須要下一個包組Development Tools

yum -y groupinstall "Development Tools"

③ configure腳本徹底執行成功(多了一個Makefile)沒有Makefile ,不能下面make過程

 

 

4、make    和    make install 編譯

make 編譯後,多了不少.o .lo 文件 (二進制文件),在此以前的工做,任何用戶都能作,而且都在httpd-2.4.27 這個目錄下進行

 

make install 安裝到指定位置,只有root 能作,

安裝完畢

 

 

5、啓動服務 

1netstat -ntl  查看本地監聽端口,有沒有開啓80端口

若是沒有開啓, service httpd start 開啓80端口

 

2)設置防火牆,由於防火牆組織了80端口

  iptables -vL  查看防火牆策略,防火牆阻止,能夠關閉防火牆

  systemctl status firewalld.service 查看當前防火牆狀態(只有centos 7 中有)

    或 systemctl is-active firewalld.service  查看當前防火牆狀態

  systemctl stop firewalld.service 暫時關閉防火牆(下次開機會在開啓)

 

  systemctl is-enabled firewalld.service  查看開機時是否開啓防火牆

  systemctl disable firewalld.service  設置開機時不開啓防火牆

 

若是是centos 6 如下的較低版本

  service iptables stop 關閉防火牆

  chkconfig httpd off 設置開機時不開啓防火牆

3)若是是安裝新版本,需現將舊版本卸載 rpm -e httpd rpm -qf `which httpd`查詢當前版本)

4/app/apache24/bin/apachectl start  開啓服務

 

就此服務開啓成功!!!

/app/apache24/bin/apachectl stop 能夠關閉服務

 

 

6、安裝後的配置

1)設置PATH   export PATH=$PATH:/app/apache24/bin/

  設置後,能夠 apachectl start 開啓服務

              apachectl stop 關閉服務

2)導入幫助手冊man           

  vim /etc/man_db.conf

  加入一行 MANDATORY_MANPATH                       /app/apache24/man

 

就能夠man apachectl

      到此就完成全部工做了!!!

                                               但願對你們有幫助,有什麼錯誤請告訴我~

相關文章
相關標籤/搜索