linux14.04 Apache,Ubuntu 14.04編譯安裝Apache

Ubuntu下編譯安裝apache需要預先編譯安裝多個依賴件,包括:apr, apr-util,pcre,zlib-devel,等,相當麻煩,記錄于此備查.

由于Ubuntu系統默認安裝時沒有安裝C++,所以也需要先安裝c++編譯需要相關的組件。

[注]apt-cache policy 軟件包名 //查看已安裝包信息。

--------------------------------------分割線 --------------------------------------

Ubuntu 13.04 安裝 LAMP\Vsftpd\Webmin\phpMyAdmin 服務及設置 http://www.linuxidc.com/Linux/2013-06/86250.htm

--------------------------------------分割線 --------------------------------------

具體安裝步驟:

1,先安裝c++編譯相關組件:

剛裝好的Ubuntu系統中已經有GCC了,但是這個GCC什么文件都不能編譯,因為沒有一些必須的頭文件,所以要安裝build-essential這個軟件包,安裝了這個包會自動安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必須的軟件和頭文件的庫。

安裝所需要的軟件包:

sudo apt-get install build-essential

2,編譯安裝APR

(1)先下載apr: 地址:http://mirror.esocc.com/apache/apr/

存放位置:/usr/local/src/apr-1.5.1.tar.gz

(2)#cd /usr/local/src

(3)#tar -zxvf apr-1.5.1.tar.gz

(4)#cd apr-1.5.1

(5)#./configure -prefix=/usr/local/apr

(6)#make

(7)#make install

3,再編譯安裝apr-util,類似于上一步安裝apr

(1)先下載apr-util: 地址同apr:http://mirror.esocc.com/apache/apr/

存放位置:/usr/local/src/apr-util-1.5.3.tar.gz

(2)#cd /usr/local/src

(3)#tar -zxvf apr-util-1.5.3.tar.gz

(4)#cd apr-util-1.5.3

(5)#./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr //這里帶上apr安裝路徑

(6)#make

(7)#make install

4,再編譯安裝pcre

(1)先下載pcre: 地址:http://sourceforge.net/projects/pcre/files/pcre/

存放位置:/usr/local/src/pcre-8.35.tar.gz

(2)#cd /usr/local/src

(3)#tar -zxvf pcre-8.35.tar.gz

(4)#cd pcre-8.35

(5)#./configure -prefix=/usr/local/pcre

(6)#make

(7)#make install

5,安裝zlib-devel

#apt-get install zlib1g-dev

//zlib-devel is a RedHat/Fedora name, zlib1g-dev and libz-dev are the Debian/Ubuntu names (zlib1g-dev provides libz-dev which is a virtual package).

或者:

(1)下載zlib:地址:http://sourceforge.net/projects/libpng/files/zlib/

存放地址:/home/xxx/Downloads

#cp /home/xxx/Downloads/zlib-1.2.8.tar.gz /usr/local/src

#cd /usr/local/src

#tar -zxvf zlib-1.2.8.tar.gz

#cd zlib-1.2.8

#./configure -prefix=/usr/local/zlib

#make && make install

6,最后再編譯安裝apache

(1)下載apache,地址:http://httpd.apache.org/download.cgi

存放位置:/home/xxx/Downloads

#cd /home/xxx/Downloads

#cp httpd-2.4.9.tar.gz /usr/local/src

#cd /usr/local/src

#tar -zxvf httpd-2.4.9.tar.gz //解壓

#cd httpd-2.4.9

#./configure -prefix=/usr/local/apache2 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

#echo $? //檢查是否有錯誤

#0 //返回0說明沒問題了

#make

#make install

上面./cofigure后面的參數說明:

# --prefix= 指明編譯后的二進制文件安裝到目錄,用實際安裝路徑替換,如--prefix=/usr/local/apache-2.4.9,如果省略此配置參數,默認安裝到/usr/local/apache2。

# --enable-so 指明編譯動態加載模塊(DSO)支持到httpd二進制文件,此模塊使得Apache的各功能模塊可以與核心分開編譯、運行時動態加載。有了DSO支持,升級和增加模塊時只需編譯相關的模塊即可,不必重新編譯整個系統。最新版本的Apache缺省編譯此模塊到httpd二進制文件,如果你在使用早期版本的apache并且需要DSO支持,可能要明確指出此選項。

# --enable-mods-shared= 明確指明要以DSO方式編譯的模塊,為空格分隔的模塊名列表、all或者most,all表示包含所有模塊,most表示包含大部分模塊,如--enable-mods-share="rewritedeflate",--enable-mods-share=most,效果等同于多個--enable-=share

#--with-mpm= 先擇Apache多路處理模塊,={beos|event|worker|prefork|mpmt_os2},prefork為Unix系統下默認處理模塊,它將運行一個非線程型的、預派生的Web服務器,適合于沒有線程安全庫,需要避免線程兼容性問題的系統,它是要求將每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現問題就不會影響到其他請求。worker為支持混合的多線程多進程的多路處理模塊,由于使用線程來處理請求,所以可以處理海量請求,而系統資源的開銷小于基于進程的MPM,同時,它也使用了多進程,每個進程又有多個線程,以獲得基于進程的MPM的穩定性。如果你的系統是基于線程安全的,那么筆者建議使用worker替代prefork,它將使得你的系統得到實際的性能改善。

安裝完成。

0b1331709591d260c1c78e86d0c51c18.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541718.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541718.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541718.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android Jenkins自動化構建之路

install Jenkins 添加Jenkins的源(repository): sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key復制代碼yum install Jenkins復制代碼…

java 根據類名示例化類_Java即時類| plusMillis()方法與示例

java 根據類名示例化類即時類plusMillis()方法 (Instant Class plusMillis() method) plusMillis() method is available in java.time package. plusMillis()方法在java.time包中可用。 plusMillis() method is used to add the given duration in milliseconds to this Insta…

linux dd入門,Linux基礎知識:Linux中DD命令詳解

1.dd命令簡介功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過程中可以進行格式轉換。可以用該命令實現DOS下的diskcopy命令的作用。先用dd命令把軟盤上的數據寫成硬盤的一個寄存文件,再把這個寄存文件寫入第二張軟盤上&#xff0c…

CSS 字體(font)實例

1、設置文本字體 font-family:"Times New Roman",Georgia,Serif font-family:Arial,Verdana,Sans-serif 2、設置字體尺寸 font-size: 100% 3、設置字體風格 font-style:normal font-style:italic font-style:oblique 4、設置字體的異體 font-variant:normal text-var…

Java Duration類| 帶示例的compareTo()方法

持續時間類compareTo()方法 (Duration Class compareTo() method) compareTo() method is available in java.time package. compareTo()方法在java.time包中可用。 compareTo() method is used to compare this Duration object to the given object. compareTo()方法用于將此…

linux定時任務執行url,科技常識:linux定時任務訪問url實例

今天小編跟大家講解下有關linux定時任務訪問url實例 ,相信小伙伴們對這個話題應該也很關注吧,小編也收集到了有關linux定時任務訪問url實例 的相關資料,希望小伙伴會喜歡也能夠幫助大家。這次linux定時任務設置成功,也算是自己學習…

lcase和ucase_在SQL中使用UCASE(),LCASE()和MID()函數

lcase和ucaseUpper Case, Lower Case and MID functions are scalar functions which return a single value, based in the input value. 大寫,小寫和MID函數是標量函數,它們基于輸入值返回單個值。 As you all know sometimes different databases ha…

Maven的Settings.xml配置文件解釋

該配置用于單用戶配置和全局配置, 單用戶配置默認存放于 ${user.home}/.m2/目錄中. 全局配置默認存放于Maven安裝目錄下面的conf目錄中. 這兩個默認的位置都可以修改. <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://m…

linux ntp手動授時,關于我校NTP授時服務的使用說明

校園網用戶&#xff1a;我中心于近期采購了GPS北斗授時服務設備&#xff0c;該設備可實現純GPS模式、純北斗模式和混合模式與衛星對時&#xff0c;同時實現對校內設備授時的功能。支持所有NTP協議的服務器、PC、嵌入式設備等&#xff0c;包括但不限于&#xff1a;Microsoft Win…

一串字符串轉換為ascii_將ASCII字符串(char [])轉換為C中的BYTE數組

一串字符串轉換為asciiGiven an ASCII string (char[]) and we have to convert it into BYTE array (BYTE[]) in C. 給定一個ASCII字符串(char [])&#xff0c;我們必須將其轉換為C語言中的BYTE數組(BYTE [])。 Logic: 邏輯&#xff1a; To convert an ASCII string to BYTE…

debugging Auto Layout:Logical Errors

Logical Errors邏輯錯誤 Logical errors are simply bugs. Somewhere, you have an assumption that is faulty. Perhaps it’s an assumption about how Auto Layout calculates the views’ frames. Perhaps it’s an assumption about the set of constraints that you’ve …

linux反序列化漏洞,思科多個產品Java反序列化漏洞(CVE-2015-6420)

思科多個產品Java反序列化漏洞(CVE-2015-6420)發布日期&#xff1a;2015-12-15更新日期&#xff1a;2015-12-17受影響系統&#xff1a;Cisco Unified ComputingCisco Voice and Unified Communications DevicesCisco Wireless描述&#xff1a;CVE(CAN) ID: CVE-2015-6420思科是…

密碼學替代技術_替代技術及其類型| 密碼學

密碼學替代技術As we already discussed what are the Substitution techniques and one of its type Ceasar Cipher? So we are not discussing it here for that please refer to Cryptography: CeasarCipher here: Cryptography: Caesar Cipher and its Python Implementat…

Flask+uwsgi+Nginx環境搭建

2019獨角獸企業重金招聘Python工程師標準>>> 開源軟件準備 需要的軟件列表&#xff1a; setuptools-33.1.1.zip Python-2.7.13.tgz pip-9.0.1.tar.gz nginx-1.10.3.tar.gz 軟件統一上傳到/usr/local/src/下&#xff0c;python是使用自己編譯的。Python安裝 先安裝以…

穿越迷宮c語言程序設計教程課后答案,實驗二 迷宮實驗.doc

#include #define ROW 11#define COLUMN 15typedef struct{ /*棧中的數據元素的類型定義*/int row; /*行下標*/int col; /*列下標*/int direction; /*下一步移動方向*/} DATA;Typedif struct node{ /* 棧類定義*/DATA data;Struct node *next;}LinkStack;Typedef struct{/*移動…

ofb模式_密碼學中的輸出反饋模式(OFB)

ofb模式This is an output feedback (OFB) mode is similar in structure to that of CFB in Cryptography. It is the output of the encryption function that is fed back to the shift register in OFB in the cryptography, whereas in CFB in the mode of blocks, the ci…

JavaScript0-閉包

1.閉包的概念&#xff1a;在JavaScript中局部作用域總是能夠訪問到全局作用域&#xff0c;即內部函數總是能夠訪問到外部函數的參數和變量&#xff0c;即使內部函數調用完畢。也就是指有權訪問到函數作用域里的變量。 function fn1() {var x 0;return function() {cosole.log(…

win8編程c語言,Win8系統怎么運行C語言 win8系統運行C語言的方法

C語言是一門通用計算機編程語言&#xff0c;是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言&#xff0c;但是許多win8系統用戶并不知道要怎么運行C語言&#xff0c;針對這個情況&#xff0c;小編就給大家分享一…

stack示例_C.示例中的Stack.CopyTo()方法

stack示例C&#xff03;Stack.CopyTo()方法 (C# Stack.CopyTo() method) Stack.CopyTo() method is used to copy the stack elements/objects to an existing array from the given index. Stack.CopyTo()方法用于將堆棧元素/對象從給定索引復制到現有數組。 Syntax: 句法&am…

Linux sudoers文件的寫法

2019獨角獸企業重金招聘Python工程師標準>>> 文件的組成 sudoers文件由三部分組成&#xff1a; sudoers的默認配置&#xff0c;主要設置sudo的一些缺省值&#xff08;本文不會對這些默認配置進行介紹&#xff0c;若有興趣可以自己man 5 sudoers然后搜defaults)alias…