[править] Общие сведенияЭта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.ru. Главное отличие от предложения Услуги хостинга Subversion (SVN) заключается в том, что вы имеете полный доступ ко всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки, делать импорт и экспорт дампов. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных. Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту. [править] Создание репозитория, службы SVN1. В разделе личного кабинета /Хостинг HTTP служб/ добавляем к сайту демон SVN (если вы хотите интегрировать его с Trac, то нужно выбрать сайт, на которой и будет Trac установлен): После успешного добавления службы в таблице появятся ее параметры, обратите внимание на номер порта на котором будет работать ваша служба: 2. Создаем репозиторий: $ mkdir ~/svn; cd ~/svn && svnadmin create my_repo Важное замечание. Репозиторий будет работать только в каталоге ~/svn, поэтому не забывайте создавать его именно в нем.
[править] Добавление пользователей1. В разделе личного кабинета /Дополнительные FTP логины/ создаем дополнительного SSH-пользователя, для работы с SVN через SSH-туннель: в случае успешного добавления, в таблице появится такая запись: Этот пользователь сможет работать с SVN репозиторием через SSH-туннель. 2. Добавляем пользователя, редактируя файл [users] имя_пользователя = пароль Примечание. Для удобства можно использовать те же логин/пароль, что и для дополнительного SSH-входа.
В файле [/] имя_пользователя = rw Если вы хотите запретить анонимный доступ на чтение репозитория по протоколу SVN, то в файле anon-access = none auth-access = write password-db = passwd [править] Настройка клиентов, тестирование подключений[править] Протокол SVNРабота с репозиторием по протоколу SVN является наиболее быстрой и удобной, прекрасна реализована как в Windows, так и в UNIX системах.
1. UNIX, работа через консольный клиент svn --username=имя_пользователя list svn://адрес_вашего_сайта:SVN_порт/название_репозитория имя_пользователя - это имя из файла ~/svn/название_репозитория/conf/passwd 2. Windows TortoiseSVN Пример ввода URL в Repository Browser: Обзор репозитория: [править] Протокол SSH1. Работа из UNIX через консольный клиент sshtunnel = ssh -p 2222 -q Вообще тут возможны два варианта работы: авторизация по паролю, и авторизацию по ключу. Первый способ безопасен, но требует постоянного ввода пароля при доступе к SVN-репозиторию, при этом не нужно делать никаких дополнительных настроек как на сервере, так и на клиенте. Работает так: $ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя Password: команда попросит вас ввести пароль, который вы указывали при создании дополнительного SSH/SVN пользователя в разделе кабинета /Дополнительные FTP логины/. Второй способ заключается в настройке беспарольного доступа на основе авторизации по ключам. В Интернете масса информации по этому вопросу, поэтому мы остановимся только ньюансах. Важное замечание. После того, как вы разместили публичный ключ на сервере в файл command="[ ${USER} != имя_пользователя ] && exit" ssh-rsa AAAAB3N ... == user@hostname
имя_пользователя - имя пользователя из раздела кабинета /Дополнительные FTP логины/, соответственно это же имя должен использовать тот человек, чей ключ вы разместили на сервере. В этом случае команда: $ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя не будет спрашивать про пароль. [править] Туннель SSHЭто наиболее быстрый и безопасный способ работы с репозиторием. Работа идет по протоколу SVN, но не с удаленным сервером, а с локальной машиной (портом), на которую проброшен по защищенному SSH-каналу порт с удаленной машины. 1. Для UNIX систем достаточно сделать так: $ ssh -f -C -N -p 2222 -L 3690:адрес_вашего_сайта:SVN_порт имя_пользователя@адрес_вашего_сайта имя_пользователя - это имя из файла Тогда работать с SVN можно уже так: $ svn --username=имя_пользователя list svn://localhost/название_репозитория 2. Для Windows: Основные настройки для доступа по SSH на сервер через PuTTY см. в статье Юникс шелл, здесь будет только отмечена секция настройки туннелинга. После соединения с сервером по SSH в TortoiseSVN можно использовать такие URL: svn://localhost/название_репозитория [править] См. также[править] Ссылки
|
|





