четверг, 18 декабря 2008 г.

Subversion Server на Fedora Core 10

Инсталяция

Устанавливаем в ОС необходимые компоненты:
yum install httpd mod_dav_svn subversion

- это Apache, WebDAV для Apache и сам Subversion.

Также необходимо создать нужные каталоги:

mkdir /var/svn
mkdir /var/svn/repos
mkdir /var/svn/users
mkdir /var/svn/permissions


Папка repos - здесь будут лежать сами репозиатории. Папка users будет содержать файл пароля для авторизации пользователей. И папка permissioons будет хранить файл с разрешениями SVN.

Создаем несколько хранилищ:

cd /var/svn/repos
svnadmin create PUBLIC
svnadmin create PRIVATE
svnadmin create NET


PUBLIC - это хранилище будет доступно каждому, PRIVATE - доступно только пользователям прошедшим авторизацию и NET - доступ только для пользователей определенной сети (например, 192.168.254.0).

Владельцем папки svn должен быть пользователь Apache:
chown –R apache:apache /var/svn

После установки subversion, в директории conf.d Apache должен появиться новый файл.
Теперь исправляем его:
vi /etc/httpd/conf.d/subversion.conf


order deny, allow
allow from 192.168.254
deny from all



DAV svn
SVNParentPath /var/svn/repos
AuthzSVNAccessFile /var/svn/permissions/svnauthz.conf
AuthType Basic
AuthName "Auth required"
AuthUserFile /var/svn/users/passwords
Require valid-user
Satisfy any


Теперь создаем файл и заносим туда пользователей для авторизации:
cd /var/svn/users
htaccess –cb passwords user pass
htaccess –b passwords admin pass

Также необходимо создать файл svnauthz.conf и внести туда следующие изменения:
[groups]
admins = admin
users = user
[PUBLIC:/]
@admins = rw
* = r
[PRIVATE:/]
@admins = rw
[NET:/]
@admins = rw
@users = rw

Тестирование

Запускаем сервис Apache
service httpd start

И через web-браузер пытаемся зайти в хранилище:
http://ip_srv/subversion/PUBLIC
http://ip_srv/subversion/PRIVATE
http://ip_srv/subversion/NET

Для работы с хранилищем с рабочий машины с ОС Windows, можно использовать TortoiseSVN (http://tortoisesvn.tigris.org/).

Комментариев нет: