所以,我有一台Mac Snow Leopard服务器(服务器A),我一直在使用自制的Apache,但它最近一直在表现,我想使用内置的 . 但由于这是一个 生产环境 服务器,我想首先测试它,在我的第二台服务器(服务器B)上安装相应的目录并进行测试 .
所以我使用以下命令在服务器B上安装服务器A的“/ Atlas”目录(我的整个CMS):
mount_hfs afp://username:password@server_a/Atlas /Atlas
手动创建/ Atlas目录后 .
现在,当指向虚拟主机将DOCUMENT_ROOT设置为“/ Atlas / Sites / sandman /”(这是服务器A上该站点的正确路径)并浏览到该站点时,Apache会报告403(禁止访问)并将其说出来无法读取文件(“您无权访问所请求的对象 . 它受到读保护或服务器无法读取 . ”)
现在,这两个机器上的文件由用户“sandman”拥有,而服务器A上的Apache由用户“sandman”运行,但是在服务器B上的内置Apache中,它由拥有UID 70的用户“_www”拥有 . 文件可以被“世界”读取,所以用户_www应该能够很好地阅读它们 .
谁知道问题可能是什么?我希望我可以将CMS文件存储在服务器C(即第三台服务器)上,并将其挂载在两台服务器上,然后在它们之间进行负载 balancer .
有任何想法吗?谢谢!
2 回答
你用什么用户运行mount命令? (注意:我认为它确实是mount_afp,而不是mount_hfs . )该用户将结束"owning"服务器连接,并且将是唯一一个获得对服务器文件进行身份验证访问的用户; AFP客户端计算机上的其他用户将获得与访客服务器文件相同的访问权限 . 您可以使用
mount
命令查看连接所有权:根据您的描述,听起来它应该工作尽管如此(因为文件在服务器B上是世界可读的)...但是仍然可能值得在_www用户ID下执行挂载 .
检查您是否可以真正以用户_www的形式阅读这些文件并列出它们 .
也许你错过了一个适合用户_www的行为列表 . 它是* Nix系统目录的执行权 .