ubuntu下配置php伺服器環境

WBOY
發布: 2016-07-25 08:54:13
原創
978 人瀏覽過
複製代碼
  1. $sudoapt-getinstallapache2
複製程式碼

然後,執行apache: $sudo/etc/init.d/apache2restart

apache在安裝期間將會新建一個目錄:/var/www,該目錄是該伺服器中存放文件的根目錄。 只要在瀏覽器的網址列輸入http://localhost/或機器的ip位址就能存取放置在此目錄中的所有文件。

二、安裝php伺服器配置 安裝方法也很簡單:

  1. $sudo apt-getinstalllibapache2-mod-php5
複製程式碼

$sudo /etc/init.d/apache2restart
  1. 複製代碼
為了驗證php模組是否正確加載,我們可以建立一個php文件,然後嘗試透過網頁伺服器存取該文件。此外,我們知道php內建了一個phpinfo函數,該函數能夠給出它的環境的詳細資訊。所以我們也可以利用下面的指令來檢查php的工作狀況:

sudo sh-c"echo''>/var/www/info.php"
  1. 複製程式碼
之後,在瀏覽器網址列鍵入http://localhost/info.php,然後回車,這時應該能看到一個顏面,給出剛才安裝的php的詳細資訊。要注意的是,如果在此過程中瀏覽器不顯示頁面,而是提示你下載文件,這表示apache沒有正確載入php模組。解決問題的方法是,在/etc/apache2/apache2.conf或/etc/apache2/mods-enabled/php5.conf檔案中加入下面一行指令: addtypeapplication/x-httpd-php.php.phtml.php3
加入上面的命令列後,為了確保apache重新讀取設定檔關閉,可以透過下面的命令將其關閉,然後再加以啟動:

$sudo /etc/init.d/apache2stop
    $sudo /etc/init.d/apache2start

三、設定動態虛擬主機 一般情況下,我們會在web伺服器上寄放多個web站點,並且每個站點都有它自己的虛擬伺服器。對於apache來說,它同時支援基於名稱的虛擬伺服器和基於ip的伺服器。

對於基於ip的虛擬伺服器,每個網站都有一個單獨的ip位址,這樣的缺點是使用太多的ip位址,但如今ipv4的位址已有枯竭的跡象,所以不提倡使用,通常在要求使用ssl時才使用。

對於基於名稱的虛擬伺服器,多個web站點共用一個ip位址。在這種情況下,通常根據http請求頭部來決定將其發送給哪個網站。為此,我們需要為每個虛擬伺服器分別建立一個配置,為作為web站點的根的目錄以及主機命名。但是,如果這樣的話我們每當新增一個新的虛擬伺服器時,就要修改apache的配置並重新啟動,這的確很煩人呢!

值得高興的是,如果使用動態虛擬主機技術的話,可以隨時加入虛擬主機時而不必重新配置或啟動apache。該技術要用到一個模組,稱為vhost_alias。我們可以透過在apache2已啟用的模組目錄中建立符號連結來啟用該模組,命令如下所示:
  1. $sudo ln-s/etc/apache2/mods-available/vhost_alias.load
/etc/apache2/hosts-enabled/modhosts-enabled/load_alias.
複製程式碼

要想使vhost_alias正常運作,還需要修改/etc/apache2/apache2.conf來關閉一般名稱(canonicalnames),修改日誌檔案的配置,並為虛擬主機規定存放位置。

實例:
  1. #從"host:"頭中取得主機名稱
  2. usecanonicalnameoff
  3. #這種日誌格式可以從第一個欄位中提取出主機名稱
  4. logformat"%v%h%l%u%t"%r"%s%b"vcommon
  5. customlog/var/log/apache2/access_logvcommon
  6. #在傳回要求的檔案名稱路徑中包含主機名稱
  7. virtualdocumentroot/var/www/vhosts/%0/web
virtualscriptalias/var/www/vhosts/%0/cgi-bin
複製代碼

接下來,建立存放虛擬主機的目錄,指令如下:
$sudo mkdir/var/www/vhosts
複製代碼
複製代碼

新建一個基幹虛擬伺服器,指令如下圖所示:

  1. $sudo mkdir-p/var/www/vhosts/skeleton/cgi-bin
  2. $sudo cp-a/var/www/apache2- default/var/www/vhosts/skeleton/web
複製程式碼

重新啟動apache2,使得上面的設定生效,方法如下所示:

  1. $sudo /etc/init.d/apache2restart
複製程式碼

複製程式碼
好了🎜>
    複製程式碼
  1. 好了,現在我們可以建立基於名稱的虛擬主機了。方法是將基幹拷貝到要回應的主機名稱。 舉例來說,要為bbs.it-home.org新建一個虛擬伺服器的話,只要執行下面的指令就行了:
$sudo cp-a/var/www/vhosts/skeleton/var/www/vhosts/

bbs.it-home.org

現在,所有到達你的apache伺服器的http連線中,只要其「host:」頭部被設為bbs.it-home.org,那麼將由對應的虛擬伺服器來回應。 為了早點看到我們的勞動成果,可以在本地進行測試。為此編輯/etc/hosts,加入下面一項: 127.0.0.1 bbs.it-home.org 這樣,在本機上就能造訪該網站了。 但是,為了讓所有使用者都能存取虛擬主機,還需申請域名,並且還需要在公共dns伺服器上進行設定。


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!