怎麼解決Linux下編譯安裝Apache報APR not found

2020-07-16 10:05:34
本篇文章中主要講述的是解決Linux下編譯安裝Apache報APR not found辦法,具有一定參考價值感興趣的朋友可以了解一下。

我在編譯安裝完Nginx、MySQL和PHP(見之前一篇部落格:LNMP環境搭建詳細教學)之後,進行apache的編譯安裝:

cd usrlocalmirror..edu.cnapachehttpdhttpd...configure

就在這個時候提示:configure: error: APR not found. Please read the documentation.
這說明缺少APR依賴,那麼安裝即可,可以用yum安裝但是不推薦,因為yum安裝的APR版本可能不足以支援你所安裝的apache版本,所以還是要用編譯安裝高版本的APR:

cd /usr/local/src
wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz

依次下載上述兩個安裝包並逐個解壓縮:

tar zxvf apr-1.6.3.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
cd/usr/local/src/apr-1.6.3 #安裝apr
./configure --prefix=/usr/local/apr make && make install
cd /usr/local/src/apr-util-1.6.1  #安裝apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr   
make && make install

依賴全部安裝完畢後再次切換到httpd的安裝目錄安裝apache:

cd usrlocalsrchttpd.make && make install

到此安裝成功,想要啟動、停止、重新啟動apache需要用到命令:

usrlocalhttpdbinhttpd usrlocalhttpdbinhttpd usrlocalhttpdbinhttpd k restart ##重新啟動

這裡我在重新啟動的時候就報了之前一篇部落格:LNMP環境搭建詳細教學中講述的一個錯誤:

bind() to 0.0.0.0:80 failed (98: Address already in use)

這是因為我之前安裝了nginx已經佔用了80埠並且正在執行埠發生衝突,

所以就需要修改httpd的埠號,組態檔位置/usr/local/httpd/conf/httpd.conf:

vim /usr/local/httpd/conf/httpd.conf

搜尋Listen 80將其改為Listen 8080(修改的埠號可以隨便定義,範圍是0~65535,其中0沒有任何意義,也可以理解為1~65535),重新啟動httpd提示新的錯誤:Could not reliably determine the server's fully qualified domain name,

這是因為httpd.conf中ServerName未修改,搜尋ServerName,將其改為:ServerName localhost:8080之後再次重新啟動錯誤消失,檢視一下正在執行的服務:

ps:上述安裝的依賴版本並不是固定的,在安裝的時候最好到官網看一下文件說明,選用高階的版本,比如用apr-1.3.*的版本,用來編譯安裝httpd-2.4.*的apache的時候就編譯不了了

相關教學:

PHP視訊教學

Linux視訊教學

以上就是怎麼解決Linux下編譯安裝Apache報APR not found的詳細內容,更多請關注TW511.COM其它相關文章!