更改 LAMP Apache 根目录/www 目录后出现 403 禁止错误

更改 LAMP Apache 根目录/www 目录后出现 403 禁止错误

我安装并设置了所有的 LAMP 服务,并让它从 www 文件夹运行,但我需要它指向我的 Dropbox 中的一个文件夹(在同一个分区上)

我修改了 /etc/apache2/sites-enabled/000-默认.conf所以现在看起来像:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mysite.com
    ServerAlias www.mysite.com *.mysite.com
    DocumentRoot /home/alicia/Dropbox/Programing/PHP/intern-magnet
<Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /home/alicia/Dropbox/Programing/PHP/intern-magnet/>
Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel info

    CustomLog /var/log/apache2/access.log common
    ServerSignature On

我还修改了新根目录的每一级权限,使其成为 drxr-xr-x / 755 namei -m 命令为新根目录输出以下内容,这一切对我来说看起来都很好:

drwxr-xr-x /
 drwxr-xr-x home
 drwxr-xr-x alicia
 drwxr-xr-x Dropbox
 drwxr-xr-x Programing
 drwxr-xr-x PHP
 drwxr-xr-x intern-magnet

/var/log/apache2/ 中的最后几条条目错误日志读:

[Sun Dec 21 13:38:09.265113 2014] [authz_core:error] [pid 8096] [client 127.0.0.1:33250] AH01630: client denied by server configuration: /home/alicia/Dropbox/Programing/PHP/intern-magnet/favicon.ico
[Sun Dec 21 13:38:16.115896 2014] [authz_core:error] [pid 8097] [client 127.0.0.1:33251] AH01630: client denied by server configuration: /home/alicia/Dropbox/Programing/PHP/intern-magnet/css
[Sun Dec 21 13:38:16.232509 2014] [authz_core:error] [pid 8097] [client 127.0.0.1:33251] AH01630: client denied by server configuration: /home/alicia/Dropbox/Programing/PHP/intern-magnet/favicon.ico
[Sun Dec 21 13:38:22.717367 2014] [authz_core:error] [pid 8102] [client 127.0.0.1:33252] AH01630: client denied by server configuration: /home/alicia/Dropbox/Programing/PHP/intern-magnet/favicon.ico

哦,是的,我正在运行 Ubuntu GNOME 14.10

所以基本上它没有获得许可,但为什么呢?!我花了一整天,甚至昨晚的大部分时间试图弄清楚这一点,我看了很多教程,但仍然不明白我遗漏了什么。

如有任何想法或帮助,我们将不胜感激,提前致谢:)

我在 askubuntu 上读过一些类似的问题,但没有一个解决方案有效,所以我想这是一个不同的问题,因此不是重复的

答案1

看来您正在运行 Apache 2.4;他们在 2.2 和 2.4 之间更改了 auth 模块。

<Directory /home/alicia/Dropbox/Programing/PHP/intern-magnet/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    # Remove Apache 2.2 access controls
    #Order allow,deny
    #allow from all

    # Add Apache 2.4 access controls
    Require all granted
</Directory>

其他需要考虑的想法:通常,将个人 Web 开发项目放在 ~/public_html 中、启用 usedir 模块a2enmod userdir、允许 PHP 在那里执行代码,最后通过浏览来调用 URL,这被认为是“最佳实践”。http://localhost/~alicia/​​intern-magnet

如果你对此感兴趣,具体步骤如下:

sudo a2enmod userdir
sudo $EDITOR /etc/apache2/mods-enabled/php5.conf
# Comment out lines "<IfModule mod_userdir.c> ... </IfModule>"
# This re-allows executing PHP code by users of your workstation, (presumably only you).
mkdir ~/public_html
ln -s ~/Dropbox/Programing/PHP/intern-magnet ~/public_html/intern-magnet
sudo service apache2 restart
# Develop and Profit!

您启动的其他项目只需要将其代码链接到 ~/public_html 内部,就像上面的ln -s命令一样,然后浏览到 /~alicia/​​PROJECT_NAME_HERE!

相关内容