По мотивам вики centos – статья в двух частях про Subversion (http://wiki.centos.org/HowTos/Subversion).
Часть первая, в которой рассматривается установка и настройка SVN через mod_dav:
Системы
Данное руководство применимо к CentOS 4.x/5.x и Red Hat Enterprise (RHEL) 4/5
Ссылки
Subversion: http://subversion.tigris.org/
Version Control with Subversion ака svnbook: http://svnbook.red-bean.com/
Установка
[root@name]$ yum install mod_dav_svn subversion
Устанавливаем перечисленные выше пакеты. Если у вас еще не утсанавлен apache, то его также необходимо установить. При устновке из yum, также могут устанавливаться дополнительные пакеты, в зависимости от вашей системы и установленных ранее пакетов.
Конфигурация Subversion
Apache
Перед тем как мы углубимся в дебри, нужно убедиться что у вас есть и сконфигурирован apache. В первую очередь откроем /etc/httpd/conf/httpd.conf и как минимум поменяем ServerName. Если это не помогает ))) то сверьтесь с официальной документацией по apache (http://httpd.apache.org)
[root@name] vim /etc/httpd/conf/httpd.conf [root@name] service httpd start [root@name] chkconfig httpd on
Проверьте работает ли веб-сервер, для этого достаточно открыть http://yourmachine в браузере. Работает? Отлично, впереди нас ждут более забавные вещи.
Конфигурация Apache для Subversion
Далее нужно сконфигурировать несколько вещей, чтобы apache и subversion могли работать вместе. Открываем примерный файл конфигурации, который шел вместе с пакетом subversion:
[root@name] cd /etc/httpd/conf.d/ [root@name] vim subversion.conf # Убедитесь что эти две строки раскоментированы # это значит apache будет загружать данные модули LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
Добавьте или подредактируйте следующие строки для базовой аутентификации и указания места расположения репозиториев
<Location /repos> DAV svn SVNPath /var/www/svn/repos AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location>
Локация – это строка запроса, которая будет передаваться apache через URL, например http://yourmachine/repos указывает на SVNPath, который вы указали. Пример выше не является истиной первой инстанции, поэтому данные параметры вы можете настраивать как вам угодно (да, и не забывайте сохранять файл после того как отредактируете его)))).
Далее нам надо создать файл с паролями для аутентификации (этот файл мы уже прописали в конфигурации выше). Мы воспользуемся для этого утилитой htpasswd. В первый раз ее надо запускать с параметрами -cm. При этом будет создан новый файл и пароль будет зашифрован при помощи алгоритма MD5. Далее нужно использовать только ключ -m.
[root@name] htpasswd -cm /etc/svn-auth-conf yourusername New password: Re-type new password: Adding password for user yourusername [root@name] htpasswd -m /etc/svn-auth-conf anotherusername New password: Re-type new password: Adding password for user anotherusername
Конфигурирование репозитория
Далее нужно создать репозиторий, куда будут загружаться ваш файлы. Это несложно сделать с помощью инструментария, который идет в комплекте с svn.
[root@name] cd /var/www/ [root@name] mkdir svn [root@name] cd svn [root@name] svnadmin create repos [root@name] chown -R apache:apache repos [root@name] service httpd restart
Протестируйте репозиторий через браузер http://yourmachine/repos. Сначала должно отобразиться окошко с запросом имени и пароля. После успешной аутентификации должна отобразиться страница ревизии 0. Если все было именно так, значит наш репозиторий настроен. Если нужно много репозиториев, обратитесь к документации в начале данной статьи. Ну чтож, приступим к использованию нашего репозитория )
P.S.
Про работу с SVN вы сможете прочитать во второй части – Subversion на CentOS 4.x/5.x и RHEL 4/5. Часть 2 – работа с svn.
Webmentions
[…] Теперь, легким движением руки… о чем это я… )) В общем давайте заберем из репозитория то что мы туда положили. Но сперва откройте в браузере http://yourmachine/repos. Однажды импортировав проект в SVN, вы можете использовать его на любой другой машине. Для соединения с репозиторием, вы также будете использовать аккаунт пользователя, созданного в первой части данной статьи: […]