Блог веб-разработчика: в помощь программистам

Установка и настройка SVN в CentOS


Кто не знает что такое Subversion советую сходить почитать http://ru.wikipedia.org/wiki/Subversion. А для тех кто знает, я расскажу как поставить сей дивный софт на Linux CentOS. Я предпологаю что Apache веб-сервер у вас уже давным давно установлен поэтому не будем на нём останавливаться и пойдём дальше.

Установим непосредственно subversion и модуль для апача

yum install mod_dav_svn subversion

Далее нам нужно сконфигурировать под себя svn, для этого идём

[root@webphp ~] cd /etc/httpd/conf.d/
[root@webphp ~] nano subversion.conf

дальше раскоментируем нужное

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


DAV svn
SVNPath /var/www/svn/repos
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /etc/svn-auth-conf
Require valid-user


после этого можем перезапустить веб сервер

service httpd restart

После этого у нас на пути /repos должен висеть SVN, к примеру http://localhost/repos должен вывести запрос авторизации.
Создадим пользователей:

htpasswd -cm /etc/svn-auth-conf username
New password:
Re-type new password:
Adding password for user username

Таким макаром создаём пользователей сколько захотим.
Теперь пора создать непосредственно репозитарий:

[root@webphp ~] cd /var/www/
[root@webphp ~] mkdir svn
[root@webphp ~] cd svn
[root@webphp ~] svnadmin create repos
[root@webphp ~] chown -R apache.apache repos
[root@webphp ~] service httpd restart

Дальше создадим проект в нашем репозитарии

cd /tmp
mkdir testproj
cd testproj
mkdir configurations options main
#файлы ниже можно забить чем угодно или оставить пустыми
nano configurations/testconf1.cfg
nano options/testopts1.cfg
nano main/mainfile1.cfg
svn import /tmp/testproj/ file:///var/www/svn/repos/testproj -m "Initial repository layout for test"
Adding /tmp/testproj/main
Adding /tmp/testproj/main/mainfile1.cfg
Adding /tmp/testproj/configurations
Adding /tmp/testproj/configurations/testconf1.cfg
Adding /tmp/testproj/options
Adding /tmp/testproj/options/testopts1.cfg

Проверим работоспособность

cd /tmp
svn co http://АДРЕС ВАШЕГО СЕРВЕРА/repos/testproj
Authentication realm: Subversion repos
Password for 'youruser':
A testproj/main
A testproj/main/mainfile1.cfg
A testproj/configurations
A testproj/configurations/testconf1.cfg
A testproj/options
A testproj/options/testopts1.cfg
Checked out revision 1.

Если всё как у меня то скорее всего вам повезло и SVN сервер работает как нужно :)
Хороший клиент для работы с SVN под виндой Tortoise SVN, подробнее прочитать о его использовании можно на http://outsourcing.wordpress.com/2006/10/21/working-with-tortoise-svn-part1/
Всем удачи в настройке, если возникли проблемы – логи в коменты.

  • Получаю такую ошибку
    Could not open the requested SVN filesystem

    • Проверь правильность указания пути в subversion.conf

  • А у меня такая же ошибка возникает “Could not open the requested SVN filesystem” в работе с хранилищем по протоколу http:// в Linux. В Windows всё работает. Делаю одинаково.

You can follow any responses to this entry through the RSS 2.0 feed.

Trackbacks / Pingbacks