在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
Run Code Online (Sandbox Code Playgroud)
然后我可以访问http:// localhost/test1
但是当我要链接它的真实文件夹,因为chown和chmod不起作用而在NTFS分区上时,我通过添加以下代码来修改/ 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
Run Code Online (Sandbox Code Playgroud)
但我仍然得到Apache2的权限错误,我不知道该怎么办!!
禁止
您无权访问此服务器上的/ test2.
位于localhost端口80的Apache/2.4.10(Debian)服务器
我无法提供 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
Run Code Online (Sandbox Code Playgroud)
您需要确保www-data用户能够cd进入目标文件夹:
sudo su www-data -s bash && cd /media/myname/lable
Run Code Online (Sandbox Code Playgroud)
其次,确保特定文件夹上允许“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>
Run Code Online (Sandbox Code Playgroud)