2

我已将我的站点文件夹移动到 iCloud Drive 并从主文件夹符号链接站点别名,以便在终端等中使用。这对于我的带有 Webrick 服务器的 Rails 应用程序非常有效。

现在我想将它与 Apache 一起用于非 Rails 站点。

如何设置 localhost/~username 以使用 iCloud Drive 中的站点?我收到“您无权访问此服务器上的 /~username/ ”。

(如果 Sites 文件夹(而不是别名)位于主文件夹中,我知道如何操作并成功。我检查了设置。它可以工作。)

4

1 回答 1

3

我将用于网站开发的网站文件夹放在我的 iCloud Drive 中。我的台式电脑和笔记本电脑总是自动与最新的开发文件夹同步。为此,您必须编辑 httpd.conf 文件和私有主机文件。在 httpd.conf 文件中,您必须更改运行 Apache 的用户,以便它可以访问 iCloud 驱动器。

在 httpd.conf 中找到用户和组的行并编辑它们:

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User <Edit in your username without the brackets>
Group admin

</IfModule>

现在在虚拟主机文件中:httpd-vhosts.conf - 编辑您网站的导演位置。iCloud 目录的位置以:/Users/yourusername/Library/Mobile Documents/com~apple~CloudDocs 开头,由于目录名称中的空白,因此必须加上引号。

<VirtualHost *:80>
    ServerAdmin webmaster@domainname.com
	DocumentRoot "/Users/yourusername/Library/Mobile Documents/com~apple~CloudDocs/Sites/YourDomainsRootDirectory"
	<Directory "/Users/yourusername/Library/Mobile Documents/com~apple~CloudDocs/Sites/YourDomainsRootDirectory">
	   AllowOverride All
	   Options Indexes MultiViews FollowSymLinks
	   Require all granted
	</Directory>
    ServerName yourdomainname.com
    ServerAlias dev.yourdomainname.com
    ErrorLog "/private/var/log/apache2/yourdomainname.com-error_log"
    CustomLog "/private/var/log/apache2/yourdomainname.com-access_log" common 
</VirtualHost>

然后重启阿帕奇

于 2017-12-09T21:34:13.073 回答