如何使用 fstab ntfs-3g 从内部 ntfs 分区通过 apache2 提供文件?

如何使用 fstab ntfs-3g 从内部 ntfs 分区通过 apache2 提供文件?

我已经设置了 apache2 并成功从以下位置提供文件:

/var/www/example.com

所有权和权限设置如下:

sudo chown -R $USER:$USER /var/www/example.com

sudo chmod -R 755 /var/www

最终的权限如下所示:

drwxr-xr-x 6 tim tim 4096 Aug 23 23:22 example.com/

drwxr-xr-x 5 tim tim 4096 Aug 24 14:45 www/

并且 apache2.conf 包括:

ServerName 127.0.0.1

和主机包括

127.0.0.1 localhost

sudo service apache2 restart

浏览器成功加载:

localhost/example.com


以上都很好,但是...

当我尝试使用以下命令设置从 ntfs 分区提供服务的文件时,出现 403 错误:

sudo gedit /etc/fstab

/dev/sda3 /media/tim/Data ntfs-3g permissions,locale=en_GB.utf8 0 2

sudo umount /media/tim/Data

sudo mount -a

并使用上面相同的 chown 和 chmod 方法:

sudo chown -R $USER:$USER /media/tim/Data/www/example.com

sudo chmod -R 755 /media/tim/Data/www

使用符号链接,例如:

/var/www/ $ ln -s /media/tim/Data/www/example.com

符号链接使用以下权限: lrwxrwxrwx 1 tim tim 36 Aug 24 14:45 example.com -> /media/tim/Data/www/example.com

文件夹的权限如下所示:

drwxr-xr-x 1 tim tim 8192 Aug 24 15:16 /media/tim/Data/www/example.com

drwxr-xr-x 1 tim tim 0 Aug 23 23:24 /media/tim/Data/www/


我也试过

在本地 ext4 文件系统上成功设置虚拟主机,但如果虚拟主机指向/media/tim/Data/www/example.com或符号链接,则再次出现 403 错误/var/www/example.com

我见过其他人显然使用 fstab 方法解决了该问题,而且据我所知,我的权限也是通过这种方式正确设置的,但仍然失败。

欢迎回答。

答案1

我找到了答案:这里

我看到许多人显然找到了一种用作/media/挂载和指向的方法,但我无法使用我的内部 ntfs 分区成功做到这一点。

解决方案是将 ntfs 分区挂载到子目录/mnt/并赋予该子目录必要的权限。

cd /mnt
sudo mkdir Data
sudo chown tim:tim Data
sudo chmod 755 Data

然后

sudo gedit /etc/fstab添加以下行:

/dev/sda3 /mnt/Data ntfs-3g auto,users,uid=tim,gid=tim,utf8,dmask=002,fmask=113 0 0

sudo gedit /etc/apache2/sites-available/default和:

DocumentRoot /mnt/Data/www

sudo gedit /etc/apache2/sites-available/example.com和:

DocumentRoot /mnt/Data/www/example.com

使用此方法,apache2 现在可以从一个 ntfs 分区为站点提供服务。

相关内容