Содержание
Ставим SVN на FreeBSD
— lonebuddha 2024/02/18 16:55
В этой статье описаны шаги установки SVN (Subversion) на FreeBSD.
Установка
pkg install subversion
Создание репозитория
cd <путь к репозиторию> svnadmin create <имя репозитория>
Предварительная настройка
ee <путь к репозиторию>\<имя репозитория>\conf\svnserve.conf
Используя параметры anon-access - права анонимных пользователей и auth-access - права авторизованных пользователей настраиваем поведение репозитория
anon-access = none auth-access = write
возможные значения none,read,write. Раскомментируйте строку (уберите решётку перед строкой):
password-db = passwd
Эта строка задает файл с пользователями SVN. Раскомментируйте строку (уберите решётку перед строкой):
authz-db = authz
Эта строка включает функции, отвечающие за разграничение прав пользователей.
Создание пользователей SVN
Откройте файл, который задан в файле svnserve.conf как файл со списком пользователей и их паролей в директиве password-db. По умолчанию этот файл называется passwd.
ee <путь к репозиторию>\<имя репозитория>\conf\passwd
Впишите в этот файл нужных Вам пользователей и их пароли (синтаксис логин = пароль).
Создание групп пользователей
Для удобства администрирования можно создать группы, но делать это не обязательно. Итак, если Вы хотите создать группы, откройте файл, который задан в файле svnserve.conf как файл со списком пользователей и их паролей в директиве authz-db. По умолчанию этот файл называется authz, найдите [groups] и после примеров впишите:
название_группы = пользователь1,пользователь2,...,пользовательN
Название группы должно содержать только латинские символы, цифры и символ подчёркивания. После знака равенства пишутся логины пользователей, которые будут входить в эту группу. Эти логины должны существовать в файле passwd.
Настройка прав доступа
В том же текстовом файле authz, что и на предыдущем шаге, ищем «### ACCESS CONTROL SECTION«. После этой секции идёт указание прав доступа для каталогов svn-сервера.
# Указываем каталог [/] # Задаем права для групп, отдельных пользователей. * - все остальные @название_группы = rw пользователь1,пользователь2 = r * =
Таким образом, rw означает полный доступ (чтение, создание, редактирование, удаление), r (только чтение) и пустая строка — нет доступа.
Создание пользователя для запуска демона
Для начала нам нужен пользователь, от имени которого мы будем запускать наш 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]: no
Запуск сервера
Cконфигурируем скрипт запуска в /usr/local/etc/rc.d будет скрипт svnserve его править не нужно там и так указано что все запускаться будет от имени пользователя svn, которого мы выше создали. видно что там используются переменные, их нужно задать в /etc/rc.conf
ee /etc/rc.conf
добавим строки
svnserve_enable=«YES» # так он станет демоном svnserve_data="путь к репозиторию" # определяем домашний каталог
теперь пора запустить сервер
service svnserve start
запустился ли svn-сервер смотрим так:
ps -ax | grep svn
