我已经设置了 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 分区为站点提供服务。