Процедура установки довольно проста, но, как часто бывает, предварительное прочтение инструкции экономит вам кучу времени. Здесь я рассматриваю простейший случай: репозиторий доступен только по HTTP/HTTPS (настройку SSL приводить не буду), разработчиков немного, поэтому персональных разрешений на директории мы не выставляем.
Сначала нужно установить Apache (я использую версию 2.2):
cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db42 install
либо, если он у вас уже установлен, пересобрать его с поддержкой Berkeley DB:
portupgrade -f -m "WITH_BERKELEYDB=db42" www/apache22
Далее собираем и ставим SVN (тут, если ваш Apache собран без BDB, сборка прервется сообщением об ошибке):
cd /usr/ports/devel/subversion
make WITH_MOD_DAV_SVN= install
Всё необходимое установлено. Теперь нужно создать репозиторий и проект в нем:
mkdir /usr/local/www/repo
svnadmin create /usr/local/www/repo/project
chown -R www:www /usr/local/www/repo
Файл с паролями пользователей:
htpasswd -c /usr/local/etc/svn.passwd user password
Внести настройки модуля dav_svn в конфиг Apache и рестартовать веб-сервер:
edit /usr/local/etc/apache22/httpd.conf
<Location /svn>
DAV svn
SVNParentPath /usr/local/www/repo
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/svn.passwd
Require valid-user
</Location>
apachectl restart
Чтобы проверить, как работает наш репозиторий, можно поставить графический клиент (например, TortoiseSVN) или выполнить от имени пользователя user команду:
svn co http://server.net/svn/project/ project
Что читать дальше? По настройке и улучшению безопасности сервера: Setting up a Secure Subversion Server и Accessing Secure Subversion Servers (две статьи от Дрю Лавинь, рассматривается настройка без веб-сервера с доступом по SSH и более сложные случаи раздачи прав пользователей), Using Subversion for Collaborative Development.
По использованию: Управление версиями в Subversion.
|