我尝试设置一个 Apache 站点以使用我的主文件夹中的文件夹,但没有成功。我严格按照本页中的步骤操作:https://help.ubuntu.com/community/ApacheMySQLPHP
但我没有成功;我不断错误 403,表示服务器没有权限访问请求的页面。我搜索了论坛,很多人建议更改文件夹的权限。我直接将权限设置为777
,但这并没有解决问题。
我又搜索了一下,有人给了我一个线索,可能是因为我的主文件夹被加密了。我相信这可能是问题所在,但是:
加密和 Apache 之间有什么关系?我认为 Apache 服务器正在向系统请求文件,而不是尝试访问文件字节!
有什么办法可以解决这个问题吗?我不想移动文件夹,/var/www
因为我正在使用这个 Apache 进行测试,所以我希望我所做的任何更改都能立即反映出来,而不必复制容易出错的文件。
答案1
你的 error_log 里有什么?
我认为主文件夹加密不应该成为问题。我已将 /var/www/ 符号链接到主文件夹中的位置,并且Options +FollowSymLinks
在站点配置中,它运行良好。
简单说几句 - 你可以sudo chgrp -R www-data <path>; sudo chmod -R g+a <path>
不将权限设置为 777 - 这通常是一个好习惯,如果你在共享主机上,这很重要。
我不确定你说的“我希望我所做的任何更改都能立即反映出来”是什么意思,但我猜你的意思是在 /home 中保留一个工作副本并将 Apache 指向 /var/www - 这不是必要的/必需的。你可以ln -s
像我上面描述的那样使用,或者像你尝试的那样将 Apache 直接指向你的主文件夹。
答案2
我在下一个链接中写了这篇文章,希望这对你有帮助,点击即可访问完整的帖子:
更改 Linux 中 PHP 测试的默认文件夹 http://ultimateeditionisrael.freeforums.org/change-the-default-folder-for-php-testing-in-israel-remix-t600.html
但是,如果我们希望在 PHP 代码中使用另一个本地文件夹进行测试,我们可以更改 php 引擎用来管理这些文件的默认文件夹位置。这可以通过以下步骤完成:
gksu gedit /etc/apache2/sites-available/default
提供用户密码
然后,将所有出现的“/var/www/”更改为我们用来测试 PHP 的文件夹。(例如:/home/geppettvs/www/,或在适当的情况下,将“geppettvs”更改为您的本地文件夹。)
之后,您必须重新启动计算机以使更改生效。还请不要忘记,文件必须具有适当的文件权限才能正常运行。(755 通常就足够了,但有些文件夹[和/或文件]可能需要 777 权限才能正确读取和写入它们。)