天天看點

ubuntu上安裝apache及簡單配置

昨天在ubuntu10.10上安裝了apache,為了在下次重裝系統時不至于東拔西找,這裡記錄下來大緻的過程。

1. 安裝

因為ubuntu提供了強大的apt-get install,是以我的安裝過程就是以apt-get的方式完成的。這種安全過程對于新手來說比較友善快捷,但也有其不便的地方,即一開始可能會不知道軟體被安裝到了什麼位置(這個問題可以通過其他指令來解決)。

安裝指令:sudo apt-get install apache2
           

上面一句簡單的指令就能讓系統自動完成apache的安全了,這裡安裝的是apache2。如果你不知道後面的軟體名是什麼的話,可以在輸入完"sudo apt-get install apache"後按下Tab鍵,然後Terminal上會輸出可選的軟體項,這樣就可以選擇自己要安裝的目标了。

2. 安裝後查找軟體位置

按照步驟1安裝完apache後,很多情況下我們想去知道我們把系統裝在了什麼地方,這裡可以使用指令:locate來完成。locate的作用是用來查找文檔的,其格式為:locate 檔案名。是以對于查找apache2來說,最簡單的指令就是:

locate apache2
           

但通過這種方式查找會搜尋出太多的内容,以至于我們不清楚apache到底裝在了哪個目錄下,這就要靠自己來辨識了。如果我們對apache有更多一點了解的話,我們知道apache2有個檔案叫httpd.conf,通過locate httpd.conf來查找就會精确很多。

關于locate的說明,可以在Terminal中通過man locate來學習,也可以到網上查找資料。

3. 配置apache

通過上面的步驟,我們已經安裝好了apache2,并找到了其目錄:/etc/apache2,現在就詳細說一下這個目錄下有哪些内容。進入/etc/apache2目錄後,我們發現主要有以下檔案和目錄:

檔案:

apache2.conf:這個是apache的主配置檔案,包含了用于給apache server傳遞資訊的配置指令。此檔案中通過Include指令包含了其他的配置檔案,如下:

由這些所包含的檔案或目錄大概可看出一些相關的配置所在的位置以及下面一些檔案的作用。

envvars:對于apache2ctl指令的預設環境配置資訊

httpd.conf:預設此檔案為空,用于儲存一些使用者自定義的配置資訊

magic:本檔案中配置了判斷檔案的MIME類型的資訊

ports.conf:包含端口清單配置資訊

目錄:

conf.d:此目錄中包含了很多通用性的apache配置資訊,包括字元集(charset)、錯誤頁配置(localized-error-pages)、安全方面配置(security)、其他主機通路日志資訊等(other-vhosts-access-log)

mods-available:這個目錄中包含了所有apache2中預設提供的module資訊,例如proxy、rewrite.load等。但很多module預設并未開啟,是以此目錄下的資訊是所有可用module的集合;而目前開啟了的module則需要從mods-enabled中檢視。

mods-enabled:該目錄中包含了已開啟的module資訊。所謂開啟,并不需要特殊的設定,隻需要建立到mods-avaliable目錄中相應module的軟連結即可。如要開啟rewrite子產品,隻需要在mods-enabled中建立相應的軟連結,如下:

ln -s ../mods-avaliable/rewrite.load rewrite.load
           

sites-available:類似于mods-available,這裡放的是可用的virtualHost設定資訊,當然真正有效的話,還需要通過在sites-enabled中建立軟連結才可以。

sites-enabled:

附:一個自定義的使用者配置檔案(httpd.conf)

<VirtualHost *:80>
        DocumentRoot /home/enjiex/nuc/apachetest/wwwroot     #虛拟主機目錄

       <Directory /home/enjiex/nuc/apachetest/wwwroot>
         Order allow,deny
         Allow from all
       </Directory>


        RewriteEngine on
        RewriteRule /apachetest/(.*) /$1 [R,L]

        ProxyPreserveHost On
        ProxyPass /apachetest !

        ProxyPassReverse / http://127.0.0.1:8080/apachetest/

        DirectoryIndex index.html
                                                              1,1          頂端
	RewriteRule ^/$ http://127.0.0.1:8080/apachetest/index.html [P,L]
        RewriteRule /(.*\.(php|html|do)$) http://127.0.0.1:8080/apachetest/$1 [P,L]
        RewriteRule /(dtc.*) http://127.0.0.1:8080/apachetest/$1 [P,L]
</VirtualHost>

Listen 8079
<VirtualHost *:8079>
        ProxyPass / http://127.0.0.1:8080/comapi/
        ProxyPassReverse / http://127.0.0.1:8080/comapi/
</VirtualHost>

Listen 9999
<VirtualHost *:9999>
        ProxyPass / http://127.0.0.1:8080/test/
        ProxyPassReverse / http://127.0.0.1:8080/test/
</VirtualHost>
           

注意:上面的配置需要開啟proxy、proxy_http和rewrite模闆,不然會啟動apache失敗的。4 apache2的啟動與停止

預設情況下,安裝完成apache後是預設啟動的,但我們有時候需要手動去開啟或停止apache服務。啟動指令在/etc/init.d/目錄中,指令如下:

更詳細的資訊,就需要去查詢apache的配置手冊了