← Все записи

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

subversion

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

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

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

apache2_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/” - ваш путь до модулей индейца.

Перезагружаем индейца


apachectl 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
</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_

P.S. Subversion 1.5

UPD: Настройка групп и прав в Subversion

Комментарии 24

Архив обсуждения. Новые комментарии закрыты.

Alex Snet

Ммм, спасибо!
Как раз кое-что пишу сейчас, для чего собираю большую коллекцию разных систем установок в разных ОСях =))
надеюсь, пригодится =))

FreeBSD. Порты, пакеты и обновление ПО | Мастерская интернет-разработчика

[…] apache svn freebsd Оставить комментарий Comment RSS | Теги: FreeBSD, Linux Назад: Sun Tech Days 2009 Далее: FreeBSD. Резервирование данных при помощи fsbackup […]

Сделал новый сервис browsInfo! | Мастерская интернет-разработчика

[…] Subversion […]

Список плагинов для FireFox 2 - облегчающие жизнь веб-программисту! | Мастерская интернет-разработчика

[…] настройка subversion […]

Михаил Кузьмин

Первые три комментатора дело говорят :)

adw0rd

Боты научились считать кол-во комментариев?

Александр

adw0rd
Интересно… Раз так, то что раньше они не почесались…
Ведь стандартный ol class=“commentlist” ой как много мишеней выдаст. Просто “Парсь - не хочу !” ;)

Александр

Шутка шуткой, но ее могут взять и на массовое вооружение ;)

Тут на почту вот что свалилось от вас:

Invalid HTML !
Please forward this message to developers.
Thanks.
EConvertError ‘1076707670767’ is not a valid integer value

adw0rd

Александр, эээ… а можно полностью письмо и его сорец со всеми заголовками, плизз :)

Александр

Переправил.

Только это похоже глюк Bat’a.
Через web интерфейс все нормально.

Бат старой версии. Может у него проблема при обработке писем в utf…

adw0rd

Переправил.
Не пришло :(

Бат старой версии. Может у него проблема при обработке писем в utf…
Может быть…

Sinkler

при установке svn’a вылетает такая приколюшка

sqlite3.c: In function 'sqlite3BtreeFactory':
sqlite3.c:95726: warning: passing argument 2 of 'sqlite3BtreeOpen' discards qual                                                                             ifiers from pointer target type
{standard input}: Assembler messages:
{standard input}:85633: Warning: end of file not at end of a line; newline inser                                                                             ted
{standard input}:87442: Error: unbalanced parenthesis in operand 1.
cc: Internal error: Killed: 9 (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
eval: Cannot fork: Cannot allocate memory
gmake: *** [sqlite3.lo] Error 2
*** Error code 1

Stop in /usr/ports/databases/sqlite3.
*** Error code 1

Stop in /usr/ports/databases/sqlite3.
*** Error code 1

Stop in /usr/ports/devel/subversion.
*** Error code 1

Stop in /usr/ports/devel/subversion.

в чем прикол, не пойму. ответа нигде не найду, поэтому спрашиваю, опыта у тебя поболее с фряхой…

adw0rd

Скорее всего, при компиляции не хватило памяти. Ребутни вдс и ставь только svn, больше ничего параллельно не ставь

adw0rd

И еще, сначала сделай:


cd /usr/ports/databases/subversion
make deinstall && make clean && make distlean
adw0rd

Ухаха, экономист )
Сплотись с кем нибудь и оплачивайте vps пополам