我有一台服务器正在为项目提供网页。
项目存储在服务器上的用户目录中。 (/home/user/theproject/webstuff
)。
最初,我使用userdir
模块通过http://theserver/user
和/home/user/public_html
到/home/user/theproject/webstuff
的符号链接访问该模块,以指示文件的位置。< / p>
但是,最终,最好从http://theserver
提供文件,而不必指明用户(因为实际上只有一个用户)。
然后我有一个非常棒的主意。
相反,我会将我的/etc/apache2/sites-enabled/000-default.conf
文件重写为:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/user/theproject/webstuff
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在一切都很可爱......除了PHP不再运行。
而是引发以下错误:
AH01630: client denied by server configuration: /home/user/theproject/webstuff/script.php
对于客户端,这显示为403 Forbidden错误。
所以这是一个双重问题:
答案 0 :(得分:0)
您可以在此处找到有关此错误的详细说明以及几种可能的解决方案: http://wiki.apache.org/httpd/ClientDeniedByServerConfiguration
答案 1 :(得分:0)
事实证明,我必须编辑/etc/apache2/apache2.conf
。
在第164行,我需要修改一个块,如下所示:
#<Directory /var/www>
<Directory /home/user/theproject/webstuff>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>