一些细节(对某些人来说可能有用):
在船上:mac mini + mountain lion + Server.app。
问题: 我可以通过浏览器访问我的subversion repo,但是无法通过命令行访问它来检查(例如)。
我已经 :
从Mac OS Lion获得 mod_dav_svn.so 和 mod_authz_svn.so 并将其放入/usr/libexec/apache2
接下来,在 / Library / Server / Web / Config / apache2 / webapps 中创建 com.site.svn.plist :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>name</key> <string>com.site.svn</string> <key>includeFiles</key> <array> <string>/private/etc/apache2/svn_configs/svn_config.conf</string> </array> <key>requiredModuleNames</key> <array> <string>dav_svn_module</string> <string>authz_svn_module</string> </array> <key>sslPolicy</key> <integer>1</integer> </dict> </plist>
我已将 mod_dav_svn.so 和 mod_authz_svn.so 的LoadModule 添加到 / Library /服务器/网络/配置/ apache2的/ httpd_server_app.conf :
LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so
我已创建 ** / private / etc / apache2 / svn_configs / svn_config.conf **:
<Location /svn/repo1> DAV svn AuthName "Subversion auth" SVNPath /Users/someUser/Repositories/Repo1Repo <Limit GET HEAD OPTIONS CONNECT POST PROPFIND PUT DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Require group repo1users </Limit> AuthType Basic Require group repo1users </Location>
我已经从终端
webappctl start com.site.svn
之后我能够通过https://site/svn/repo1
但是当我试图颠覆结帐系统时,我会:
>>>svn co https://site/svn/repo1 Authentication realm: <https://site:443> UserWebDAV Gateway Password for 'someUser': svn: access to 'https://site/svn/repo1' forbidden
>>>svn co https://site/svn/repo1 Authentication realm: <https://site:443> UserWebDAV Gateway Password for 'someUser': svn: access to 'https://site/svn/repo1' forbidden
你有什么线索我有这种情况吗?
P.S。
的权利777 ,所有者/群组 - _www:_www
我已经习惯了 - 我读了http://www.themacosxserveradmin.com/2011/01/lion-server-and-svn.html并尝试将它整合到山狮中。
感谢您的想法。
答案 0 :(得分:2)
花了几天时间处理同样的问题。虽然我的配置不完全相同,但应该足够接近以帮助您完成您想要做的事情。 能够将身份验证问题链接到为Wiki启用WebDAV(在Server应用程序中)。如果您禁用WebDAV支持,那么事情就会开始起作用。 在我的情况下,我选择在自定义端口(8080或8443)上简单地在Apache中创建额外的侦听器,并将所有与SVN相关的配置指令放在那里,因此所有内容都集中在一个地方。
祝你好运!