apache2.4.27編譯安裝
#apache 2.4編譯安裝#
第1步:安裝gcc編譯器。
yum install -y gcc gcc-c++ openssl-devel pcre pcre-devel
說明:openssl-devel是讓apache支持ssl安全套接字功能。
因為rewirte重寫功能需要pcre-devel支持。所以要安裝pcre和pcre-devel軟件。
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。pcre來解決C語言中使用正則表達式的問題。
或者下載pcre,編譯安裝
tar zxvf pcre-8.31.tar.gz
cd pcre-8.31
./configure && make && make install
說明:默認安裝在/usr/local/目錄中。
第2步:準備軟件包。
從http://httpd.apache.org下載最新的httpd、apr、apr-util,然後解壓縮。
tar zxvf apr-1.5.1.tar.gz
tar zxvf apr-util-1.5.4.tar.gz
tar zxvf httpd-2.4.27.tar.gz
由於現在最新的httpd-2.4都需要apr、apr-util。
APR功能:(Apache portableRun-timelibraries,Apache可移植運行庫)的目的如其名稱一樣,主要為上層的應用程序提供一個可以跨越多操作系統平臺使用的底層支持接口庫。
方法一:插入方法安裝
說明:插入方法安裝(即內嵌apr軟件包),在編譯httpd-2.4.7的同時編譯安裝apr軟件。
mv apr-1.5.1 httpd-2.4.27/srclib/apr
mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util
cd httpd-2.4.27
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/apache2/conf/ --with-inculded-apr --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mpms-shared=all
方法二:一步一步安裝
共有a、b、c三個步驟。
a.編譯安裝apr
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make && make install
b.編譯安裝apr-util
apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
c.編譯安裝httpd
[[email protected] ~]# cd httpd-2.4.27
[[email protected] httpd-2.4.7]# ./configure \
prefix=/usr/local/apache2 \
sysconfdir=/etc/apache2/conf \
enable-so \
enable-rewirte \
enable-ssl \
enable-cgi \
enable-cgid \
enable-modules=most \
enable-modules-shared=most \
enable-mpms-shared=all \
with-apr=/usr/local/apr \
with-apr-util=/usr/local/apr-util
--prefix=/usr/local/apache2 :指定安裝目標路徑
--sysconfdir=/etc/apache2/conf :指定配置文件安裝位置
--enable-so :支持動態共享模塊,如果沒有這個模塊PHP將無法與apache結合工作
--enable-rewirte :支持URL重寫
--enable-ssl :啟用支持ssl
--enable-cgi :啟用支持cgi
--enable-cgid :啟用支持帶線狀圖形的CGI腳本 MPMs
--enable-modules=most :安裝大多數模塊
--enable-modules-shared=most :安裝大多數共享模塊
--enable-mpms-shared=all :支持全部多道處理方式
--with-apr=/usr/local/apr :指定apr路徑
--with-apr-util=/usr/local/apr-util :指定apr-util路徑
配置完成後,編譯並安裝:
[[email protected] httpd-2.4.7]# make && make install
編譯安裝後的文件結構:
1、主配置文件:/etc/apache2/conf/httpd.conf
2、命令和腳本目錄:/usr/local/apache2/bin
3、默認網站的主頁:/usr/local/apache2/htdocs/index.html
4、網頁版幫助手冊:/usr/local/apache2/manual/index.html
5、man手冊:/usr/local/apache2/man
6、擴展功能配置文件目錄:/etc/apache2/conf/extra/ 目錄中的配置文件如下
httpd-vhosts.conf 虛擬主機配置文件
httpd-default.conf 默認設置配置文件
httpd-userdir.conf 用戶家目錄主頁功能配置文件(類似於QQ空間)
httpd-mpm.conf 工作模式配置文件(進程模式、線程模式的參數)
httpd-manual.conf 幫助手冊配置文件
httpd-ssl.conf ssl安全套接字配置文件
httpd-languages.conf 語言配置文件
httpd-autoindex.conf 自動索引配置文件
第3步:修改httpd.conf配置文件。
說明:需要修改2處。
1.修改/etc/hosts,增加一行
127.0.0.1 apserver www.example.com
2.修改 /etc/apache2/conf/httpd.conf 修改如下代碼
User apache //進程的屬主(170行)。找到此行,將daemon改成apache。
Group apache //進程的屬組(171行)。找到此行,將daemon改成apache
ServerName www.example.com:80 //網站的域名(201行)。找到此行,並啟用此行
註意:1、apserver、www.example.com都是主機名稱。
2、如果不啟用ServerName這行,啟動服務時將會有警告,可能導致apache服務無法正常啟動。
第4步:手動啟動服務:
cd /usr/local/apache2/bin
ls
./apachectl start //啟動apache服務,apachectl是個腳本文件
./apachectl stop //停止apache服務
./apachectl status //查看apache服務狀態
查進程狀態:ps aux|grep httpd
查端口狀態:ss -atunlp|grep :80 或 netstat -atunlp|grep :80 或 lsof -i:80
第5步:配置apache的環境變量:
1、編輯環境變量文件。
vi /etc/profile 添加如下內容
PATH="$PATH:/usr/local/apache2/bin"
2、加載環境變量文件。
source /etc/profile
3、手動啟動服務測試:
說明:添加了新的PATH環境變量後,可以在任何目錄中運行腳本。
cd
apachectl stop
apachectl start
第6步:配置啟動腳本:(首選)
方法一:用編譯安裝後的腳本文件設置開機啟動(首選)
1、準備啟動腳本文件:
cd /usr/local/apache2/bin
cp -pv apachectl /etc/init.d/apache
vi /etc/init.d/apache 修改如下內容
#!/bin/sh //找到此行,並添加下一行內容
# chkconfig: - 85 15 //允許用chkconfig管理
#上行的-減號是控制默認的運行級別(默認為2 ~5),85為開機啟動文件名S85apache的序號,15是開機不啟動的文件名K15apache中的序號。啟動文件路徑:ls /etc/rc.d/rc3.d/S85apache。
2、設置為開機啟動,並驗證
chmod +x /etc/init.d/apache //添加x可執行權限
chkconfig apache on //設為開機啟動
chkconfig apache --list //查看開機啟動設置狀態
service apache stop // 停止apache服務
service apache start // 啟動apache服務
查端口狀態:netstat -atunlp|grep :80
本地測試網站的訪問:curl 127.0.0.1
3、(選做,可不做)給apache相關的文件和目錄創建軟鏈接。
[email protected] httpd-2.4.7]# cd /usr/sbin/
[[email protected] sbin]# ln -s /usr/local/apache2/bin/* ./
為日誌文件創建軟鏈接
[[email protected] sbin]# ln -s /usr/local/apache2/logs /var/log/apache
到此,apache-2.4.27編譯安裝和配置實驗完畢。
------------------------------------------------
方法二:配置啟動腳本:
[[email protected] httpd-2.4.7]# cp build/rpm/httpd.init /etc/init.d/apache //使用init腳本管理httpd
[[email protected] httpd-2.4.7]# vim /etc/init.d/apache
httpd=${HTTPD-/usr/sbin/httpd} 修改成 httpd=${HTTPD-/usr/local/apache2/bin/httpd}
pidfile=${PIDFILE-/var/run/${prog}.pid} 修改成pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid}
lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
RETVAL=0
# check for 1.3 configuration
check13 () {
CONFFILE=/etc/apache2/conf/httpd.conf 修改成CONFFILE=/etc/apache2/conf/httpd.conf
[[email protected] httpd-2.4.7]# chmod 755 /etc/init.d/apache //增加執行權限
[[email protected] httpd-2.4.7]# chkconfig apache on //設置apache到服務開機啟動
[[email protected] httpd-2.4.7]# chkconfig apache --list //查看apache開機設置狀態
[email protected] httpd-2.4.7]# cd /usr/sbin/
[[email protected] sbin]# ln -s /usr/local/apache2/bin/* ./
為日誌文件創建軟鏈接
[[email protected] sbin]# ln -s /usr/local/apache2/logs /var/log/apache
如果啟動httpd的時候出現
Starting httpd: AH00557: httpd: apr_sockaddr_info_get() failed for apserver
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress this message
[ OK ]
則需要修改2處:
1.修改/etc/hosts,增加一行
127.0.0.1 apserver
2.修改 /etc/apache2/conf/httpd.conf,在最後增加一行
ServerName apserver
註意:apserver為機器名稱
""
apache2.4.27編譯安裝