Установка Subversion сервера на CentOS 5
Автор: admin Раздел: Как настроить CentOS
Основываем репозиторий
Устанавливаем пакеты: yum install -y subversion Около Subversion сервера имеется 2 типа хранилища fsfs (советуется) и bdb. Если пожелаете их поспорить, вот ссылочка: http://svnbook.red-bean.com/en/1.1/ch05.html#svn-ch-5-sect-1.три (по ми - практически несомненно одолевает fsfs). Создаем папку для репозиториев: mkdir /var/spool/svn Создаем репозиторий: svnadmin create /var/spool/svn/myrepo Переходим в папку репозитория: компакт -диски /var/spool/svn/myrepo Сделанный репозиторий обладает вот подобную текстуру: conf dav db format hooks locks README.txt Теперь же нам нужно дать доступ к репозиторию по сети. Альтернатив включения к SVN репозиторию есть очень много (сходный перечень сможете проглядеть приказ svn --version): * ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol. - handles 'http' scheme - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol. - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk. - handles 'file' scheme Ми больше только нравится вид WebDAV / https (сохранность и спокойная служба с сервером), его мы и станем употреблять. Ставим Apache Dav и помощь SSL (ога, сохранность рулит постоянно): yum install -y httpd mod_dav_svn mod_ssl Аактивируем пуск Апача при загрузке системы и запускаем его: chkconfig httpd on /etc/init.d/httpd start Удостоверяемся, что все нужные модули удачно включились к Апачу: apachectl -M 2>&1 | grep dav dav_module (shared) dav_fs_module (shared) dav_svn_module (shared) но также испытываем, включился ли SSL: apachectl -M 2>&1 | grep ssl ssl_module (shared) Поскольку все операции с репозиторием теперь же станут изготовляться от имени Apache, то необходимо его делать обладателем файлов нашего репозитория: chown -R apache.apache /var/spool/svn/myrepo/ Теперь необходимо представить Апачу, в каком месте искается наш репозиторий: vi /etc/httpd/conf.d/subversion.conf Подливаем вслед за тем в низу последующее: DAV svn SVNPath /var/spool/svn/myrepo # Require SSL connection for password protection. SSLRequireSSL AuthType Basic AuthName "Authorization Realm" AuthUserFile /var/spool/svn/myrepo/conf/htpasswd Require valid-user Создаем файл паролей с одним юзером: htpasswd -c /var/spool/svn/myrepo/conf/htpasswd nrg New password: Re-type new password: Adding password for user nrg Для прибавления следующих юзеров применяйте вот такую команду (элементарно ключ -c спускается): htpasswd /var/spool/svn/myrepo/conf/htpasswd nrg2 Используем опции: /etc/init.d/httpd restart Распробуем раскрыть репозиторий по открытому соединению: http://domain.ru/myrepo и в протест обязаны заполучить "You don't have permission to access" - сие верное действие (в логах оно сопутствуется последующими записями: "access to /var/www/html/myrepo failed, reason: SSL connection required"). Только после всего этого распробуем включиться по httpS: https://domain.ru/myrepo и в ответ мы должны получить ликующее "Revision 0: /", это рассказывает о этом все рабоатет прекрасно и мы заполучили доступ к нашему репозиторию средством WEB_DAV и SSL. Теперь пробуем подключиться из SVN клиента: svn co https://domain.ru/myrepo Error validating server certificate for 'https://domain.ru:443': .... (R)eject, accept (t)emporarily or accept (p)ermanently? p Authentication realm: Authorization Realm Password for 'nrg': Checked out revision 0. Сходу вслед стоит досоздать папку trunk: svn mkdir trunk svn ci -m 'create trunk' И все — около Вас есть свой, супер непроницаемый, вразумительный из другой точки решетка SVN репозиторий! Основано на: http://wiki.centos.org/HowTos/Subversion |