26 февраля 2009 г. FreeBSD Subversion Svn

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

Далее, устанавливаем 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

Комментарии

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

Буду рад, если пригодится!

Даешь SVN без .svn!

Михаил Кузьмин 28 мая 2009 г. 13:12

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

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

Александр 2 июня 2009 г. 15:30

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

Александр, да я так, стебусь :)

Александр 2 июня 2009 г. 16:41

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

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

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

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

Александр 2 июня 2009 г. 18:13

Переправил.

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

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

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

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

Аналогичная инструкция, но для Debian/Ubuntu:
Установка и настройка Subversion, Apache, WebSvn в Debian / Ubuntu

при установке 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.

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

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

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


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

а у мну нет такого! =)

Ссори, спутал каталоги, он находится в /usr/ports/devel/subversion/
Мог бы и сам посмотреть http://www.freshports.org/devel/subversion/

спасибо, убил процессы, повысил тариф на день, помогло =)

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

еще бы расписали SALS2

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

Markdown