Ubuntu 16.04.4下安裝apache服務


 Ubuntu 16.04.4下安裝apache服務:

 

一、首先,准備需要的預裝環境

需要c++,make,gcc,apr  apr-util  pcre。(如果后面報錯缺少什么組件,可以百度搜方法。有報錯就是是學習的開始。)

插入一個小姿勢:#echo $?   這個命令是檢測報錯的,返回值若是0,表明沒有報錯,否則就是報錯。

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

i、剛裝好的Ubuntu系統中已經有GCC了,但是這個GCC什么文件都不能編譯,因為沒有一些必須的頭文件,所以要安裝build-essential這個軟件包,

    安裝了這個包會自動安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必須的軟件和頭文件的庫。

    安裝所需要的軟件包:

    sudo apt-get install build-essential

ii、安裝 Ubuntu Make

    $sudo apt-get update

    $sudo apt-get install ubuntu-make

iii、apache同時依賴apr  apr-util  pcre。

      apr-util依賴apr。

      所以安裝順序是apr,apr-util,pcre(這個只要在apache之前裝就好),apache。

 

 

正戲開始:

1、下載pcre正則庫:https://ftp.pcre.org/pub/pcre/ 

 

 

2、下載apr:http://apr.apache.org/download.cgi

 

 

 

3、下載apr-util:http://apr.apache.org/download.cgi

 

 

 

4、下好后在SSH端輸入rz命令將壓縮包文件放在工作需要的目錄下,並解壓至此,我的是/app。

 1 root@ubuntu:~# cd /app
 2 root@ubuntu:/app# rz
 3 
 4  
 5 
 6 root@ubuntu:/app# tar zxvf apr-1.6.3.tar.gz
 7 root@ubuntu:/app# tar zxvf apr-util-1.6.1.tar.gz
 8 root@ubuntu:/app# tar zxvf pcre-8.00.tar.gz
 9 
10  
11 
12 root@ubuntu:/app# ls (檢查一下) 13 apr-1.6.3  apr-1.6.3.tar.gz  apr-util-1.6.1  apr-util-1.6.1.tar.gz  httpd-2.4.33  httpd-2.4.33.tar.gz  pcre-8.00  pcre-8.00.tar.gz 

 

 

5、然后一個一個進行編譯安裝:

PS: linux編譯安裝的步驟:配置(configure)、編譯(make)、安裝(make install)

①  cd到源碼版壓縮包解壓后的目錄。

      i、如果不是源碼版壓縮包解壓后的目錄,會出現-bash: ./configure: No such file or directory的報錯,因為沒有 ./configure的路徑。

      ii、之前一直犯這個錯誤就是下的是二進制(可直接安裝)的包,在這個包目錄下./configure一直報錯,就這個原因。

  運行此命令:./configure --prefix=/app/apr 

      i、./configure是源代碼安裝的第一步,主要的作用是對即將安裝的軟件進行配置,檢查當前的環境是否滿足要安裝軟件的依賴關系,但並不是所有的tar包都是源代碼的包。

      ii、划重點:注意你下的包是不是源碼包!!!

      iii、 ./configure --prefix=:指定安裝路徑。若不指定prefix,則可執行文件默認放在/usr /local/bin,庫文件默認放在/usr/local/lib,配置文件默認放在/usr/local/etc。其它的資源文件放在/usr /local/share。

③  運行:make && make install 命令 (Make:編譯程序。最好分開執行。)

eg:

需要注意的是:

******配置apr-util的時候需要依賴前面的apr,所以是先裝apr,再裝apr-util,再裝apache(apache同時依賴apr  apr-util  pcre)。

 

①  編譯安裝pcre:

root@ubuntu:/app/pcre-8.00# ./configure --prefix=/opt/pcre
root@ubuntu:/app/pcre-8.00# make 
root@ubuntu:/app/pcre-8.00# make install

②  編譯安裝apr(其實不用安裝,后面說明原因,但學的時候先了解apache依賴環境!)

root@ubuntu:/app# cd apr-1.6.3

root@ubuntu:/app/apr-1.6.3# ./configure --prefix=/opt/apr (--prefix=后面是接你要安裝服務的目錄,我們公司是/opt這個目錄。apr對應apr-1.6.3。后面還有apr-util,pcre,apache目錄)

root@ubuntu:/app/apr-1.6.3# make
root@ubuntu:/app/apr-1.6.3# make install

③  編譯安裝apr-util:(其實不用安裝,后面說明原因,但學的時候先了解apache依賴環境!)

root@ubuntu:/app/apr-util-1.6.1# ./configure --prefix=/opt/apr-util --wiht-apr=/opt/apr (注意,apr-util依賴apr

root@ubuntu:/app/apr-util-1.6.1# make
root@ubuntu:/app/apr-util-1.6.1# make install

  編譯安裝apache:(把下載下來到apr和apr-util解壓到srclib目錄下到apr和apr-util目錄,注意目錄名字要一致。不這樣會報錯,后面解釋。

root@ubuntu:/app/httpd-2.4.33# ./configure --prefix=/opt/apache --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre/opt/pcre (注意:apache同時依賴apr  apr-util  pcre
root@ubuntu:/app/httpd-2.4.33# make 
root@ubuntu:/app/httpd-2.4.33# make install

 

 

Notic: 解釋為什么前面其實不需要安裝apr和apr-util:

到現在按照官方文檔的說明應該就已經安裝好了,但是我到make這步就報錯了

collect2: error: ld returned 1 exit status
Makefile:48: recipe for target 'htpasswd' failed
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory '/etc/httpd-2.4.27/support'
/etc/httpd-2.4.27/build/rules.mk:75: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/etc/httpd-2.4.27/support'
/etc/httpd-2.4.27/build/rules.mk:75: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

這個錯誤是因為在httpd目錄下的srclib目錄里面沒有apr和apr-util所導致的,但是./configure又不會報錯,到make才會報錯,

所以把下載下來到apr和apr-util解壓到srclib目錄下到apr和apr-util目錄,注意目錄名字要一致。

這就是之前說的不用安裝apr和apr-util的原因,它會自動安裝,手動安裝后去指定安裝路徑是會報錯的。重新生成make文件和make。

 sudo ./configure --with-prce=/opt/pcre --with-included-apr    #其他參數請參照官方

sudo make
sudo make install

 

 
 
 
 
 
 
 

 6、啟動apache服務:

i、到/opt/apache/bin目錄下,執行命令./httpd,再用ps aus| grep httpd命令檢測服務端口是否開啟。

 

ii、ubuntu下啟動,重啟,停止apache服務:

1、啟動aoache服務

     start apache 2 server

     sudo /etc/init.d/apache2 start

2、重啟apache服務

     restart apache 2 Server

     sudo /etc/init.d/apache2 restart

3、停止apache服務

     stop apache 2 server

     sudo /etc/init.d/apache2 stop

 _______________________________

注:a、這里的sudo可要可不要.

      b、假設系統中安裝了nginx和apache服務器,訪問127.0.0.1打開的服務器是nginx時,如果你不想用這個服務器,

            而是apache時,就應當先關閉nginx服務器:sudo /etc/init.d/nginx stop  再開啟apache服務器: sudo /etc/init.d/apache2 start .

      c、當一個系統中安裝了多個服務器時,這種命令寫法只能生效一次,下次在啟動系統時,還得重新運行上面的命令,如果想要永久性的只開啟apache服務,則必須在文件中去設置。

 

 

 

知識擴展:

1、apache目錄

 bin:二進制執行文件-->httpd

conf:配置文件

logs:日志文件

 2、本地ip:

127.0.0.1 :只有本機可以訪問(ip協議)。

0.0.0.0  :局域網中訪問ip也行。

localhost:只有本機可以訪問(多種協議)。

3、命令擴展:

ps命令:ps aux| grep httpd 查看httpd服務狀態。

pkill -9 進程名 :強制殺掉某進程。

tcp端口:netstat命令:netstat -lntp| grep 80 監聽80端口狀態。(在apache-conf配置文件中severname后面會顯示服務端口)。

curl命令:

curl ipinfo.io :查詢公網出口ip:

curl ip地址 :直接在curl命令后加上網址,就可以看到網頁源碼。

4、apache修改根目錄:

修改/opt/apache/htdocs下的index.html文件。

 

這是公司ubuntu上安裝apache全過程!^_^

 


免責聲明!

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



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