Проблемы с получением Subversion + Apache для работы - PullRequest
1 голос
/ 06 ноября 2010

Следуя инструкциям этого полезного руководства , я пытался настроить Subversion на своем сайте, используя Apache вместо svnserve.После того, как все настроено, у меня будет хранилище на / srv / svn / myrepository , доступное с code.mydomain.com .

Однако послеследуя всем инструкциям в руководстве, указанном выше, при посещении code.mydomain.com отображается содержимое сайта Apache по умолчанию, / var / www (т. е. «Это работает!»).Это также приводит к следующей ошибке в моем журнале Apache:

[Sat Nov 06 10:11:33 2010] [notice] caught SIGTERM, shutting down
[Sat Nov 06 10:11:34 2010] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sat Nov 06 10:11:34 2010] [notice] mod_python: using mutex_directory /tmp
[Sat Nov 06 10:11:34 2010] [notice] Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 configured -- resuming normal operations

Вот отредактированная версия конфигурации моего сайта:

<VirtualHost my.server.ip:80>
        ServerAdmin me@mydomain.com
        ServerName code.mydomain.com
        ErrorLog /srv/www/code.mydomain.com/logs/error.log
        CustomLog /srv/www/code.mydomain.com/logs/access.log combined

        <Location />
                DAV svn
                SVNPath /srv/svn/myrepository

                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /srv/auth/svn/myrepository.htpasswd
                Require valid-user
        </Location>
</VirtualHost>

Заранее благодарим за любую помощь, которую вы можетеОбеспечить!


Вот результаты некоторых действий по устранению неполадок, которые я сделал согласно советам других пользователей (большое спасибо).В каждом случае я перезапускал Apache после внесения изменений, а затем проверял сайт, чтобы проверить результаты:

0) Я не подключаюсь через SSL.

1) SVNParentPath необходим, только когда несколькорепозитории используются - здесь я использую только один.Тем не менее, я повторно выполнил настройку, используя SVNParentPath в качестве теста, и получил тот же результат.

2) Я попытался поместить параметры Auth в раздел Limit и получил тот же результат.Затем я удалил все параметры аутентификации, но получил тот же результат.

3) Удалив все параметры аутентификации из файла конфигурации и получив тот же результат, я не думаю, что это связано с модулем авторизации.;тем не менее, я могу подтвердить, что, хотя у меня загружен модуль dav_svn, у меня не загружен модуль authz_svn.

4) Я уже создал хранилище в папке / srv / svn /мой репозиторий .Я запустил svnadmin verify в этом месте, и инструмент сообщил, что все хорошо.

5) Я нахожусь на Debian 5, где Apache работает как www-data;и до этого я передал www-data: www-data владение / srv / svn , а также / srv / svn / myrepository .Я проверил stat в этих каталогах, чтобы проверить это.

6) Пинг code.mydomain.com показывает, что он действительно разрешается с правильным IP

7) Я запустил a2ensite code.mydomain.com , что, очевидно, не было сделано (упс), и перезапустил Apache.Папка / srv / www / code.mydomain.com / logs теперь содержит access.log и error.log, но оба файла остаются пустыми.Между тем, попытка доступа к code.mydomain.com приводит к тому же результату, что и раньше, и файл Apache error.log по умолчанию содержит те же сообщения об ошибках, что и раньше.

8) Ни один из ApacheФайлы конфигурации содержат NameVirtualHost *: 80 строка.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2010

Я думаю, вам просто нужно убедиться, что виртуальный домен svn sites находится на вершине иерархии.По умолчанию в системах Debian порт по умолчанию настроен на домен по умолчанию.Вы можете изменить его для конкретного домена.

проверьте эту ссылку http://www.daniweb.com/forums/thread268331.html для получения подробных инструкций.

Последняя строка "sudo a2ensite svn.example.com" будетбыть важным.

0 голосов
/ 06 ноября 2010

прежде всего проверьте, что вы собираетесь http , а не https .

Я использую Centos 5.5. Сравнение моего /etc/httpd/conf.d/subversion.conf с тем, что вы предоставляете, приводит к следующим наблюдениям.

проверка:

  1. SVNPath должен быть SVNParentPath
  2. попробуйте закомментировать AuthType, AuthName, AuthUserFile и Require, чтобы проверить, работает ли это. Попробуйте заключить их в:

    <LimitExcept GET PROPFIND OPTIONS REPORT>
    ...
    </LimitExcept>
    
  3. эти строки где-то

    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    
  4. что вы сделали

    svnadmin create /srv/svn/myrepository
    
  5. что вы сделали

    chown -R apache.apache /srv/svn/myrepository
    

    (если вы используете Debian / Ubuntu, apache.apache будет www-data: www-data).

кажется, что вы не должны помещать эти вещи в файл /etc/apache2/sites-available/code.domain.com, вместо этого вы должны редактировать /etc/apache2/mods-available/dav_svn.conf (он должен уже быть там и содержать более или менее те же самые вещи, которые вы пытаетесь поместить в файл conf сайта. удалите все дубликаты из файла conf сайта).

вам нужно будет указать путь в локации, /svn.

...