SVN - быстрый старт (профессиональная версия)
Материал из 1GbWiki.
Версия 07:32, 16 мая 2011 (править) Dmach (Обсуждение | вклад) м (Правки 184.106.97.135 (обсуждение) откачены к версии Dmach) ← К предыдущему изменению |
Версия 12:50, 16 мая 2011 (править) (отменить) 63.249.32.179 (Обсуждение) (→Ðобавление полÑзоваÑелей) К следующему изменению → |
||
Строка 16: | Строка 16: | ||
---- | ---- | ||
- | + | YMMD with that anwesr! TX | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
=== Настройка клиентов, тестирование подключений === | === Настройка клиентов, тестирование подключений === |
Версия 12:50, 16 мая 2011
Содержание |
Общие сведения
Эта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.ru. Главное отличие от предложения Услуги хостинга Subversion (SVN) заключается в том, что вы имеете полный доступ к всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных. Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту.
Создание репозитория, службы SVN
- В разделе личного кабинета /Хостинг HTTP служб/ добавляем к сайту демон SVN (если вы хотите интегрировать его с Trac, то нужно выбрать сайт, на которой и будет Trac установлен):
После успешного добавления службы в таблице появятся ее параметры, обратите внимание на номер порта на котором будет работать ваша служба:
- Создаем репозиторий:
$ mkdir ~/svn; cd ~/svn && svnadmin create название_репозитория
Важное замечание. Репозиторий будет работать только в каталоге ~/svn, поэтому не забывайте создавать его именно в нем.
YMMD with that anwesr! TX
Настройка клиентов, тестирование подключений
Протокол SVN
Работа с репозиторием по протоколу SVN является наиболее быстрой и удобной, прекрасна реализована как в Windows, так и в UNIX системах.
- UNIX, работа через консольный клиент
svn
:
svn --username=имя_пользователя list svn://адрес_вашего_сайта:SVN_порт/название_репозитория
имя_пользователя - это имя из файла ~/svn/название_репозитория/conf/passwd
адрес_вашего_сайта - сайт, на котором вы создали SVN-даемон;
SVN_порт - порт, на котором работает SVN-даемон, указан в разделе кабинета /Хостинг HTTP служб/
название_репозитория - имя, которое вы задавали в команде svnadmin create
- Windows TortoiseSVN
Пример ввода URL в Repository Browser:
Обзор репозитория:
Протокол SSH
- Работа из UNIX через консольный клиент
svn
.
Прежде всего, у себя на локальной машине нужно сделать настройку svn клиента для работы по SSH-туннелю через специальный порт. Для этого в файле ~/.subversion/config
в секции [tunnels]
добавьте строку:
sshtunnel = ssh -p 2222
Вообще тут возможны два варианта работы: авторизация по паролю, и авторизацию по ключу.
Первый способ безопасен, но требует постоянного ввода пароля при доступе к SVN-репозиторию, при этом не нужно делать никаких дополнительных настроек как на сервере, так и на клиенте. Работает так:
$ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя Password:
команда попросит вас ввести пароль, который вы указывали при создании дополнительного SSH/SVN пользователя в разделе кабинета /Дополнительные FTP логины/.
Второй способ заключается в настройке беспарольного доступа на основе авторизации по ключам. В Интернете масса информации по этому вопросу, поэтому мы остановимся только ньюансах.
Важное замечание. После того, как вы разместили публичный ключ на сервере в файл ~/.ssh/authorized_keys
обязательно добавьте в начало строки (до слов ssh-rsa
или ssh-dsa
) с ключем следующий код:
command="[ ${USER} != имя_пользователя ] && exit" ssh-rsa AAAAB3N ... == user@hostname
имя_пользователя - имя пользователя из раздела кабинета /Дополнительные FTP логины/, соответственно это же имя должен использовать тот человек, чей ключ вы разместили на сервере.
В этом случае команда:
$ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя
не будет спрашивать про пароль.
Туннель SSH
Это наиболее быстрый и безопасный способ работы с репозиторием. Работа идет по протоколу SVN, но не с удаленным сервером, а с локальной машиной (портом), на которую проброшен по защищенному SSH-каналу порт с удаленной машины.
- Для UNIX систем достаточно сделать так:
$ ssh -f -C -N -p 2222 -L 3690:адрес_вашего_сайта:SVN_порт имя_пользователя@адрес_вашего_сайта
имя_пользователя - это имя из файла ~/svn/название_репозитория/conf/passwd
адрес_вашего_сайта - сайт, на котором вы создали SVN-даемон;
SVN_порт - порт, на котором работает SVN-даемон, указан в разделе кабинета /Хостинг HTTP служб/
Тогда работать с SVN можно уже так:
$ svn --username=имя_пользователя list svn://localhost/название_репозитория
- Для Windows:
Основные настройки для доступа по SSH на сервер через PuTTY см. в статье Юникс шелл, здесь будет только отмечена секция настройки туннелинга.
После соединения с сервером по SSH в TortoiseSVN можно использовать такие URL:
svn://localhost/название_репозитория
См. также
Ссылки
- Subversion (рус.) - общая информация по Subversion на сайте wikipedia.
- Управление версиями в Subversion (рус.) - официальная документация по Subversion.
- TortoiseSVN (рус.) - документация по TortoiseSVN.