Да, мне удалось сделать это снова! И уже выработался кое-какой алгоритм. Я писал раньше о том, что я покупаю хостинг у РБК и не совсем доволен их сервисом, но это пока единственный хостинг провайдер, кому всё-таки хоть что-то можно доверить. Да, до технической поддержки хрен достучишься, да и с такими вопросами думаю пошлют далеко и надолго, поэтому приходится разгребать всё самому.

Итак, как правильно установить Subversion клиент и SVN сервер. Процесс установки может в некоторых местах отличаться от дистрибутива к дистрибутиву. Привык я к Fedora, но буду писать под то, что мне поставили в РБК - Ubuntu 8.04.

Начнем. Для начала вам нужны root привилегии:

su -
Если вы не знаете логин и пароль то стоит сперва разобраться, что такое VPS, а затем вернуться сюда… Надеюсь Apache2 уже стоит ;) так что перейдем сразу к делу - устанавливаем следующие пакеты:

apt-get install subversion libapache2-svn
Процесс установки не должен занять более 2-х минут. После установки данных утилит, необходимо создать репозиторий. Я люблю порядок, поэтому советую репозиторий создать на виртуальном хосте, а-ля svn.domain.com, ну и где-нибудь в надёжном месте в файловой структуре (/var/svn например). Для начала создадим сам репозиторий (назовём его repo):

mkdir /var/svn
svnadmin create /var/svn/repo
chown -R www-data:www-data /var/svn/repo
chmod -R g+ws /var/svn/repo
Чтобы по нашему репозиторию не лазали чужие глазки, создаём htpasswd файл, который мы будем использовать для авторизации в репозитории:

htpasswd -c /home/username/auth/svn.passwd username
Где username ваш логин. Вводим пароль. Затем, необходимо подключить виртуальный хост к созданному репозиторию и с созданной схемой авторизации. Добавляем несколько строк в конфигурационный файл apache - httpd.conf:

<VirtualHost *>
        DocumentRoot "/home/username/www"
        ServerName svn.domain.com
        ServerAlias wwwsvn.domain.com
        <Location "/">
            DAV svn
            SVNParentPath "/var/svn"
            AuthType Basic
            AuthName "Subversion"
            AuthUserFile "/home/username/auth/svn.passwd"
            Require valid-user
            ErrorDocument 404 default
        </Location>
</VirtualHost>
Ну и наконец, перезагружаем сервер apache:

/etc/init.d/apache2 restart
И вуала. Переходим по svn.domain.com/repo (надеюсь вы зону настроили у своего name-сервера?) и видим наш репозиторий. Да, это действительно так легко! В следующий раз попытаюсь рассмотреть конфигурацию Trac к созданному SVN репозиторию. Не за что ;)