我正在开发一个使用WebDAV,XSL样式表和一些PHP脚本来连接svn二进制文件的前端。 我写了一个简单的shell脚本,根据我们的技术政策(非常标准的东西)build立一个项目。 但是,当由apache用户_www(OS X服务器)执行脚本时,脚本将无法正常运行。 它抱怨没有获得密码_www。 我们通过打开的目录进行身份validation,所以没有控制身份validation的.htaccess文件。
我可以以某种方式授予对_www的访问权限,而不必键入密码,以便我的脚本可以运行非交互式?
将此限制添加到Limit没有帮助(尽pipe从conf中完全删除Limit标签显然可行!):
Require user _www _www@MYSERVER
应该指出的是,_www对持有我的存储库的目录具有recursion所有权。
如果Subversion版本库与Web服务器驻留在同一台机器上,那么解决scheme相当简单。 你只需要
chown -R _www /path/to/repo
这应该够了。 确保用户具有读/写权限(并在目录上执行)。 确保您通过file:///协议访问存储库,并且根本不需要密码。
如果存储库需要由其他用户拥有,则可以使用组来设置权限。
如果你有一个远程仓库,事情会变得更复杂一点。 如果是这样的话,我会修改我的答案:)