Linux 源碼安裝apache 與常見錯誤解決


文檔原位置

一、編譯安裝apache

  1、解決依賴關系

  httpd-2.4.4需要較新版本的apr和apr-util,因此需要事先對其進行升級。

  升級方式有兩種,一種是通過源代碼編譯安裝,一種是直接升級rpm包(謹慎!小心)。下面是使用源代碼的方式行,它們的下載路徑為:(~_~)這里不再說到那里下載了,相信你有能力找的到的,呵呵

  2、安裝依賴的軟件包(當然這里可以認為成需要的編譯環境咯!)

  yum -y install pcre-devel

  yum -y install  "Development Libraries"(這個東西可能系統已經有了,不過要小心一點,最好試一下看看是否安裝了)

  3、一切准備好了那就開始安裝吧!!

  

(1) 編譯安裝apr

 tar xf apr-1.4.6.tar.bz2
 cd apr-1.4.6
 ./configure --prefix=/usr/local/apr
 make && make install

 

(2) 編譯安裝apr-util

 tar xf apr-util-1.5.2.tar.bz2
 cd apr-util-1.5.2
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
 make && make install

 

(3)編譯安裝httpd-2.4.4

tar xf httpd-2.4.4.tar.bz2
cd httpd-2.4.4
 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=most --with-mpm=event
make && make install

 二、測試

  1、啟動apache時注意問題:

  啟動前需要注意,應該先進行SELinux關閉,如果沒有關閉的話apache可能不能正常的工作,好有一點就是關於iptables(防火牆)的問題,建議測試階段先進行關閉。

  2、啟動apache服務:

  # setenforce 0

  # service iptables stop

  # /usr/local/apache/bin/apachectl start

  打開瀏覽器輸入本機ip看是否有頁面刷新出來,並顯示 

  It works!

  那么apache服務可以簡單的工作了!

  要想有更多的功能那只能修改httpd.conf這個配置文件啦!!(這里就先不介紹了)

 三、一些關於apache文件目錄的問題

  1、用RPM安裝后的Apache配置文件具體位置:

    /etc/httpd/ -------------------------- Apache服務程序根目錄

    /etc/httpd/conf/httpd.conf --------- 主配置文件

    /var/www/html --------------------- 網頁文檔默認根目錄

    /var/log/httpd/error_log ---------- 錯誤日志文件

    /var/log/httpd/access_log -------- 訪問日志文件

  2、源碼安裝的目錄文件(因為編譯是文件目錄不定所以就簡單的寫一下了):

    主配置文件---------------------- 編譯時自己指定的目錄--prefix=配置文件的路徑

    默認網頁目錄 ------------------- 安裝apache目錄下的htdocs目錄

    日志文件位置 ------------------- 安裝apache目錄下的logs目錄

    apache服務程序的目錄----------安裝apache目錄下的bin目錄 

四、常見錯誤

  #1#

  /usr/local/apache/bin/httpd: symbol lookup error: /usr/local/apache/bin/httpd:   undefined symbol: apr_pool_pre_cleanup_register

 

原因:未找到正確的apr,apr-util路徑
解決:要重新安裝apr,apr-util,並且寫出正確文件路徑。
  --with-apr=/usr/local/bin/apr-1-config \
  --with-apr-util=/usr/local/apr/bin/apu-1-config   

  #2#

  httpd: apr_sockaddr_info_get() failed for redhat
  httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

 原因:httpd.conf配置文件中ServerName 與主機不一致導致

 解決:修改配置httpd.conf文件中#ServerName 即可

  #3# 

  httpd: Syntax error on line 142 of /usr/local/apache/conf/httpd.conf: Cannot load modules/mod_dir.so into server: /usr/local/apache/modules/mod_dir.so: undefined symbol: apr_array_clear

 原因:不能加載mod_dir.so模塊(具體不詳)

 解決:方式如下

    tar -zxvf apr-1.4.6.tar.gz
    tar -zxvf apr-util-1.5.2.tar.gz
    mv ./apr-1.4.6 /usr/local/src/apache/srclib/apr   
    mv ./apr-util-1.5.2 /usr/local/src/srclib/apr-util 
    ./configure 時,后面添加
        --with-included-apr \
        --with-pcre=/usr/local/bin/pcre-config(自己安裝的pcre路徑)
  #4#
   MPM most does not support dynamic loading.

   解決:--enable-mpms-shared=all

   #5#
   rm: cannot remove `libtoolT': No such file or directory

  解決:

    Vim configure

    把 $RM “$cfgfile” 那行注釋掉  

  由於不是一下寫好,且前面的內容沒有具體的修改,因此帶來的不便望諒解!!!  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM