你没有权限访问/在这台服务器的Ubuntu 14.04

议程:在Linux和Windows之间build立一个通用的项目文件夹

我已经将我的文档根目录从/var/www/html更改为/media/mithun/Projects/test在我的ubuntu机器上14.04

我得到错误:

被禁止

您无权访问/在此服务器上。

本地端口80上的Apache / 2.4.7(Ubuntu)服务器

所以我添加了一些脚本: sudo gedit /etc/apache2/sites-available/000-default.conf

 # DocumentRoot /var/www/html DocumentRoot /media/mithun/Projects/test 

但是Document Root /var/www/test可以工作,但是不能用于Windows NTFS分区驱动器

即使提到:

  1. 错误消息“禁止您无权访问/在此服务器上”
  2. 问题与我的Ubuntu的Apache Conf文件。 (禁止您无权访问/在此服务器上。)

没有成功:(所以请帮助我…

注: 项目是一个新的卷 (内部驱动器:在Windows中它的E:/驱动器)

@Lamwangi –请检查我的更新,以供参考:

输出: ls /etc/apparmor.d/

 abstractions lightdm-guest-session usr.bin.evince usr.sbin.cupsd cache local usr.bin.firefox usr.sbin.mysqld disable sbin.dhclient usr.lib.telepathy usr.sbin.rsyslogd force-complain tunables usr.sbin.cups-browsed usr.sbin.tcpdump 

我试图杀死apparmor:

sudo /etc/init.d/apparmor kill

我收到的输出为: Usage: /etc/init.d/apparmor {start|stop|restart|reload|force-reload|status|recache}

在此之后,我也能够成功地重新启动Apache

也许问题很简单:www-data用户可以访问新的根目录吗? 试试:

 $ chown -R www-data:www-data /media/mithun/Projects 

正如你现在已经发现的那样,你不能仅仅操纵NTFS分区的权限(使用像chmod这样的工具)

但是,您可以尝试强制整个分区的给定所有者/权限,当您装入它。

现在要做到这一点,取决于你实际使用的NTFS公用事业(我不知道,所以我假设你正在使用ntfs-3g

例如,使用以下参数安装分区(使用您的实际分区替换dev/sdX / sdX,并将目标路径替换为/path/to/where drive / is / mounted):

  mount -o gid=www-data /dev/sdX /path/where/the/drive/is/mounted 

应该使该分区上的所有文件都属于www-data组。

如果文件系统明确地设置组的所有权,这仍然可能无法正常工作。 在这种情况下,您可能需要设置一个用户映射,将您的Windows用户/组(映射到分区上)映射到您的Linux用户/组。

ntfs-3g.usermap实用程序将帮助您生成一个初始的用户映射文件,然后您可以编辑您的需要:

  ntfs-3g.usermap /dev/sdX 

然后将用户映射传递给挂载选项:

  mount -o usermapping=/path/to/usermap.file /dev/sdX /path/where/the/drive/is/mounted 

我怀疑你有apparmor执行规则,防止Apache读取非白名单的目录路径。 我建议你

  1. 编辑Apache的apparmor配置以访问您的自定义路径。 你需要在/etc/apparmor.d/中搜索。 你也可能会发现,在非执行模式中使用apparmor是有帮助的。

    $ sudo aa-complain /etc/apparmor.d/*

  2. 使用mod_apparmor? 看到这个

  3. 或完全禁用apparmor。 看到这个

我的优先顺序是1,3,2。 这应该解决这个问题:)