FreeBSD. Установка и настройка Subversion
Для удобства разработчиков больших и не очень проектов лучше использовать системы управления версиями (ревизиями). В этой статье речь пойдёт об установке самой популярной из низ - Subversion.
— свободная централизованная система управления версиями.
Subversion разработана специально для замены устаревшей системы ,
распространённой открытой системы управления версиями.
Subversion обладает всеми основными функциями CVS (хотя некоторые из них выполняет другими способами) и свободна от ряда её недостатков.
Установка
Для начала соберем Apache с поддержкой Berkley DB, так как я предпочитаю именно этот способ хранения данных.
-
# cd /usr/ports/www/apache22/
-
# make install WITH_BERKELEYDB=db42
Если Apache уже установлен, то
-
# make reinstall WITH_BERKELEYDB=db42
на худой конец, если невозможно пересобрать Apache, то
-
# make deinstall && make clean
можно еще зачистить
-
# rm -rf /usr/ports/distfiles/*
а потом снова повторить установку!
Для запуска Apache при старте системы — прописываем в /etc/rc.conf
-
apache22_enable="YES"
Далее, устанавливаем Subversion
-
# cd /usr/ports/devel/subversion
-
# make config
выбираем MOD_DAV_SVN и BDB
# make install
Проверьте, есть ли записи в /usr/local/etc/apache22/httpd.conf
-
LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
-
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so
Где «libexec/apache22/» — ваш путь до модулей apache.
Перезагружаем apache
-
# /usr/local/etc/rc.d/apache22 restart
Создаем репозиторий
Каталог для репозитория
-
# mkdir -p /home/svn/repos
Каталог для вашего проекта
-
# svnadmin create /home/svn/repos/_project_/
_project_ — заменить на имя вашего проекта (каталога).
Импортируем проект в репозиторий
-
# cd /home/_project_/
-
# svn import ./ file:///home/svn/repos/_project_ --message 'Initial repository layout'
Установим права веб-сервера
-
# chown -R www:www /home/svn/
Добавить в /usr/local/etc/apache22/httpd.conf
-
<location /svn>
-
DAV svn
-
# разрешает выдавать перечень всех доступных хранилищ
-
# в папке SVNParentPath
-
SVNListParentPath on
-
SVNParentPath /home/svn/repos
-
SVNPathAuthz off
-
# включения базовой аутентификации, т.е. имя_пользователя/пароль
-
AuthType Basic
-
AuthName "Subversion repository"
-
AuthUserFile /home/svn/svn-auth-file
-
# предписывает, что только пользователям, предоставившим
-
# правильные имя_пользователя/пароль, будет разрешён доступ к URL
-
Require valid-user
-
<code></code></location>
Теперь, создадим пользователей для доступа к вашему проекту
-
# htpasswd -cmb /home/svn/svn-auth-file _user_ _password_
и добавляем пользователей, так как ключ «-c» указывает на создание файла
-
# htpasswd -mb /home/svn/svn-auth-file _user_ _password_
Где _user_ и _password_ — имя и пароль соответственно.
Ну вот и все, удачного checkout'a!
-
# svn checkout http://_domain_/svn/_project_

RSS Комментарии (3)
Оставить комментарий
раз поставлен www/apache22/ то в /etc/rc.conf нужно прописать apache22_enable=»YES» (две двойки)
apachectl restart – заменить бы на не линксячий вариант: /usr/local/etc/rc.d/apache22 restart
Действительно. Исправл, благодарю.