Я столкнулся с проблемой, которая сводит меня с ума. Я установил с нуля машину 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
Файл конфигурации apache используется только при доступе к репозиторию с помощью http
или https
. Когда вы используете svn
, соединение обрабатывается svnserve
это совершенно отдельная программа.
Документация для svnserve доступна по адресу книга SVN или страница руководства man svnserve
и man svnserve.conf
. Вы можете установить корневой путь при его вызове, например:
svnserve -r /var/www
чтобы он начал искать файлы и репозитории в /var/www
вместо того, чтобы сразу под /
.