Pull to refresh

Установка Subversion на Synology DS210j

Reading time 2 min
Views 6.9K
imageВ свое время озадачился добавлением в свою небольшую домашнюю сеть компактного сервера, для хранения и закачки медиа контента, iTunes/UPnP сервера, backup своих проектов, TimeMachinе и.т.д.
В ходе чтения обзоров остановился на недавно вышедшей модели DS210j от Synology. В ходе переноса данных на NAS для хранения проектов решил установить Систему контроля версий — Subversion.
Если интересно добро пожаловать под кат.


Первоначальные приготовления


  • Включить SSH в настройках Synology Disk Station Manager
  • Там же создать пользователя для демона svnserve (пусть будет svnowner)
  • Там же создать шару для репозиториев, пользователю svnowner дать права RW

Установка ipkg bootstrap


Bootstrap это скрипт, который устанавливает ipkg (система управления пакетами — Package Management System). В начале установки нужно выяснить какой процессор у Вашего NAS. Это можно посмотреть тут и сразу скачать нужный IPKG. Копируем установочный пакет в шару public, заходим root'ом на NAS, в консоли выполняем следующие команды:

>sh /volume1/public/syno-mvkw-bootstrap_1.2-7_arm.xsh
>rm /volume1/public/syno-mvkw-bootstrap_1.2-7_arm.xsh
>ipkg update
>ipkg upgrade

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


Установка subversion очень проста:
>ipkg install svn
svnserve можно запустить как обычный демон, тогда он будет находиться постоянно в памяти и ждать запростов от пользователей. Постоянно занимать память — не совсем удобно, учитывая, что памяти у DS210j всего 128МБ поэтому воспользуемся возможностью запускать svnserve через демон inetd, он слушает порт, на который могут прийти запросы к svnserve и «поднимает» его для обработки пришедших запросов.

запускаем текстовый редактор vi
>vi /etc/inetd.conf
добавляем
svn stream tcp nowait svnowner /opt/bin/svnserve svnserve -i -r /volume1/svn
Сохраняемся/выходим :wq, svnowner это пользователь с доступом к каталогу /volume1/svn,
добавляем порты для протокола subversion в файл /etc/service
svn 3690/tcp # Subversion
svn 3690/udp # Subversion

Перегружаем NAS.

Создание тестового репозитария


Подключаемся рутом на Diskstation, переключаемся на пользователя swnowner (su svnowner), если появляется ошибка «su: cannot run /sbin/nologin: No such file or directory» делаем следующее:
>vi /etc/passwd
меняем строку
some_user:x:1025:100:Descriptive text:/nonexist:/sbin/nologin
на
some_user:x:1025:100:Descriptive text:/nonexist:/bin/ash
Создаем в шаре /volume1/svn тестовый репозитарий
cd /volume1/svn
svnadmin create test


Права доступа


Переходим на шару /volume1/svn/test/conf и любым текстовым редактором добавляем пользователей в файл passwd
[users]
testuser = testpassword

настройки аунтификации и приглашения в файле svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = My test repository


Пробуем подключится SVN клиентом или из консоли командой:
svn co svn://<IP сервера>/test <папка назначения>

Вот и все. В качестве заключения рекомендую замечательную и совершенно свободную книгу Управление версиями в Subversion.
Tags:
Hubs:
+17
Comments 21
Comments Comments 21

Articles