<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог об openSUSE &#187; subversion</title>
	<atom:link href="http://sapfeer.ru/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://sapfeer.ru</link>
	<description>Блог по созданию и настройке openSUSE безопасного хамелеона</description>
	<lastBuildDate>Tue, 15 Mar 2011 12:04:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Создание репозитория Subversion в openSUSE</title>
		<link>http://sapfeer.ru/sozdanie-repozitoriya-subversion-v-opensuse/</link>
		<comments>http://sapfeer.ru/sozdanie-repozitoriya-subversion-v-opensuse/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 01:15:51 +0000</pubDate>
		<dc:creator>Сергей</dc:creator>
				<category><![CDATA[Linux/SuSE]]></category>
		<category><![CDATA[openSuSE]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[Репозиторий]]></category>

		<guid isPermaLink="false">http://sapfeer.ru/sozdanie-repozitoriev-subversion-v-opensuse/</guid>
		<description><![CDATA[Здравствуйте, вижу у моего блога прибавилось постоянных читателей. А это значит, то, что я выкладываю на страницах своего блога кому-то интересно и это является дополнительным стимулом для меня. Постараюсь радовать вас интересными заметками как можно чаще. Сегодня хочу рассказать о создании репозитория с помощью системы управления версий subversion и о подводных камнях, которые могут вам [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sapfeer.ru/wp-content/uploads/2009/12/Subversion-300x41.png" alt="Настройка subversion  в opensuse" title="Subversion"align="left" width="300" height="41" class="size-medium wp-image-557" />  Здравствуйте, вижу у моего блога прибавилось постоянных читателей. А это значит, то, что я выкладываю на страницах своего блога кому-то интересно и это является дополнительным стимулом для меня. Постараюсь радовать вас интересными заметками как можно чаще. Сегодня хочу рассказать о  создании репозитория с помощью системы управления версий <b>subversion</b> и о подводных камнях, которые могут вам встретиться. </p>
<p>    Задача достаточно простая: поднять сервер, создать репозиторий и запретить анонимный доступ к нему, оставив возможность редактирования его для авторизованных пользователей. Для начала устанавливаем пакет subversion:<br />
<code><br />
_empty@linux:~> sudo zypper install subversion<br />
</code><br />
Весь процесс, на самом деле, занимает не больше 10ти минут, но для новичка он превращается в сущуую пытку. По умолчанию, в <i>openSUSE 11.2</i> все репозитории находятся в /srv/svn/repos</p>
<p>1) Создадим новый репозиторий в папке repositories(я специально сменил папку repos на repositories, только для примера, чтобы не привыкали к дефолту):<br />
<code><br />
_empty@linux:~> sudo  svnadmin create /srv/svn/repositories/testrepo<br />
</code><br />
В папке testrepo находятся стандартные файлы для каждого репозитория svn. Теперь, отредактируем конфигурационный файл в папке conf:<br />
<code><br />
_empty@linux:~> sudo  svnserve.conf<br />
</code><br />
Можно смело все оттуда удалить, и вписать следующие строки:<br />
<code><br />
[general]<br />
anon-access = none<br />
auth-access = write<br />
password-db = passwd<br />
</code><br />
Поясню поднобно: anon-access устанавливает возможность неавторизованных пользователей просматривать репозиторий, auth-access управляет доступом к репозиторию для зарегистрированных пользователей, где password-db - имя файла с логинами и паролями этих пользователей.<br />
    И так,  теперь нам необходимо вписать юзеров в файл passwd:<br />
<code><br />
[users]<br />
user = pass<br />
user1 = pass1<br />
</code><br />
В этом файле опять же смело можете все удалять, добавьте туда только нужных вам пользователей в формате приведенном выше. </p>
<p>2) Для запуска сервера нам нужен непривелегированный пользователь. Назовем его svn. При установке у меня пользователь не создавался, значит создадим его самостоятельно(проверьте в /etc/passwd, возможно пользователь уже есть!):<br />
<code><br />
_empty@linux:~> sudo  groupadd svn<br />
_empty@linux:~> sudo  useradd -r -g svn<br />
</code><br />
Теперь мы должы дать все права на нашу директорию  /srv/svn/repositories:<br />
<code><br />
_empty@linux:~> sudo  chown -R svn:svn /srv/svn/repositories<br />
</code></p>
<p>3) И последний, самый важный этап - запуск svn сервера. Здесь следует особо обратить внимание на файл /etc/sysconfig/svnserve! В нем нам необходимо указать параметры запуска SVN сервера. Во-первых, надо прописать путь к root директории для svn, а во-вторых, <u>в openSUSE по умолчанию сервер стартует с параметором </u><b>-R</b>(что ознает ReadOnly). <b>Поэтому коммитить и добавлять файлы в ваши репозитории удаленно вы не сможете!</b> Редактируем  параметр SVNSERVE_OPTIONS в /etc/sysconfig/svnserve:<br />
<code><br />
SVNSERVE_OPTIONS="-d -r /srv/svn/repositories"<br />
</code><br />
Все, после этого наш сервер готов к запуску:<br />
<code><br />
_empty@linux:~> sudo  /etc/init.d/svnserve<br />
</code></p>
<p>Для проверки запускаем на другой машине, у вас должен быть примерно такой вывод(на вопрос хранить ли пароли в домашней папке я ответил no):<br />
<code><br />
user@laptop:~> svn co svn://x.x.x.x/testrepo<br />
Authentication realm: <svn://x.x.x.x:3690> e1ff449a-f4f1-11de-a083-6b70055eb850<br />
Password for 'empty':                                                               </p>
<p>-----------------------------------------------------------------------<br />
ATTENTION!  Your password for authentication realm:                    </p>
<p>   <svn://x.x.x.x:3690> e1ff449a-f4f1-11de-a083-6b70055eb850</p>
<p>can only be stored to disk unencrypted!  You are advised to configure<br />
your system so that Subversion can store passwords encrypted, if<br />
possible.  See the documentation for details.                        </p>
<p>You can avoid future appearances of this warning by setting the value<br />
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in<br />
'/home/user/.subversion/servers'.<br />
-----------------------------------------------------------------------<br />
Store password unencrypted (yes/no)? no<br />
Checked out revision 0.<br />
</code></p>
<p>Все,ваш сервер готов к работе, можете добавлять в него файлы, например, через <i>kdesvn</i>. </p>
<div style="float:right;display:block;"><noindex><script rel="nofollow" type="text/javascript" src="http://sapfeer.ru/wp-content/plugins/Odnaknopka/ok2.utf8.js"></script><script type="text/javascript">okbm("http://sapfeer.ru/sozdanie-repozitoriya-subversion-v-opensuse/","Создание репозитория Subversion в openSUSE")</script></noindex></div>]]></content:encoded>
			<wfw:commentRss>http://sapfeer.ru/sozdanie-repozitoriya-subversion-v-opensuse/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

