Apache‘您无权访问此服务器上的/’

Apache‘您无权访问此服务器上的/’

我刚刚在 ubuntu 上安装了 apache2,默认的 www 目录是 /var/www/,我使用 ln 将其链接到 windows 目录中的 '/media/Software/Program Files/wamp/www/',但是 apache 显示'您无权访问此服务器上的 /',然后我使用'sudo chmod -R 777 /media/Software/Program\ Files/wamp/www/' 来设置权限,但是它不起作用,当我在 '.../wamp/www' 文件夹的配置文件中看到权限时没有任何变化。所以我想知道如何将 www 目录更改为 '.../wamp/www',因为我还需要在 windows 中访问这个目录。

答案1

周围有两件事。

一个是 Apache 是否被允许跟踪符号链接。您是否通过 ln -s 链接符号链接?这是推荐的方式,但在某些服务器中可能存在安全问题,并且多次被禁用。

https://superuser.com/questions/244245/how-do-i-get-apache-to-follow-symlinks有关该主题的更多信息,但基本上您需要AllowOverride None如下内容:

<Directory />
    Options FollowSymLinks
</Directory>

另一个主题是权限。

Windows 分区

由于它是一个 Windows 目录(看起来是这样),最好的选择是遵循本指南http://ubuntuforums.org/showthread.php?t=1604251

本质上它建议您编辑该/etc/fstab 行应该是这样的:

/dev/sdb5 /media/Software ntfs-3g defaults, ..., umask=227 0 0

有趣的部分是 umask。我建议将最后一位数字设置为 6 或 7,以允许 Apache 访问。

推荐使用UUID,步骤如下:

0)备份 fstab(以防万一;))

sudo cp /etc/fstab /etc/fstab.bak

1)获取硬盘的UUID:

sudo blkid

2)在 fstab 中添加以下行

它应该是这样的:

UUID=$you_uuid  /media/Software  ntfs-3g  defaults,user,auto,utf8

我添加了 auto 以便它自动挂载。如果您不想这样,请使用 noauto。

这将赋予它完全权限。如果您希望使用不同的权限,请使用dmask=000,fmask=111选项。它使用与不同的数字,而不是chmod。如果您愿意,您还可以添加uid=100,gid=100所需的另一个 uid 或 gid。

参考: https://help.ubuntu.com/community/Fstab 如何自动挂载 NTFS 分区? http://ubuntuforums.org/showthread.php?t=283131

Linux/Unix 分区(如果不使用 Windows 分区)

如果它不是 Windows 分区,则权限应该采用标准 Linux 方式。

最好的选择是更改该目录的权限。我将按如下方式进行:

chgrp -R www-data /media/Software/Program Files/wamp/www/

您还需要该目录的读取权限(也可能是写入权限)。具体操作如下:

chmod g+r /media/Software/Program Files/wamp/www

还需添加写入:

chmod g+rw /media/Software/Program Files/wamp/www

但是如果该分区是 NTFS 分区,那么这种方法将不起作用,因为 Windows 不以这种方式在磁盘中存储权限。

答案2

假设您有一个默认的 Apache 安装,您应该更新 /etc/apache2/sites-enabled/000-default 中的 DocumentRoot 指令,并使其指向 /media/Software/Program\ Files/wamp/www/

DocumentRoot /media/Software/Program\ 文件/wamp/www

更多信息可以在这里找到:http://httpd.apache.org/docs/2.2/urlmapping.html

答案3

对我来说,问题不是上述任何一个,而是一些更简单的事情。

我有两个 Apache2 虚拟主机在 ServerAlias 行中竞争同一个域名。

在一个虚拟主机文件中,我有

服务器别名 mysubhost.myhost.me

但在另一个虚拟主机文件中我有一个通配符条目:

服务器别名 *.myhost.me

这导致了 Apache 2 中的冲突。删除通配符条目(带有 *)为我解决了这个问题。

(摘自(K)Ubuntuguide,网址:http://ubuntuguide.org/wiki/Dynamic_dns#Troubleshooting

相关内容