http://www.1gb.ua/wiki/index.php?title=SVN_-_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82_%28%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%29&action=history&feed=atomSVN - быстрый старт (профессиональная версия) - История изменений2024-03-29T00:21:00ZИстория изменений этой страницы в викиMediaWiki 1.10.1http://www.1gb.ua/wiki/index.php?title=SVN_-_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82_%28%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%29&diff=5366&oldid=prevChapay в 18:42, 30 октября 20182018-10-30T18:42:41Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">← Предыдущая</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Версия 18:42, 30 октября 2018</td>
</tr>
<tr><td colspan="2" align="left"><strong>Строка 1:</strong></td>
<td colspan="2" align="left"><strong>Строка 1:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">== Общие сведения ==</td><td> </td><td style="background: #eee; font-size: smaller;">== Общие сведения ==</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">Эта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>. Главное отличие от предложения [http://www.1gb.<del style="color: red; font-weight: bold; text-decoration: none;">ru</del>/services_svn.php Услуги хостинга Subversion (SVN)] заключается в том, что вы имеете полный доступ ко всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки, делать импорт и экспорт дампов. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных.</td><td>+</td><td style="background: #cfc; font-size: smaller;">Эта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>. Главное отличие от предложения [http://www.1gb.<ins style="color: red; font-weight: bold; text-decoration: none;">ua</ins>/services_svn.php Услуги хостинга Subversion (SVN)] заключается в том, что вы имеете полный доступ ко всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки, делать импорт и экспорт дампов. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту.</td><td> </td><td style="background: #eee; font-size: smaller;">Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
</table>Chapayhttp://www.1gb.ua/wiki/index.php?title=SVN_-_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82_%28%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%29&diff=5365&oldid=prevRenton: /* Добавление пользователей */2018-10-04T14:20:15Z<p><span class="autocomment">Добавление пользователей</span></p>
<p><b>Новая статья</b></p><div>== Общие сведения ==<br />
<br />
Эта статья поможет понять как развернуть собственный svn-репозиторий в своем домашнем каталоге на UNIX-хостинге 1Gb.ru. Главное отличие от предложения [http://www.1gb.ru/services_svn.php Услуги хостинга Subversion (SVN)] заключается в том, что вы имеете полный доступ ко всем файлам репозитория, можете конфигурировать его по-своему усмотрению, уставливать любые плагины и хуки, делать импорт и экспорт дампов. В дополнение, доступ к хранилищу обеспечивается по протоколам SVN/SSH обеспечивающие максимально быструю и безопасную передачу данных.<br />
Репозиторий доступен по вашему доменному имени и будет работать на выделенном порту.<br />
<br />
=== Создание репозитория, службы SVN ===<br />
'''1.''' В разделе личного кабинета /Хостинг HTTP служб/ добавляем к сайту демон SVN (если вы хотите интегрировать его с Trac, то нужно выбрать сайт, на которой и будет Trac установлен):<br />
[[Изображение:Svnd_add.jpg|500px|thumb|left|Добавление службы SVN к сайту]]<br clear="both" /><br />
После успешного добавления службы в таблице появятся ее параметры, обратите внимание на '''номер порта''' на котором будет работать ваша служба:<br />
[[Изображение:Svnd_add_ok_1.jpg|500px|thumb|left|Параметры службы]]<br clear="both" /><br />
<br />
'''2.''' Создаем репозиторий:<br />
$ mkdir ~/svn; cd ~/svn && svnadmin create '''my_repo'''<br />
----<br />
'''Важное замечание.''' Репозиторий будет работать только в каталоге '''~/svn''', поэтому не забывайте создавать его именно в нем.<br />
----<br />
<br /><br />
<br />
=== Добавление пользователей ===<br />
'''1.''' В разделе личного кабинета /Дополнительные FTP логины/ создаем дополнительного SSH-пользователя, для работы с SVN через SSH-туннель:<br />
[[Изображение:Add_ssh_aux_login.jpg|500px|thumb|left|Добавление логина в личном кабинете]]<br clear="both" /><br />
в случае успешного добавления, в таблице появится такая запись:<br />
[[Изображение:Add_ssh_aux_login_ok.jpg|500px|thumb|left|Запись об успешном добавлении]]<br clear="both" /><br />
<br />
Этот пользователь сможет работать с SVN репозиторием через SSH-туннель.<br />
<br />
'''2.''' Добавляем пользователя, редактируя файл <code>~/svn/название_репозитория/conf/passwd</code>:<br />
[users]<br />
имя_пользователя = пароль<br />
<br />
----<br />
'''''Примечание.''''' Для удобства можно использовать те же логин/пароль, что и для дополнительного SSH-входа.<br />
----<br />
<br /><br />
Этот пользователь сможет работать с SVN репозиторием по протоколу SVN.<br />
<br />
В файле <code>~/svn/название_репозитория/conf/authz</code> можно задать "права" для созданного пользователя. Назначим обычные - "чтение-запись":<br />
[/]<br />
имя_пользователя = rw<br />
<br />
Если вы хотите запретить анонимный доступ на чтение репозитория по протоколу SVN, то в файле <code>~/svn/название_репозитория/conf/svnserve.conf</code> в секции <code>[general]</code> добавьте строки:<br />
anon-access = none<br />
auth-access = write<br />
password-db = passwd<br />
<br />
=== Настройка клиентов, тестирование подключений ===<br />
==== Протокол SVN ====<br />
Работа с репозиторием по протоколу SVN является наиболее быстрой и удобной, прекрасна реализована как в Windows, так и в UNIX системах.<br />
'''1.''' UNIX, работа через консольный клиент <code>svn</code>:<br />
svn --username=имя_пользователя list svn://адрес_вашего_сайта:'''SVN_порт'''/название_репозитория<br />
<br />
'''имя_пользователя''' - это имя из файла ~/svn/название_репозитория/conf/passwd<br /><br />
'''адрес_вашего_сайта''' - сайт, на котором вы создали SVN-даемон;<br /><br />
'''SVN_порт''' - порт, на котором работает SVN-даемон, указан в разделе кабинета /Хостинг HTTP служб/<br /><br />
'''название_репозитория''' - имя, которое вы задавали в команде <code>svnadmin create</code><br /><br />
<br />
'''2.''' Windows TortoiseSVN<br />
Пример ввода URL в Repository Browser:<br />
[[Изображение:Repo_browser_url_1.jpg|500px|thumb|left|Ввод URL]]<br clear="both" /><br />
<br />
Обзор репозитория:<br />
[[Изображение:Repo_browser.jpg|500px|thumb|left|Рабочее окно Repo-browser]]<br clear="both" /><br />
<br />
==== Протокол SSH ====<br />
'''1.''' Работа из UNIX через консольный клиент <code>svn</code>.<br />
Прежде всего, у себя на локальной машине нужно сделать настройку svn клиента для работы по SSH-туннелю через специальный порт. Для этого в файле <code>~/.subversion/config</code> в секции <code>[tunnels]</code> добавьте строку:<br />
sshtunnel = ssh -p 2222 -q<br />
<br />
Вообще тут возможны два варианта работы: авторизация по паролю, и авторизацию по ключу.<br />
<br />
''Первый способ'' безопасен, но требует постоянного ввода пароля при доступе к SVN-репозиторию, при этом не нужно делать никаких дополнительных настроек как на сервере, так и на клиенте. Работает так:<br />
$ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя<br />
Password:<br />
команда попросит вас ввести пароль, который вы указывали при создании дополнительного SSH/SVN пользователя в разделе кабинета /Дополнительные FTP логины/.<br />
<br />
''Второй способ'' заключается в настройке беспарольного доступа на основе авторизации по ключам. В Интернете масса информации по этому вопросу, поэтому мы остановимся только ньюансах.<br />
<br />
'''Важное замечание.''' После того, как вы разместили публичный ключ на сервере в файл <code>~/.ssh/authorized_keys</code> '''обязательно''' добавьте в начало строки (до слов <code>ssh-rsa</code> или <code>ssh-dsa</code>) с ключем следующий код:<br />
command="[ ${USER} != имя_пользователя ] && exit" ssh-rsa AAAAB3N ... == user@hostname<br />
<br />
'''имя_пользователя''' - имя пользователя из раздела кабинета /Дополнительные FTP логины/, соответственно это же имя должен использовать тот человек, чей ключ вы разместили на сервере.<br />
<br />
В этом случае команда:<br />
$ svn list svn+sshtunnel://имя_пользователя@адрес_вашего_сайта/название_репозиторя<br />
не будет спрашивать про пароль.<br />
<br />
==== Туннель SSH ====<br />
<br />
Это наиболее быстрый и безопасный способ работы с репозиторием. Работа идет по протоколу SVN, но не с удаленным сервером, а с локальной машиной (портом), на которую проброшен по защищенному SSH-каналу порт с удаленной машины.<br />
<br />
'''1.''' Для UNIX систем достаточно сделать так:<br />
$ ssh -f -C -N -p 2222 -L 3690:адрес_вашего_сайта:SVN_порт имя_пользователя@адрес_вашего_сайта<br />
<br />
'''имя_пользователя''' - это имя из файла <code>~/svn/название_репозитория/conf/passwd</code><br /><br />
'''адрес_вашего_сайта''' - сайт, на котором вы создали SVN-даемон;<br /><br />
'''SVN_порт''' - порт, на котором работает SVN-даемон, указан в разделе кабинета /Хостинг HTTP служб/<br /><br />
<br />
Тогда работать с SVN можно уже так:<br />
$ svn --username=имя_пользователя list svn://localhost/название_репозитория<br />
<br />
'''2.''' Для Windows:<br />
Основные настройки для доступа по SSH на сервер через PuTTY см. в статье [[Юникс шелл]], здесь будет только отмечена секция настройки туннелинга.<br />
[[Изображение:Putty_tunnel_svn_add_1.jpg|350px|thumb|left|Добавление опция туннеля]]<br clear="both" /><br />
[[Изображение:Putty_tunnel_svn_add_done.jpg|350px|thumb|left|Окно конфигурирования туннелинга после добавления опций]]<br clear="both" /><br />
<br />
После соединения с сервером по SSH в TortoiseSVN можно использовать такие URL:<br />
<br />
svn://localhost/название_репозитория<br />
<br />
== См. также ==<br />
* [[Юникс шелл]]<br />
* [[Trac - быстрый старт]]<br />
== Ссылки ==<br />
* [http://ru.wikipedia.org/wiki/Subversion Subversion] (рус.) - общая информация по Subversion на сайте wikipedia.<br />
* [http://svnbook.red-bean.com/index.ru.html Управление версиями в Subversion] (рус.) - официальная документация по Subversion.<br />
* [http://tortoisesvn.net/docs/release/TortoiseSVN_ru/ TortoiseSVN] (рус.) - документация по TortoiseSVN.<br />
<br />
[[Категория:UNIX]]<br />
[[Категория:Программирование]]</div>Renton