Apache 为什么本地主机(DocumentRoot)被阻止在GoogleDrive、Dropbox或Tresorit上运行?

Apache 为什么本地主机(DocumentRoot)被阻止在GoogleDrive、Dropbox或Tresorit上运行?,apache,google-drive-api,localhost,http-status-code-403,document-root,Apache,Google Drive Api,Localhost,Http Status Code 403,Document Root,我正在尝试将DocumentRoot(即localhost)重新定位到同步文件夹(如Google Drive、Dropbox或Tresorit),但尝试失败,出现403错误 在Windows机器上,我可以配置本地主机从D:/GoogleDrive/SitesG文件夹运行;本地站点运行良好 然而,在Mac电脑上,当运行完基于云的存储文件夹(如Google Drive、Dropbox、Tresorit等)时,localhost将无法工作 当localhost位于Users/myname/Sites时

我正在尝试将DocumentRoot(即localhost)重新定位到同步文件夹(如Google Drive、Dropbox或Tresorit),但尝试失败,出现403错误

在Windows机器上,我可以配置本地主机从D:/GoogleDrive/SitesG文件夹运行;本地站点运行良好

然而,在Mac电脑上,当运行完基于云的存储文件夹(如Google Drive、Dropbox、Tresorit等)时,localhost将无法工作

当localhost位于Users/myname/Sites时,一切正常

但是,当我将Mac重新配置为从Users/myname/GoogleDrive/SitesG运行时,例如通过编辑httpd.conf等,files-localhost被阻止

显然,问题与父文件夹(例如Google Drive或Dropbox或Tresorit文件夹)的权限有关。我可以看到各个文件夹的权限如下所示

drwxr-xr-x  32 myname  staff  1024 30 Apr 02:23 Sites
drwxr-xr-x   22 myname  staff      704 30 May 21:01 SitesG
drwx------@ 61 myname  staff  1952 30 May 17:47 GoogleDrive
所以我的问题是:在Mac(运行HighSierra)上,是否可以将DocumentRoot重新定位到GoogleDrive?或者谷歌硬盘有什么固有的东西禁止本地主机在谷歌硬盘文件夹中运行


将Apache虚拟主机定位到基于云的存储文件夹将产生许多文件/文件夹权限问题

对于每个云存储项目,您应该更轻松地在Users/myname/Sites文件夹中创建一个符号链接,指向您的GoogleDrive/Dropbox网站文件夹,而不是重新定位documentRoot并更改许多设置和权限

假设您的Dropbox文件夹中有一个“websiteA”文件夹:

1) 转到“Users/myname/Sites文件夹”并创建这样一个符号链接

cd ~/Sites
ln -s ~/Dropbox/websiteA websiteA
正如您可以在Finder中检查打开~/Sites文件夹一样,您已经创建了一个带有箭头的文件夹,指向“websiteA”云文件夹

2) 现在,您只需创建一个指向~/Sites/websiteA的虚拟主机


相反,您可以将~/Sites文件夹全局更改为指向基于云的文件夹的符号链接,但逐项目方法更灵活,因为它允许您管理本地和基于云的项目。

非常感谢@DrFred提供上述解决方案,虽然我还没有机会测试它,但我相信它会起作用

这是我在得到任何答案之前设计的解决方案。这与上面Fred博士的非常相似,因为两者都解决了符号链接的问题。我添加我的完整性和额外的细节

如上所述,我在多台设备上开发(多台Mac和Windows PC并排),因此,我的目标是创建一个localhost development文件夹,它可以在不同的设备之间几乎立即同步,而无需将文件签入/签出git,也无需遇到使用Google Drive同步代码文件时产生的文件权限问题

我实现这一目标的步骤如下

drwxr-xr-x  32 myname  staff  1024 30 Apr 02:23 Sites
drwxr-xr-x   22 myname  staff      704 30 May 21:01 SitesG
drwx------@ 61 myname  staff  1952 30 May 17:47 GoogleDrive
  • 在Mac上创建名为~/Users/myname/SitesNew的文件夹

  • 在同一Mac上的Dropbox中创建一个从该文件夹到同名文件夹的符号链接。然后,Mac上会有两个相同的文件夹:


    • ~/Users/myname/site非常感谢你的回答,弗雷德博士。在收到您的回复之前,我实际上已经找到了一个与您非常类似的解决方案,即使用Dropbox(但不使用Google Drive,它显然不允许使用符号链接)使用符号链接。为了记录在案,我还将在下面记录我自己的解决方案。