2011-12-08 30 views
1

我想設置一個基本的Apache 2 Web服務器只是爲了測試目的。我在Ubuntu 11.10上安裝了apache 2。我可以通過瀏覽器中的「localhost」訪問web服務器上的根目錄。這全部位於默認目錄:/ var/www。但是,每當我嘗試訪問我的web服務器的子目錄時,問題就會開始。所以,例如,如果我轉到了「localhost/phpproject /」,其中列出了一個index.php文件(並且我測試了確保PHP正常工作),但它似乎想在我的瀏覽器中進行嘗試在我輸入地址時下載文件而不是實際顯示任何內容。Apache webserver子目錄不加載

我甚至試圖給予子目錄的完全權限,以確保它不只是一個權限相關的問題。有任何想法嗎?

+0

您是如何安裝Apache/PHP以及如何測試PHP的? – apesa

+0

我使用了sudo apt-get install lamp-server ^方法 – TMGunter

+0

另一件事是我也嘗試過一個HTML文件,它也不會加載;這意味着它可能不是一個PHP問題 – TMGunter

回答

0

確保您正確安裝了PHP並在您的apache配置中註冊了PHP。

本手冊應詳細說明所需的安裝步驟。

1

首先,您不應該將開發文件保存在/ var/www文件夾中。配置您的Apache以保持您的Web文件在您的主目錄中。這樣做,您不必具有sudo權限即可編輯/ var/www中的文件。如果你想按照我的設置,在你的個人文件夾/ home/yourname/www中創建一個名爲www的目錄。看看我的配置在/ etc/apache2的/網站啓用/ 000-默認

http://pastebin.com/3gcE59Lh

它的工作原理爲我好。

如果你改變你的配置是這樣,一定要重新啓動Apache [須藤服務的Apache2重啓]

+0

不是最好的解決方案,雖然它爲我工作... – Girardi

0

在Ubuntu你應該安裝使用中的tasksel在CL的LAMP選項。這將爲您提供Apache,MySQL和PHP全部一起工作。這聽起來像你可能已經安裝了他們分離,並沒有正確配置PHP。 MIME類型決定了處理特定文件類型的服務器。

[email protected]$ sudo tasksel 

按照提示

編輯:

我們用來做httpd.conf中的所有配置的變化。如果你使用包管理器,就像你做的那樣,你將擁有一個分佈式配置環境。你將需要去啓用etc/apache2/mods並查看php.conf文件。裏面有方向。這聽起來像你需要確保Web服務器瞭解目錄和FS位置。看看@Chrispy的例子。你不會使用第一行,因爲你的env中的php模塊是通過php.load加載的,配置是在php.conf中完成的。該AddType指令很重要,並告訴服務器執行您的文件而不是提供它。看一看。順便說一下,Apache項目支持URL最好的列表服務器之一:http://httpd.apache.org/userslist.html

+0

@Mahbub對文件夾路徑指令的建議是很好的建議,但不會解決你的PHP問題 – apesa

+0

PHP在主要工作正常WWW目錄雖然,因爲我有一個PHP文件加載得很好。 – TMGunter

+0

如果您使用軟件包管理進行安裝,那麼您應該使用已啓用網站並啓用了Mods。在這兩個文件夾中查找etc/apache2。在Mods Enabled中打開php5.conf文件並確保已將其設置爲在用戶和子視圖中啓用。你應該有一個0kb的httpd.conf文件,因爲這些指令現在分發了,httpd.conf中的唯一指令是你自定義的指令 – apesa

1

確保您正確安裝了PHP並在您的Apache配置中註冊了PHP。

這是這裏的關鍵,它看起來像是給你發送index.php文件,在這個子目錄後面的主文件夾中測試一個PHP文件,看它是否會嘗試下載它。

文件可能只是:

<?php 
phpinfo(); 

看看把,在指數。在父文件夾中的PHP給你一個phpinfo頁面或嘗試下載index.php。

如果嘗試下載它,它只是PHP沒有在配置Apache來處理以.php

結尾的文件要對其進行配置,添加以下行到您的httpd.conf文件

LoadModule php4_module modules/libphp4.so 
# 
# Cause the PHP interpreter handle files with a .php extension. 
# 
<Files *.php> 
SetOutputFilter PHP 
SetInputFilter PHP 
LimitRequestBody 9524288 
</Files> 
AddType application/x-httpd-php .php