php - Apache 访问 Linux 中的 NTFS 链接文件夹

标签 php linux apache

在 Debian jessie 中使用 Apache2/PHP,当我想在 Apache (/var/www) 的文档文件夹中创建一个新的小节时,我只需创建一个指向我的 php 文件所在的外部文件夹的链接,然后只需更改所有者和文件夹的权限如下,它工作完美。

ln -s /home/myname/mynewcode /var/www/test1
chown -R www-data:www-data /home/myname/mynewcode
chmod -R 755 /home/myname/mynewcode

然后我可以访问 http://localhost/test1

但是当我想要链接它的真实文件夹位于 NTFS 分区上时,因为 chown 和 chmod 不起作用,我通过添加以下代码修改/etc/fstab,因此我的 NTFS 分区将挂载所需的权限和所有者。

UUID=XXDDXDDXDDDXDDDD /media/myname/lable ntfs user,exec,uid=www-data,gid=www-data 0 2

ln -s /media/myname/lable/mynewcode2 /var/www/test2

但我仍然收到 Apache2 的权限错误,我不知道该怎么办!!

Forbidden
You don't have permission to access /test2 on this server.
Apache/2.4.10 (Debian) Server at localhost Port 80

最佳答案

我无法提供 100% 有效的解决方案,但我有两点您可能需要检查。

首先,尝试将 umask 添加到 fstab 行。我认为这会导致权限错误。 umask 在挂载时添加对所有文件 (644) 和目录 (755) 的正确权限。 您必须重新挂载 NTFS 文件夹!

UUID=XXDDXDDXDDDXDDDD /media/myname/lable ntfs user,exec,uid=www-data,gid=www-data,umask=022 0 2

您需要确保www-data 用户能够cd 进入目标文件夹:

sudo su www-data -s bash && cd /media/myname/lable

其次,确保在特定文件夹上允许“FollowSymlinks”,我想你已经有了,但无论如何都要试试:

<Directory "/media/myname/lable/">
    Options FollowSymLinks +Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/var/www">
    Options FollowSymLinks +Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

关于php - Apache 访问 Linux 中的 NTFS 链接文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288319/

相关文章:

php - 使用 NuSOAP 检索结果时出现 XML 错误(无效字符)

php - 使用php从sql数据库中整理数据

java - 无法使用 mailR 包发送电子邮件

python - 在 apache 和 mod_python 下运行 subversion

apache - 如何在 dojo 中启用 CORS 以连接到 Openfire

PHP:将 UTF-8 字符串转换为 Ansi?

php - 如何在PHP的同一页面上获取文本框的值

linux - 分配服务器CPU核心来执行特定调用

c - 共享库 : Why muliple versions of GLIBC_ in a single binary

regex - 使用 sed 从 XML 节点中删除内容