2013-03-08 60 views
1

我是新來的.PHP和服務器而這一切的瘋狂(和StackOverflow的),但我已經下載了Apache和我想一個符號鏈接PHP代碼文件夾到Apache的根目錄。我的Apache根目錄是var/www/html,我的PHP代碼文件夾是Documents/PHPStuff。我改名var/www/htmlvar/www/html2,我在var/www/稱爲「HTML」可鏈接到Documents/PHPStuff做了一個符號鏈接,想,如果我改名爲符號鏈接名稱的Apache正在尋找那麼它會工作。更改阿帕奇ROOTDIR到符號鏈接,獲得403錯誤

它沒有。

當我嘗試訪問我的測試文件中Documents/PHPStuff在我與「本地主機/ helloworld2.php」瀏覽器稱爲「helloworld2.php」我得到一個403 Forbidden錯誤。

我已經搞亂的符號鏈接,並在PHPStuff目錄的權限,他們改爲777之類的東西,但沒有奏效。我還通過將FollowSymlinks None更改爲FollowSymlinks All來更改我的httpd.conf文件。沒有任何工作,所以這是我最後的手段。

回答

0

你不應該做所有這些。

這是我如何設置我的符號鏈接。

當我安裝Apache,它的web目錄位於位於/ var/www/html等實際上並不需要改變。

然後,我創建了一個名爲的public_html文件夾,你可以把它叫做PHPStuff,無所謂。重要的是,該文件夾是您的主目錄裏面,這樣的/ home/your_username/PHPStuff

然後轉到鏈接目錄到/ var/www/html等

sudo ln -s ~/PHPStuff /var/www/html/$USER 

然後,您可以訪問〜/ PHPStuff你的瀏覽器,鍵入:

http://localhost/your_username 

,這將給你訪問〜/ PHPStuff

完成該操作後,設置適當的權限:

sudo chmod -R 777 ~ 

然後確保阿帕奇允許符號鏈接轉到/etc/httpd/conf/httpd.conf中和編輯這部分目錄「的/ var/www/html等」

並確保你有這些:

Options Indexes FollowSymLinks 
AllowOverride All 

重新啓動Apache,一切都將正常工作。

+0

好的,我做了所有這些,現在在我的var/www/html文件中我有一個符號鏈接my.username - > /home/my.username/publicHTML,我遞歸設置權限爲777, 「/ var/www/html」爲AllowOverride All,然後重新啓動Apache。在我的var/www/html目錄中,我有一個helloworld.php文件,我仍然可以在我的瀏覽器中使用'localhost/helloworld.php'運行,但是我無法運行我在publicHTML中使用'hellooworld2.php'localhost/my.username/helloworld2.php'(它給了我一個403)或'localhost/helloworld2.php'(這給了我一個404,不認爲它會工作,但值得一試)。 – JuliusAlexanderIV 2013-03-08 04:39:45

0

試着不要碰你的http.conf。相反,從conf.d路徑編輯文件。

要授權給你家的路徑,編輯您/etc/http/conf.d/userdir.conf激活用戶dir選項,如:

<IfModule mod_userdir.c> 
    #UserDir disabled 
    UserDir public_html 
</IfModule> 

<Directory "/home/*/public_html"> 
    AllowOverride All 
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec 
    Require method GET POST OPTIONS 
</Directory> 

然後,重新啓動Apache的。

現在,你必須創建一個目錄/ home/$ USER /的public_html,並創建到它的符號鏈接到你的〜/ PHPStuff,像

ln -s ~/PHPStuff ~/public_html/PHPStuff 

可以移動PHPStuff到〜/的public_html /而不是創建符號鏈接。

確保您的homedir擁有711個權限,public_html擁有755個,並且PHPStuff中的目錄和文件可供所有人閱讀。

最後,輸入到網頁瀏覽器

http://localhost/~user ('user' is your system username) 

,你會看到你的PHPStuff上市。您可以輸入

http://localhost/~user/PHPStuff 

直接查看PHPStuff內容。

祝你好運!

0

你需要確保Apache可以訪問該符號鏈接所指向的文件夾中,嘗試運行:

存取權限chmod a + X /家/你-的用戶名/家/你-的用戶名/文檔/ PHPStuff