2011-08-24

Как поставить dav_svn если у вас cpanel

Опять возникла необходимость сделать репозиторий с доступом через http на сервере с cpanel. Ранее я уже об этом уже писал, но половина ссылок в том посте на сегодняшний день уже не работают, поэтому пришлось восстанавливать инструкцию заново, наступая на те же грабли повторно. На этот раз пост без ссылок - просто инструкция шаг за шагом:

Скачиваеме исходники Subversion и распаковываем:

> wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz

> tar -xzf subversion-1.6.17.tar.gz

Скачиваем SQLite распаковываем и копируем в папку с Subversion:

> wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz

> tar -xzf sqlite-autoconf-3070701.tar.gz

> cp -r sqlite-3.6.13 subversion-1.6.17/sqlite-amalgamation

Теперь компилируем и устанавливаем:

> ./configure --with-ssl --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache/bin/apr-config --with-apr-util=/home/cpeasyapache/src/httpd-2.0.63/srclib/apr-util

> make

> make install

Создаем репозиторий:

> mkdir /home/username/data

> mkdir /home/username/data/svn

> cd /home/username/data/svn

> svnadmin create --fs-type fsfs repo

Настраиваем конфигурационные файлы апача:

> vi /usr/local/apache/conf/userdata/std/2/username/svn.hostname.com/custom.conf

Содержимое файла:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
        DAV svn
        SVNParentPath /home/svncleve/data/svn
        SVNListParentPath on
        SVNPathAuthz off
        AuthType Basic
        AuthName "Private SVN repositories"
        AuthUserFile /home/username/svn.passw
        Require valid-user
</Location>

Задаем пароль для пользователя SVN:

/usr/local/apache/bin/htpasswd  /home/svncleve/svn.passw svnuser

Проверяем конфигурацию сервера, пересобираем конфиги и рестаруем сервер:

/scripts/verify_vhost_includes

/scripts/rebuildhttpdconf

/scripts/restartsrv_httpd

Делаем чистый чекаут на локальной машине:

> svn checkout http://hostname.com/svn/repo .

Если svn update работает хорошо а svn commit выдает 403 ошибку то проверьте .htaccess в document root - cpanel по умолчанию пишет в .htaccess правила, ограничивающие использование методов PUT и DELETE - а именно они как раз и используются в WEBDAW через который работает Subversion. Несколько раз уже на это напарывался.

 

комментарии:

 

Для того чтобы каждый раз не представляться можно войти как зарегистрированный пользователь.

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться