Первым делом необходимо запустить Apache, если этого ещё не сделано.
Проверяем:
# chkconfig --list | grep http httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Включаем запуск Apache при старте системы:
# chkconfig httpd on
Проверяем ещё раз:
# chkconfig --list | grep http httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Проверим текущее состояние сервера:
# service httpd status httpd is stopped
Запускаем его:
# service httpd start Starting httpd: [ OK ]
Проверим порт:
# netstat -apn | grep httpd tcp 0 0 :::80 :::* LISTEN 5342/httpd
Работает, отлично.
Устанавливаем необходимые пакеты:
# yum install mod_dav_svn subversion ... Installed: mod_dav_svn.i686 0:1.6.11-9.el6_4 subversion.i686 0:1.6.11-9.el6_4 Dependency Installed: perl-URI.noarch 0:1.40-2.el6
Создадим каталог, который будет являться SVN-репозиторием:
# cd /var/www/ # mkdir svn && cd svn # svnadmin create repos # chown -R apache.apache repos # ls -l total 4 drwxr-xr-x. 6 apache apache 4096 Sep 4 10:35 repos
Редактируем файл настроек Apache для работы с SVN – /etc/httpd/conf.d/subversion.con
f.
В нём проверяем наличие строк, при необходимости – раскомментируем нужные:
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 # # Limit write permission to list of valid users. # <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "Authorization Realm" AuthUserFile /etc/svn-auth-conf Require valid-user # </LimitExcept> </Location>
Создаём файл для httpd
-авторизации, подробнее в статье Apache: ограничение доступа с помощью htaccess и htpasswd.
# htpasswd -cm /etc/svn-auth-conf svnuser New password: Re-type new password:
Что бы не использовать авторизацию – закомментируйте строки:
AuthType Basic AuthName "Authorization Realm" AuthUserFile /etc/svn-auth-conf Require valid-user
Проверяем корректность настроек Apache:
# httpd -t Syntax OK
Перезапускаем сервер:
# apachectl restart
Импортируем каталог с нашими кодами в новый репозиторий:
# svn import /home/setevoy/svn/ file:///var/www/svn/repos/release -m Release_1
Вообще, SVN снабжён довольно подробной справкой:
# svn --help
Можно вызвать подсказку по конкретной опции, например:
# svn import --help
Проверяем как работает:
$ lynx localhost/repos repos - Revision 1: / * release/ Powered by Subversion version 1.6.11 (r934486)
Готово.