在Mac OS山狮上设置Subversion服务器(可通过浏览器访问,但无法从subversion结帐)

时间:2012-08-18 16:45:02

标签: macos installation osx-mountain-lion svn-server

一些细节(对某些人来说可能有用):

在船上:mac mini + mountain lion + Server.app。

问题: 我可以通过浏览器访问我的subversion repo,但是无法通过命令行访问它来检查(例如)。

我已经

  1. 从Mac OS Lion获得 mod_dav_svn.so mod_authz_svn.so 并将其放入/usr/libexec/apache2

  2. 接下来,在 / 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>
    
  3. 我已将 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
    
  4. 我已创建 ** / 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>
    
  5. 我已经从终端

  6. 执行了
      

    webappctl start com.site.svn

    之后我能够通过https://site/svn/repo1

    到达 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并尝试将它整合到山狮中。

    感谢您的想法。

1 个答案:

答案 0 :(得分:2)

花了几天时间处理同样的问题。虽然我的配置不完全相同,但应该足够接近以帮助您完成您想要做的事情。 能够将身份验证问题链接到为Wiki启用WebDAV(在Server应用程序中)。如果您禁用WebDAV支持,那么事情就会开始起作用。 在我的情况下,我选择在自定义端口(8080或8443)上简单地在Apache中创建额外的侦听器,并将所有与SVN相关的配置指令放在那里,因此所有内容都集中在一个地方。

祝你好运!