Как стать автором
Обновить

Ставим SVN на FreeBSD. Для чайников

Время на прочтение3 мин
Количество просмотров2.2K
все что тут будет написано для чайников, вроде меня, которые плохо еще разбираются в администрировании сервера, но хотят поставить себе SVN( вопрос зачем за гранью статьи). Все что тут написано есть на самом деле в хелпе svnbook.red-bean.com/nightly/ru/index.html

Первое, установка
Cтавить будем из портов, лежит оно тут $ cd /usr/ports/devel/subversion/
ставится это так: $ make вам откроется менюшка, в ней все смело можно отключать, особенно если вам не нужно веб представление файлов (хенд бук еще можно установить).
$ make install — и поставится.
можете проверить как встало: $ man svn

Второе, запуск демона
Для начала нам нужен пользователь, от имени которого мы будем запускать наш SVN сервер. Тут все просто:
$ adduser
Username: svn
Full name: subversion
Uid (Leave empty for default):
Login group [svn]: svn
Login group is svn. Invite svn into other groups? []:
Login class [default]:
Shell (sh csh tcsh date bash rbash nologin) [sh]: nologin
Home directory [/home/svn]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]: yes
Username   : svn
Password   : <disabled>
Full Name  : subversion
Uid        : 1002
Class      :
Groups     : svn
Home       : /home/svn
Home Mode  :
Shell      : /usr/sbin/nologin
Locked     : yes
OK? (yes/no): yes
pw: group `svn' does not exist
adduser: ERROR: There was an error adding user (svn).
Add another user? (yes/no): no
Goodbye!


теперь, когда пользователь создан, вы должны сконфигурировать скрипт запуска
в /usr/local/etc/rc.d будет скрипт svnserve его править не нужно там и так указано что все запускаться будет от имени пользователя svn, которого мы выше создали.
видно что там используются переменные, их нужно задать в /etc/rc.conf
добавим строки
svnserve_enable=«YES» # так он станет демоном
svnserve_data="/home/svn" # определяем домашний каталог
теперь пора запустить сервер
$ /usr/local/etc/rc.d/svnserve start
надеюсь я ничего не забыл сказать и у вас все запустилось!
запустился ли svn-сервер смотрим так:
$ ps -ax | grep svn

Для Debian
cd /etc/init.d/
touch svnserve
echo «sudo -u svn svnserve -d -r /home/svn/» >>svnserve
chmod +x svnserve
update-rc.d svnserve defaults
читай еще тут

третье, управление репозиторием.
(пологаю что у вас уже установлен TortoiseSVN tortoisesvn.net/downloads)
создание тестового репозитория $ svnadmin create /home/svn/test/
настроим пользователей SVN: /home/svn/test/conf/svnserve.conf в этом файле раскоментируем строки
anon-access=none # Не авторизованные не могут смотреть и вообще ничего делать
auth-access=write # Авторизованные смогут писать в свн репозиторий
password-db=passwd # так мы укажем в каком файле перечисляем пользователей репозитория.
Внимание: не допускайте паразитных пробелов — SVN не терпим к этому.
редактирование /home/svn/test/conf/svnserve.conf закончено.
теперь редактируем файл /home/svn/test/conf/passwd
пишем что-то вроде
user=password
все теперь наш SVN готов к использованию! в TortoiseSVN делаем checkout (правой кнопкой мыши на любой пустой папке куда хотите сделать выгрузку репозитория) на svn://yourdomain/test/ — обязательно указание репозитория.

Если вы все сделали верно, то у вас будет нечто на подобии:
Command: Commit
Deleting: W:\workFiles\test\
Completed: At revision: 1
в общем-то все теперь этим уже можно пользоваться дальше изучайте возможности TortoiseSVN.

при желании напишу о том, как нам сделать выгрузку файлов из репозитория в рабочую папку сервера и при этом дать им нужного владельца
если нада из под svn делать выгрузку данных то можно сделать так:
svn ALL=(web) NOPASSWD: ALL
чтобы при комите перезаписывать файлы принадлежащие группе (web)
/usr/bin/sudo -u user_name /usr/bin/svn update --username svn_user_name --password svn_user_password path/to/site/work/copy
Теги:
Хабы:
+1
Комментарии5

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн