Настройка Subversion Server в Mac OS mountain lion (есть доступ через браузер, но невозможно получить извлечение из Subversion)

Некоторые детали (возможно, это будет полезно для некоторых парней):

На борту: mac mini + горный лев + Server.app.

Проблема: у меня есть доступ к моему хранилищу Subversion через браузер, но у меня нет доступа к нему через командную строку для проверки (например).

Я сделал:

  1. Получил mod_dav_svn.so и mod_authz_svn.so из Mac OS Lion и поместил его в /usr/libexec/apache2

  2. Затем создайте com.site.svn.plist в / Library / Server / Web / Config / apache2 / webapps:

    <?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. Я добавил LoadModule(s) для mod_dav_svn.so и mod_authz_svn.so в /Library/Server/Web/Config/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. Я выполнил из терминала:

webappctl start com.site.svn

и после этого я могу достичь repo1 через 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

Есть ли у вас какие-либо понятия, почему у меня такая ситуация?

PS права на

/Users/someuser/Repositories
/Users/someuser/Repositories/Repo1Repo
/Users/someuser/Repositories/Repo1Repo/*

777, владелец / группа - _www: _www

Я использовал для этого - я прочитал http://www.themacosxserveradmin.com/2011/01/lion-server-and-svn.html и попытался интегрировать его в горного льва.

Спасибо за ваши мысли.

1 ответ

Потратил несколько дней, занимаясь тем же вопросом. Хотя моя конфигурация не точно такая же, она должна быть достаточно близко, чтобы помочь вам выполнить то, что вы пытаетесь сделать. Был в состоянии связать проблему аутентификации с включенным WebDAV для Wiki (в приложении Сервера). Если вы отключите поддержку WebDAV, там все начнет работать. В моем случае я решил просто создать дополнительный слушатель в Apache на пользовательском порту (8080 или 8443) и разместил там все мои инструкции по настройке SVN, так что все локализовано в одном месте.

Удачи!

Другие вопросы по тегам