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