<p>Процедура установки довольно проста, но, как часто бывает, предварительное прочтение инструкции экономит вам кучу времени. Здесь я рассматриваю простейший случай: репозиторий доступен только по HTTP/HTTPS (настройку SSL приводить не буду), разработчиков немного, поэтому персональных разрешений на директории мы не выставляем. </p><p>Сначала нужно установить Apache (я использую версию 2.2):</p>
<pre>cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db42 install</pre><p>либо, если он у вас уже установлен, пересобрать его с поддержкой Berkeley DB:</p>
<pre>portupgrade -f -m "WITH_BERKELEYDB=db42" www/apache22</pre>
<p>Далее собираем и ставим SVN (тут, если ваш Apache собран без BDB, сборка прервется сообщением об ошибке):</p>
<pre>cd /usr/ports/devel/subversion
make WITH_MOD_DAV_SVN= install</pre><p>Всё необходимое установлено. Теперь нужно создать репозиторий и проект в нем:</p>
<pre>mkdir /usr/local/www/repo
svnadmin create /usr/local/www/repo/project
chown -R www:www /usr/local/www/repo</pre><p>Файл с паролями пользователей:</p>
<pre>htpasswd -c /usr/local/etc/svn.passwd user password</pre>
<p>Внести настройки модуля dav_svn в конфиг Apache и рестартовать веб-сервер:</p>
<pre>edit /usr/local/etc/apache22/httpd.conf
<Location /svn>
DAV svn
SVNParentPath /usr/local/www/repo
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/svn.passwd
Require valid-user
</Location>
apachectl restart</pre><p>Чтобы проверить, как работает наш репозиторий, можно поставить графический клиент (например, <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>) или выполнить от имени пользователя user команду:</p>
<pre>svn co http://server.net/svn/project/ project</pre>
<p>Что читать дальше? По настройке и улучшению безопасности сервера: <a href="http://www.onlamp.com/pub/a/bsd/2005/05/12/FreeBSD_Basics.ht... up a Secure Subversion Server</a> и <a href="http://www.onlamp.com/pub/a/bsd/2005/08/11/FreeBSD_Basics.ht... Secure Subversion Servers</a> (две статьи от Дрю Лавинь, рассматривается настройка без веб-сервера с доступом по SSH и более сложные случаи раздачи прав пользователей), <a href="http://www.bsdguides.org/guides/freebsd/misc/subversion.php&... Subversion for Collaborative Development</a>.</p>
<p>По использованию: <a href="http://svnbook.red-bean.com/">Управление версиями в Subversion</a>.</p>
URL: http://another.platypus.ru/articles/2006/08/13/svn-freebsd
Обсуждается: http://www.opennet.me/tips/info/1069.shtml
You can loss parameters settings when try to update:
portupgrade -varRand subversion will be compiled without WITH_MOD_DAV_SVN.
Here is the solution:
emacs /usr/local/etc/pkgtools.conf
add
## Apache, Subversion
MAKE_ARGS = {
'www/apache20' => 'WITH_BERKELEYDB=db42',
'devel/subversion' => 'WITH_MOD_DAV_SVN=1'
}
edit /usr/local/etc/apache22/httpd.conf
DAV svn
SVNParentPath /usr/local/www/repo
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/svn.passwd
Require valid-user
-----------------------------
не совсем верно.
не пробовал для апач 1.3.хх, но для 2.0 добавление таким образом в httpd.conf приведет к ошибке в конфиге: DAV not allowed here
Чтобы этого избежать, данные опции должны быть заключены в директиву <Location />
чем <Location /> отличается от <Location /svn>?
Сорри, не сразу заметил ошибку - при копировании моего материала редактор этого сайта не заменил "<" и ">" не соответствующие html-entities, поэтому строки с <Location> здесь не показывались.
абсолютно полная установка:http://zlatozar.blogspot.com/2006/01/synchronize-yourself.html
WITH_BERKELEYDB использовать очень не рекомендуется. Вместо нее в новых версиях уже используется по умолчанию fsfs.
>WITH_BERKELEYDB использовать очень не рекомендуется. Вместо нее в новых версиях уже
>используется по умолчанию fsfs.У меня mod_dav_svn почему-то отказался работать с fsfs-бекэндом - выдавал permission denied даже при правильных правах на файлы.
А у меня почему-то если собрать с WITH_BERKELEYDB=db44 перестают запускаться CGI-скрипты - пишет, что ошибка 22 (неверный аргумент) и Premature end of script headers. Скрипты из дистрибутива, все права ставлю. А с WITH_BERKELEYDB=db42 всё работает замечательно. Где грабли? Хочу юзать db-4.4.20 , она таки посвежей