編譯安裝Apache服務

一、Apache項目相關簡介

  在早期 的Apache版本中,應用程序本身必須能夠處理各種具體操作系統平臺的細節,並針對不同的平臺調用不同的處理函數。
  隨着Apache的進一步開 發,Apache組織決定將這些通用的函數獨立出來並發展成爲一個新的項目。這樣,APR的開發就從Apache中獨立出來,Apache僅僅是使用 APR而已。目前APR主要還是由Apache使用,不過由於APR的較好的移植性,因此一些需要進行移植的C程序也開始使用APR。
  APR使得平臺細節的處理進行下移。對於應用程序而言,它們根本就不需要考慮具體的平臺,不管是Unix、Linux還是Window,應用程序執行的接口基本都是統一一致的。因此對於APR而言,可移植性和統一的上層接口是其考慮的一個重點。

二、編譯安裝Apache

  由於Apache新架構,同apr搭建應用及不同系統底層庫調用之間的橋樑,在編譯安裝Apache同時,需要編譯安裝對應的apr。

apache 的apr項目目前有三部分組成,分別是apr、apr-util、apr-iconv

  • apr中包含了一些通用的開發組件,包括mmap,DSO等等
  • apr-util該目錄中也是包含了一些常用的開發組件。這些組件與apr目錄下的相比,它們與apache的關係更加密切一些。比如存儲段和存儲段組,加密等等。
  • apr-iconv包中的文件主要用於實現iconv編碼。目前的大部分編碼轉換過程都是與本地編碼相關的。在進行轉換之前必須能夠正確地設置本地編碼。因此假如兩個非本地編碼A和B需要轉換,則轉換過程大致爲A->Local以及Local->B或者B->Local以及Local->A。

(一)編譯安裝Apache的大致步驟思路:

1.首先安裝編譯環境所需的包
2.從Apache官網下載apr和http的源碼包
3.將apr的源碼包解壓到http的解壓包,並更改對應的目錄名稱
4.配置安裝路徑及需要的模塊
5.編譯安裝

(二)具體編譯過程:

基礎環境
Linux版本:CentOS Linux release 7.6.1810 (Core)
APR版本
APR 1.7.0, released April 5, 2019
APR-util 1.6.1, released October 22, 2017
Apache版本:Apache httpd 2.4.39 Released

1.首先安裝編譯環境所需的包

[root@CentOS7 ~]#yum install gcc pcre-devel openssl-devel expat-devel -y

2.從Apache官網下載apr和http的源碼包
下載地址
http://apr.apache.org/download.cgi
http://httpd.apache.org/download.cgi#apache24

APR下載:
在這裏插入圖片描述
在這裏插入圖片描述
Apache下載:
在這裏插入圖片描述
在這裏插入圖片描述
3.將apr的源碼包解壓到http的解壓包,並更改對應的目錄名稱

[root@CentOS7 data]#tar xvf apr-1.7.0.tar.gz
[root@CentOS7 data]#tar xvf apr-util-1.6.1.tar.gz
[root@CentOS7 data]#tar xvf httpd-2.4.39.tar.bz2 
[root@CentOS7 data]#mv apr-1.7.0 httpd-2.4.39/srclib/apr
[root@CentOS7 data]#mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util

在這裏插入圖片描述
4.配置安裝路徑及需要的模塊

[root@CentOS7 data]#cd httpd-2.4.39/
#生成Makefile文件
[root@CentOS7 httpd-2.4.39]#./configure \
--prefix=/app/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork

5.編譯安裝

[root@CentOS7 httpd-2.4.39]#make && make install -j 8

6.配置環境變量

[root@CentOS7 httpd-2.4.39]#echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd24.sh
[root@CentOS7 httpd-2.4.39]#source /etc/profile.d/httpd24.sh

7.啓動服務並設置開機啓動

[root@CentOS7 httpd-2.4.39]#apachectl start
[root@CentOS7 ~]#vim /etc/rc.d/rc.local
/app/httpd24/bin/apachectl start

[root@CentOS7 ~]#chmod +x /etc/rc.d/rc.local 
[root@CentOS7 ~]#ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 507 Jul 23 20:51 /etc/rc.d/rc.local

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章