2009-02-09 103 views
24

簡單的問題,但由於某些原因,我無法找到谷歌確切的答案:如何在Ubuntu中創建一個公共HTML文件夾?

我有一個新的Ubuntu安裝上Slicehost,想做出公開目錄在我家目錄包含一個簡單的網站一堆靜態HTML文件。我該怎麼做呢?這只是一個輸入mkdir public_html並設置權限的問題,還是有更清晰的方法? (我記得以前我已經在那裏我每次拷貝一個文件到我的public_html目錄的問題,我將不得不手動設置其權限,這是很令人沮喪。)

+1

你安裝了apache嗎? – 2009-02-09 00:26:41

+0

是的,我按照下面的說明和一切工作。感謝大家。對不起,如果問題是離題。如果你願意,你可以關閉這個問題。 – RexE 2009-02-09 00:51:42

回答

31

假設你已經安裝了Apache,請執行以下操作:

sudo a2enmod userdir 
sudo service apache2 reload 

第一個命令允許用戶目錄阿帕奇國防部,這不正是你想要的東西。第二個重新加載apache配置,以便它開始使用新的配置。

要安裝的Apache2:

sudo apt-get install apache2 

當然,你還需要確保在您的public_html文件夾的權限允許www數據用戶看到在那裏的文件 - 755通常工作好。要做到這一點:

mkdir ~/public_html 
chmod -R 755 ~/public_html 

這將遞歸(-R)通過你的public_html並設置權限爲755(所有者的rwx,以及團體和其他R-X,R-X)。

+0

但我應該在哪裏放置public_html文件夾?在/ var/www /?下 – Dejell 2013-10-03 19:07:17

2

您需要使用mod_userdir爲Apache,否則你需要設置從/var/www/或任何地方符號鏈接。

您的權限問題是因爲Apache沒有對您的文件的讀取權限。您需要允許讀訪問權限www-data(或任何用戶;特定於發行版)。

9

其他的答案是正確的軌道上mod_userdir,但使用這將使你的網站的基本URL http://www.yourdomain.com/~username/ - 例如,一個文件/home/username/public_html/index.html將作爲http://www.yourdomain.com/~username/index.html訪問。如果你想讓你的文件成爲域根下訪問,如http://www.yourdomain.com/index.html例如,那麼你就需要把指令

DocumentRoot /home/username/public_html 

Apache的配置文件中

順便說一下,這種問題更適合Slicehost論壇。

相關問題