
Система контроля версий SVN очень нужная вещь. Особенно, при совместной разработке проектов с несколькими участниками. Очень сложно найти хороший бесплатный сервер SVN, которому можно доверять свои исходных код — лучше создать свой. В статье расскажем насколько просто установить Subversion на Centos 6.
Установим Apache, SLL, модуль SVN для apache и сам Subversion:
#yum install httpd mod_ssl subversion mod_dav_svn
Команда также установит зависимые пакеты.
Теперь перейдем к настройке:
1) Настройка доступа к репозитарию через https протокол.
Все настройки для SVN сервера находятся в файле /etc/httpd/conf.d/subversion.conf, конфиг нужно привести к виду:
DAV svn # включить SVN сервер
SVNParentPath /home/svn/work # путь до корневой директории репозитария
SVNListParentPath on # разрешить просмотр репозитариев через браузер
SSLRequireSSL # требовать шифрованние соединения по протоколу https
AuthType Basic # использовать стандартную авторизацию Apache
AuthName Authorization Realm
AuthUserFile /home/svn/conf/.htpasswd # файл с пользователями и паролями
AuthzSVNAccessFile /home/svn/conf/.svnaccess # права доступа к репозиториям
Require valid-user # запретить анонимный доступ
2) Создание репозитория
Создадим репозиторий test в папке /home/svn/work
# mkdir /home/svn/
# mkdir /home/svn/work
# svnadmin create /home/svn/work/test
# chown apache.apache /home/svn -R
Репозиторий готов к работе. Аналогично вы можете создавать репозитарии и для других ваших проектов на одном сервере.
Осталось настроить пользователей для доступа к репозитариям.
3) Создание пользователей
# htpasswd -c /home/svn/conf/.htpasswd test
Первый запуск для создания файла паролей, test — имя пользователя. После запроса введите пароль для данного пользователя.
# htpasswd /home/svn/conf/.htpasswd test2
Добавление пользователей, либо смена паролей в уже созданном файле паролей.
4) Настройка прав доступа к репозитариям
В файле /home/svn/conf/.svnaccess укажем права доступа к репозитариям.
[/]
* =
admin = rw
[/test]
test = rw
test2 = r
Вот и все, настройка закончена. Перезапускаем httpd сервер:
#/etc/init.d/httpd restart
и заходим по адресу https://IP/svn/test и после авторизации видим наш репозитарий.
PS: При создании дополнительного репозитария не забудьте дать права на запись и чтение вебсерверу.
# chown apache.apache /home/svn/word/XXXX -R