SVN - быстрый старт (профессиональная версия)

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 12:50, 16 мая 2011 (править)
63.249.32.179 (Обсуждение)
(Добавление пользователей)
← К предыдущему изменению
Версия 21:01, 16 мая 2011 (править) (отменить)
128.214.14.129 (Обсуждение)
(Протокол SSH)
К следующему изменению →
Строка 36: Строка 36:
[[Изображение:Repo_browser.jpg|500px|thumb|left|Рабочее окно Repo-browser]]<br clear="both" /> [[Изображение:Repo_browser.jpg|500px|thumb|left|Рабочее окно Repo-browser]]<br clear="both" />
-==== Протокол SSH ====+That's not just the best asnewr. It's the bestest answer!
-* Работа из UNIX через консольный клиент <code>svn</code>.+
-Прежде всего, у себя на локальной машине нужно сделать настройку svn клиента для работы по SSH-туннелю через специальный порт. Для этого в файле <code>~/.subversion/config</code> в секции <code>[tunnels]</code> добавьте строку:+
- sshtunnel = ssh -p 2222+
- +
-Вообще тут возможны два варианта работы: авторизация по паролю, и авторизацию по ключу.+
- +
-''Первый способ'' безопасен, но требует постоянного ввода пароля при доступе к SVN-репозиторию, при этом не нужно делать никаких дополнительных настроек как на сервере, так и на клиенте. Работает так:+
- $ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя+
- Password:+
-команда попросит вас ввести пароль, который вы указывали при создании дополнительного SSH/SVN пользователя в разделе кабинета /Дополнительные FTP логины/.+
- +
-''Второй способ'' заключается в настройке беспарольного доступа на основе авторизации по ключам. В Интернете масса информации по этому вопросу, поэтому мы остановимся только ньюансах.+
- +
-'''Важное замечание.''' После того, как вы разместили публичный ключ на сервере в файл <code>~/.ssh/authorized_keys</code> '''обязательно''' добавьте в начало строки (до слов <code>ssh-rsa</code> или <code>ssh-dsa</code>) с ключем следующий код:+
- command="[ ${USER} != имя_пользователя ] && exit" ssh-rsa AAAAB3N ... == user@hostname+
- +
-'''имя_пользователя''' - имя пользователя из раздела кабинета /Дополнительные FTP логины/, соответственно это же имя должен использовать тот человек, чей ключ вы разместили на сервере.+
- +
-В этом случае команда:+
- $ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя+
-не будет спрашивать про пароль.+
==== Туннель SSH ==== ==== Туннель SSH ====

Версия 21:01, 16 мая 2011

Содержание

Общие сведения

Эта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.ru. Главное отличие от предложения Услуги хостинга Subversion (SVN) заключается в том, что вы имеете полный доступ к всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных. Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту.

Создание репозитория, службы SVN

  • В разделе личного кабинета /Хостинг HTTP служб/ добавляем к сайту демон SVN (если вы хотите интегрировать его с Trac, то нужно выбрать сайт, на которой и будет Trac установлен):
Добавление службы SVN к сайту
Добавление службы SVN к сайту

После успешного добавления службы в таблице появятся ее параметры, обратите внимание на номер порта на котором будет работать ваша служба:

Параметры службы
Параметры службы

  • Создаем репозиторий:
$ 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:

Ввод URL
Ввод URL

Обзор репозитория:

Рабочее окно Repo-browser
Рабочее окно Repo-browser

That's not just the best asnewr. It's the bestest answer!

Туннель 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/название_репозитория

См. также

Ссылки

Личные инструменты