1. 程式人生 > >LAMP架構——Apache(httpd)-2.4.29原始碼安裝

LAMP架構——Apache(httpd)-2.4.29原始碼安裝

pache是一個基金會的名字,httpd才是我們要安裝的軟體包,早期它的名字就叫apache,Apache官網www.apache.org

由於httpd2.2和httpd2.4所所使用的Apr庫不同,而且centos7系統自帶的Apr與之不匹配,所以需要使用yum安裝Apr庫檔案。

[root@dl-001 src]#  wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz   //2.4原始碼包

[root@dl-001 src]#  wget  http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz       //apr-1.6.3r包
[root@dl-001 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz //apr-util-1.6.1包

說明:下載並解壓,以下操作需要進入。

1,安裝apr包

[[email protected] src]# cd apr-1.6.3
配置:
[[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apr

報錯:
configure: error: in `/usr/local/src/apr-1.6.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log'
for more details //說明:缺少C語言相關的編譯器。 解決辦法: [[email protected] apr-1.6.3]# yum install -y gcc* //安裝gcc編譯器。 [[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apr // 配置成功! 編譯和安裝: [[email protected] apr-1.6.3]# make 報錯: xml/apr_xml.c:35:19: 致命錯誤:expat.h:沒有那個檔案或目錄 #include <expat.h> ^ 編譯中斷。 make[1]: *** [xml/apr_
xml.lo] 錯誤 1 make[1]: 離開目錄“/usr/local/src/apr-util-1.6.0” make: *** [all-recursive] 錯誤 1 解決辦法: [[email protected] apr-1.6.3]# yum -y install expat-devel [[email protected] apr-1.6.3]# make && make install [[email protected] apr-1.6.3]# echo $? 0

注意: APR 1.6.2版本有變更,進行了加密設定,進行編譯時需要使用如下命令(否則在安裝Apache是無法呼叫該庫檔案):

[root@dl-001 httpd-2.4.29]# CC="gcc -m64" ./configure --prefix=/usr/local/apr

2,安裝Apr-util包

[root@dl-001 src]# cd apr-util-1.6.1
[root@dl-001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@dl-001 apr-util-1.6.1]# echo $?
0

編譯和安裝:
[root@dl-001 apr-util-1.6.1]# make && make install

3,安裝httpd

[root@dl-001 src]# cd httpd-2.4.29 
[root@dl-001 httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most

報錯:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/  
說明:需要安裝庫檔案pcre

解決辦法:

[root@dl-001 httpd-2.4.29]# yum list |grep pcre     //檢視相關的包

請根據搜尋的結果安裝下面的包:
[root@dl-001 httpd-2.4.29]# yum install -y pcre-devel

[root@dl-001 httpd--2.4.29]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[root@dl-001 httpd-2.4.29]# echo $?
0

//編譯和安裝

[root@dl-001 httpd-2.4.29]# make


[root@dl-001 httpd-2.4.29]# make install
[root@dl-001 httpd-2.4.29]# echo $?
0

排查錯誤

在原始碼編譯安裝httpd時,./configure執行無錯誤,到make時就報錯

錯誤如下:

...
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 錯誤 1
make[2]: 離開目錄“/usr/local/src/httpd-2.4.28/support”
make[1]: *** [all-recursive] 錯誤 1
make[1]: 離開目錄“/usr/local/src/httpd-2.4.28/support”
make: *** [all-recursive] 錯誤 1

說明:缺少了xml相關的庫,需要安裝libxml2-devel包。直接安裝並不能解決問題,因為httpd呼叫的apr-util已經安裝好了,但是apr-util並沒有libxml2-devel包支援

1.安裝libxml2-devel包
[[email protected] ~]# yum install -y libxml2-devel

2.刪除apr-util安裝目錄,並重新編譯安裝

[root@dl-001 ~]# rm -rf /usr/local/apr-util
[root@dl-001 ~]# cd /usr/local/src/apr-util-1.6.1

# 這一步很重要,必須清除之前配置時的快取
[root@dl-001 apr-util-1.6.1]# make clean

# 原始碼安裝三步走
[root@dl-001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@dl-001 apr-util-1.6.1]# make
[root@dl-001 apr-util-1.6.1]# make install

3.重新編譯安裝httpd

# 同樣要清理之前的快取十分重要
[root@dl-001 src]# cd /usr/local/src/httpd-2.4.28
[root@dl-001 httpd-2.4.29]# make clean
[root@dl-001 httpd-2.4.29]# ./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[root@dl-001 httpd-2.4.29]# make
# 這時make沒報錯了

[root@dl-001 httpd-2.4.29]# make install

4.啟動服務

[[email protected]001 httpd-2.4.29]# cd /usr/local/apache2.4     //切換至Apache2.4目錄
[[email protected]001 apache2.4]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
注:較常用目錄bin(可執行檔案存放目錄)、conf(配置檔案所在目錄)、htdocs(存放一個訪問頁)、logs(日誌檔案存放目錄)、modules(存放擴充套件模組)。 

檢視Apache所載入的模組:
[[email protected]001 apache2.4]# /usr/local/apache2.4/bin/httpd -M 
或者
[[email protected]001 apache2.4]# /usr/local/apache2.4/bin/apachectl -M 

啟動:

[[email protected]001 apache2.4]# /usr/local/apache2.4/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::65d2:adc:20d3:8c74. Set the 'ServerName' directive globally to suppress this message
#此處錯誤提示沒影響。

檢測狀態:
[[email protected]001 apache2.4]# ps aux |grep httpd
root      8090  0.0  0.2 144572  2720 ?        Ss   23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    8091  0.0  0.1 144572  1996 ?        S    23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    8092  0.0  0.1 144572  1996 ?        S    23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    8093  0.0  0.1 144572  1996 ?        S    23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    8094  0.0  0.1 144572  1996 ?        S    23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
daemon    8095  0.0  0.1 144572  1996 ?        S    23:36   0:00 /usr/local/apache2.4/bin/httpd -k start
root      8116  0.0  0.0 112680   972 pts/4    S+   23:38   0:00 grep --color=auto httpd
[[email protected]001 apache2.4]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1181/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1790/master         
tcp6       0      0 :::80                   :::*                    LISTEN      8090/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1181/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1790/master         

相關推薦

LAMP架構——Apache(httpd)-2.4.29原始碼安裝

pache是一個基金會的名字,httpd才是我們要安裝的軟體包,早期它的名字就叫apache,Apache官網www.apache.org 由於httpd2.2和httpd2.4所所使用的Apr庫不同,而且centos7系統自帶的Apr與之不匹配,所以

apache httpd 2.4.3編譯安裝

2012-10-26 周海漢 2012.10.26 前言 新版apache 2.4.3直接configure會報錯,缺了兩個模組apr和pcre,這是需要單獨下載和編譯的。方法和過程如下所示。 下載 [[email&#

手工編譯安裝Apache, 版本httpd-2.4.29(免費提供安裝包,懶人福利;提供安裝腳本)

echo -e abd sel local 使用 ado .tar.gz c++ height 環境部署:本次實驗以redhat6.5系統為安裝對象,(CentOS其他系列也可以)安裝Apache源碼包 httpd-2.4.29.tar.bz2依賴包 pcre-8.41.t

Centos 6 apache httpd 2.4 主要配置詳解

apache 2.4實驗環境:VMware Workstation Pro 14(試用版) 系統平臺: CentOS release 6.9 (Final) 內核 2.6.32-696.el6.x86_64 Server version: Apache/2.4.29 (Unix)

高效能PHP apache httpd 2.4.x使用mod_proxy_fcgi和php-fpm

yum install -y httpd mod_proxy_fcgi 編輯http.conf 在虛擬主機配置php-fpm 代理 ProxyPassMatch^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/do

apache httpd-2.4.18 安裝教程

#下載pcre最新版本的  http://sourceforge.net/projects/pcre/files/pcre/ #下載apr 和 apr-util最新版本(注意,這裡是下載兩個) http://apr.apache.org/download.cgi #下

Centos 6.9 apahce 2.4.29編譯安裝

編譯安裝apache 2.4.29 Centos 6.9 httpd2.4 實驗環境:VMware Workstation Pro 14(試用版) 系統平臺: CentOS release 6.9 (Final) 內核 2.6.32-696.el6.x86_64 1.去官網下

Apache2(httpd-2.4.23)的安裝與基本配置

Linux的版本號是 Ubuntu 16.04 LTS 1.下載原始碼 httpd-2.4.23.tar.gz、apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz、pcre-8.39.tar.gz。 2.原始碼解包 將下載的安裝包複製到某一使用

CentOS 7.4原始碼安裝 Apache HTTP Server(httpd-2.4.35)

CentOS 7.4下原始碼安裝 Apache HTTP Server(httpd-2.4.35) 前提:確保安裝了expat-devel, APR包 (apr-1.6.3.tar.gz 和 apr-util-1.6.1.tar.gz); 用YUM方式安裝expat-devel 和 apr-ut

52、基於httpd-2.4.37、mysql-5.7.24、php-5.6.38原始碼安裝LAMP

1、安裝準備 firewall-cmd --state systemctl stop firewalld firewall-cmd --state systemctl disable firewalld vim /etc/selinux/config  SELINUX=disable

apache編譯安裝 httpd 2.2 httpd 2.4

oca 2.3 出現 目錄 export sco kcon rpm ini #apache編譯安裝#httpd 2.2 , httpd 2.4 #!/bin/sh #apache編譯安裝 #httpd 2.2 , httpd 2.4 #centos #rpm -e

九周第四次課(2月26日) 11.1 LAMP架構介紹 11.2 MySQL、MariaDB介紹 11.3/11.4/11.5 MySQL安裝 擴展 mysql5.5源碼編譯安裝

when image safe x86 lease x86_64 roc use my.cnf 11.1 LAMP架構介紹11.2 MySQL、MariaDB介紹11.3/11.4/11.5 MySQL安裝擴展mysql5.5源碼編譯安裝 http://www.amin

源碼安裝apache 2.4.29

apache 2.4.29安裝 apr apr-until prce 安裝apache的依賴程序。https://www.cnblogs.com/visec479/p/5160297.html [root@Office-test-007113 tools]# wget http://mirrors.shu.

Centos 編譯安裝Apache subversion-1.9.7 + httpd 2.4.32

Subversion HTTPsvn是Subversion的簡稱,是一個開放源代碼的版本控制系統。一、下載安裝Subversion必要的源碼文件Apachewget http://mirrors.shu.edu.cn/apache/httpd/httpd-2.4.32.tar.gzSubversionwge

11.1 LAMP架構介紹 11.2 MySQL、MariaDB介紹 11.3/11.4/11.5

11.1 LAMP架構介紹 11.2 M11.1 LAMP架構介紹即 Linux Apache MySql PHP的簡寫,即把 Apache MySql PHP安裝在Linux系統上,組成一個環境來運行php語言Apache(httpd)和 PHP是一個整體 (PHP是以一個模塊的形式和Apache

CentOS 7.4下源碼安裝 Apache HTTP Server(httpd-2.4.35)

-- pre mir 成功 httpd 來安 ces mos .cn CentOS 7.4下源碼安裝 Apache HTTP Server(httpd-2.4.35) 前提:確保安裝了expat-devel, APR包 (apr-1.6.3.tar.gz 和 apr-ut

http協議--Apache-Httpd服務基本配置-rpm安裝-編譯安裝(HTTP2.2,HTTP2.4

超文本標記語言 cookie信息 multiview 異步 表達 tp服務器 The 計算 改變 socket: OSI七層: 上三層:用戶空間 下四層:通信子網,內核空間 ip:主機到主機通信 M

ApacheHTTPD 2.4.37 + OpenSSL 1.1.1 企業級安全配置(含TLS修復)

我為什麼要寫這一篇稿子? 為了避免更多的運維、開發者沒能實現企業的資訊保安,我將共享出我個人的HTTPD的安全修復(2.2和2.4差不太多就看2.4就好)   起因:我為某M工作,但因某M和testin合作,結果他們跑個指令碼在安全上檢測到 SlowHTTPDenialofServi

CentOS 7.4編譯安裝Apache 2.4.29

Apache2.4.29依賴包: apr-1.6.3.tar.gz    下載:wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.3.tar.gz apr-util-1.6.1.tar.gz  下載