2013-03-08 50 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