apache - 为什么 localhost (DocumentRoot) 被阻止在 Google Drive、Dropbox 或 Tresorit 上运行?

标签 apache google-drive-api localhost http-status-code-403 document-root

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

在 Windows 计算机上,我可以将 localhost 配置为从 D:/GoogleDrive/SitesG 文件夹运行;本地站点运行完美。

但是,在 Mac 上,当用完基于云的存储文件夹(例如 Google Drive、Dropbox、Tresorit 等)时,本地主机将无法工作。

当本地主机位于 Users/myname/Sites 时,一切都很好。

但是,当我将 Mac 重新配置为从 Users/myname/GoogleDrive/SitesG 运行时 - 例如通过编辑 httpd.conf 等文件 - 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?或者 GoogleDrive 是否有一些固有的东西禁止 localhost 运行 Google Drive 文件夹?

enter image description here

最佳答案

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

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

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

1) 转到“Users/myname/Sites 文件夹”并创建这样的符号链接(symbolic link)

cd ~/Sites
ln -s ~/Dropbox/websiteA websiteA

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

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

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

关于apache - 为什么 localhost (DocumentRoot) 被阻止在 Google Drive、Dropbox 或 Tresorit 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50604689/

相关文章:

php - bigquery php 客户端无法与 Apache 网页一起使用(Ubuntu 18.10 服务器)

linux - 为移动网站配置 Apache 的问题

java - HTTP 状态 404 -/xnat Apache Tomcat/8.0.26 (Ubuntu)

python - 为 Google 云端硬盘中上传的私有(private)文件生成可下载链接

javascript - 从 html 文件夹中的 HTML5 桌面应用程序访问本地文件

java - 在MacOS High Sierra上设置Hadoop单节点时遇到问题

apache - 如何将 Strapi 部署到 Apache cPanel

ios - 带有 Swift 的 Google Objective-C API 'GTL'

google-drive-api - Google Drive API、Oauth 和服务帐号

java - 是否可以捕获本地主机上进程之间的流量