FreeBSD

FreeBSD. Установка и настройка Subversion

Для удобства разработчиков больших и не очень проектов лучше использовать системы управления версиями (ревизиями). В этой статье речь пойдёт об установке самой популярной из низ - Subversion.

Subversionсвободная централизованная система управления версиями.

Subversion разработана специально для замены устаревшей системы CVS,
распространённой открытой системы управления версиями.

Subversion обладает всеми основными функциями CVS (хотя некоторые из них выполняет другими способами) и свободна от ряда её недостатков.

Установка

Для начала соберем Apache с поддержкой Berkley DB, так как я предпочитаю именно этот способ хранения данных.

  1. # cd /usr/ports/www/apache22/
  2. # make install WITH_BERKELEYDB=db42

Если Apache уже установлен, то

  1. # make reinstall WITH_BERKELEYDB=db42

на худой конец, если невозможно пересобрать Apache, то

  1. # make deinstall && make clean

можно еще зачистить

  1. # rm -rf /usr/ports/distfiles/*

а потом снова повторить установку!

Для запуска Apache при старте системы — прописываем в /etc/rc.conf

  1. apache22_enable="YES"

Далее, устанавливаем Subversion

  1. # cd /usr/ports/devel/subversion
  2. # make config

выбираем MOD_DAV_SVN и BDB

# make install

Проверьте, есть ли записи в /usr/local/etc/apache22/httpd.conf

  1. LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
  2. LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so

Где «libexec/apache22/» — ваш путь до модулей apache.

Перезагружаем apache

  1. # /usr/local/etc/rc.d/apache22 restart

Создаем репозиторий

Каталог для репозитория

  1. # mkdir -p /home/svn/repos

Каталог для вашего проекта

  1. # svnadmin create /home/svn/repos/_project_/

_project_ — заменить на имя вашего проекта (каталога).

Импортируем проект в репозиторий

  1. # cd /home/_project_/
  2. # svn import ./ file:///home/svn/repos/_project_ --message 'Initial repository layout'

Установим права веб-сервера

  1. # chown -R www:www /home/svn/

Добавить в /usr/local/etc/apache22/httpd.conf

  1. <location /svn>
  2.    DAV svn
  3.    # разрешает выдавать перечень всех доступных хранилищ
  4.    # в папке SVNParentPath
  5.    SVNListParentPath on
  6.    SVNParentPath /home/svn/repos
  7.    SVNPathAuthz off
  8.    # включения базовой аутентификации, т.е. имя_пользователя/пароль
  9.    AuthType Basic
  10.    AuthName "Subversion repository"
  11.    AuthUserFile /home/svn/svn-auth-file
  12.    # предписывает, что только пользователям, предоставившим
  13.    # правильные имя_пользователя/пароль, будет разрешён доступ к URL
  14.    Require valid-user
  15. <code></code></location>

Теперь, создадим пользователей для доступа к вашему проекту

  1. # htpasswd -cmb /home/svn/svn-auth-file _user_ _password_

и добавляем пользователей, так как ключ «-c» указывает на создание файла

  1. # htpasswd -mb /home/svn/svn-auth-file _user_ _password_

Где _user_ и _password_ — имя и пароль соответственно.

Ну вот и все, удачного checkout'a!

  1. # svn checkout http://_domain_/svn/_project_

Похожие статьи

RSS Комментарии (3)

Оставить комментарий

  • gnezim написал 20 октября 2009, 16:35

    раз поставлен www/apache22/ то в /etc/rc.conf нужно прописать apache22_enable=»YES» (две двойки)

  • gnezim написал 20 октября 2009, 16:35

    apachectl restart – заменить бы на не линксячий вариант: /usr/local/etc/rc.d/apache22 restart

  • Дозморов Игорь написал 21 октября 2009, 16:35

    Действительно. Исправл, благодарю.

Оставить комментарий