Псевдоним Apache работает в браузере, но не работает при попытке доступа через клиент SVN

Я столкнулся с проблемой, которая сводит меня с ума. Я с нуля установил машину с Ubuntu 14.04, установил LAMP-стек и subversion. Я создал новую папку /var/www/svn и импортировал свои различные SVN-дампы. Убедитесь, что все они были установлены в файле svnserve.conf, чтобы они были доступны через svn://, а также убедитесь, что в файле passwd есть пользователь, чтобы я мог получить к нему доступ. Я добавил себя и пользователя www-data в этот каталог, чтобы он был доступен в Интернете. Чтобы не беспокоиться о слишком большом количестве атрибутов, я запустил svnserve с помощью следующей команды svnserve -d,

Затем я добавил к своему 000-default.conf псевдоним Alias /svn /var/www/svn, перезапустил сервис apache2, и он работал как брелок в браузере.

Теперь к моей реальной проблеме, когда я пытаюсь получить доступ к репозиторию с помощью tortoisesvn, я получаю сообщение об ошибке, что в этом месте нет svn. Потратив довольно много времени на исследования, я вижу, что кто-то упомянул, что он смог получить к нему доступ, используя "полный" путь. Поэтому я попробовал следующее svn://mydomain.com/var/www/svnи это работает...

Поскольку псевдоним работает в браузере, но не в клиенте SVN, я совершенно поражен.

Есть идеи?


Подводя итог: я использую www.example.com/svn/myrepo, когда он не работает, и когда я использую www.example.com/var/www/svn/myrepo, тогда он работает.

Полный 000-default.conf:

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com

    ServerAdmin my-email@example.com
    DocumentRoot /var/www/html

    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>

    <Directory /var/www/html/>
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    Alias /svn /var/www/svn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Выход из apachectl -S

VirtualHost configuration:*:80 www.example.com (/etc/apache2/sites-enabled/000-default.conf:1) ServerRoot: "/etc/apache2" Main DocumentRoot: "/var/www" Main ErrorLog: "/var/log/apache2/error.log" Mutex default: dir="/var/lock/apache2" mechanism=fcntl Mutex mpm-accept: using_defaults Mutex watchdog-callback: using_defaults Mutex rewrite-map: using_defaults PidFile: "/var/run/apache2/apache2.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="www-data" id=33 not_used Group: name="www-data" id=33 not_used

1 ответ

Решение

Конфигурационный файл apache используется только при доступе к хранилищу с помощью http или же https, Когда вы используете svn, соединение обрабатывается svnserve это совершенно отдельная программа.

Документация по svnserve доступна в книге SVN или на странице руководства man svnserve а также man svnserve.conf, Вы можете установить корневой путь, когда вызываете его, например, так:

svnserve -r /var/www

чтобы он начал искать файлы и репозитории под /var/www вместо того, чтобы сразу под /,

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