2016-10-27 61 views
0

我已經在ubuntu服務器上配置了apache2來運行我的django應用程序,但是我在上傳圖片到目標目錄時遇到問題,它進入/ var/www /目錄。如何將apache2中的默認根目錄從/ var/www /更改爲/ home/ubuntu/project/

我已經在apache2中編輯'000-default.conf'文件了,我想讓web服務器以我的應用程序的根目錄作爲目錄。

DocumentRoot /home/ubuntu/project/ 

<Directory /home/ubuntu/project/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

和/etc/apache2/apache2.conf中

<Directory /home/ubuntu/project/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

這種變化之後,我已經重新啓動Web服務器。 仍然當我的django應用程序上傳任何圖像時,它會進入/ var/www /目錄。我不明白爲什麼它的發生,即使我已經改變了在/ var/WWW /到/ home/Ubuntu的/項目/

請建議...

回答

0

您需要更改apache的根目錄DocumentRoot設置在您的httpd.conf文件中。沒準它會根據類似/etc/apache2/conf/httpd.conf

那裏只是更改此:

<Directory "/var/www"> 

這樣:

<Directory "/home/ubuntu/project"> 

現在重新啓動你的Apache服務:

/etc/init.d/apache2 restart 
+0

嗨,感謝@Timo但我沒有這個「/etc/apache2/conf/httpd.conf」目錄,但正如我在上面提到的「/etc/apache2/apache2.conf」在這個文件中我已經做了與您所描述的相同的更改,但即使重新啓動apache2後仍不會影響更改 –

+0

這就是尷尬。你是否試圖用文本編輯器打開httpd.conf,或者它不是一個目錄。這有幫助嗎? –

+0

我的意思是我沒有按照你提到的目錄路徑的httpd.conf文件。即使在apache2下我也沒有/ conf /目錄。 –

0

上傳目錄將被設置爲你的Django應用程序,而不是你的Apache配置。

檢查您的MEDIA_ROOT設置。

+0

很酷。我知道,但只有一個查詢,直到現在我沒有使用我的媒體目錄的完整路徑。當我給完整的目錄路徑,然後圖像上傳到所需的位置,但是當我沒有定義媒體的完整路徑,然後進入/ var/www目錄。首先,我需要知道如果我沒有定義媒體根爲什麼它進入/ var/www。理想情況下,應該給出一個錯誤,說明「媒體」不存在於您的項目目錄中。 –

+0

爲什麼apache總是進入/ var/www目錄上傳文件,即使我們沒有在apache配置文件中包含該路徑。 –

+0

您的查詢對評論太複雜了。請更新您的原始問題,包括相關的Django代碼,並說出您的Django項目所在的位置。 – Alasdair