Устанавливаем SVN-сервер
Первая версия была взята здесь, это была основа для изменений и дополнений.
Установка
Устанавливаем Subversion:
cd /usr/ports/devel/subversion make install clean
Отмечаем опции на стадии configure:
[X] MOD_DAV_SVN mod_dav_svn module for Apache 2.X [X] NEON WebDAV/Delta-V repository access module
Остальные галочки следует отключить
После успешной сборки и установки следует отредактировать конфигурацию apache:
vi /usr/local/etc/apache22/httpd.conf
Найдите в нем mod_dav_fs.so, раскомментируйте и пропишите ниже остальных модулей, чтобы получилось вот так:
LoadModule dav_module libexec/apache22/mod_dav.so LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so
Как всегда важна последовательность объявления, у меня почему то было в неправильной последовательности....
Далее пропишите в конфигурацию Location для работы модулей:
<Location /svn> DAV svn SVNParentPath /home/svn # SVNIndexXSLT "/svnindex.xsl" AuthType Basic AuthName "Subversion repository" AuthUserFile /usr/local/etc/svn.passwd Require valid-user </Location>
На этом редактирование конфигурации apache закончено, создайте репозиторий, назовем его project:
mkdir /home/svn rehash svnadmin create /home/svn/project chown -R www:www /home/svn
Добавьте пользователя для ограничения доступа к серверу SVN:
htpasswd -b -c /usr/local/etc/svn.passwd svn password Adding password for user svn chown www:www /usr/local/etc/svn.passwd chmod 600 /usr/local/etc/svn.passwd
где добавляемый пользователь svn и пароль password
Перезапустите apache:
apachectl restart
И проверьте что все работает открыв URL в браузере: http://ip-адрес.вашего.сервера/svn/project/
В принципе можно уже работать. Запустите TortoiseSVN, подключитесь по вышеупомянутому адресу, все должно пройти безо всяких проблем.
Если нужно сделать более красивое отображение через web, то тогда скопируйте файлы:
cp /usr/local/share/subversion/xslt/svnindex.* /usr/local/www/apache22/data/
И уберите комментарий со строки:
# SVNIndexXSLT "/svnindex.xsl"
Если у вас используется какой-либо домен, например svn.example.com, то тогда следует скопировать xsl-файлы в папку этого www-домена:
cp /usr/local/share/subversion/xslt/svnindex.* /home/test/data/www/svn.example.com/
Также следует учитывать, что при заходе на сервер по IP-адресу (т.е. http://ip-адрес.вашего.сервера/svn/project/), файлы .xslt всегда будут искаться в первом виртуальном хосте в конфигурации apache.
На этом первоначальная установка настройка SVN-сервера закончена.