SVN: создание репозитория


Используйте команду svn для создания репозитория:

[example@centos6 ~]# svnadmin create /opt/svn/example01
[example@centos6 ~]# ll /opt/svn/example01/
total 24
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 conf
drwxr-sr-x 6 root root 4096 2016/08/23 16:31:06 db
-r--r--r-- 1 root root    2 2016/08/23 16:31:06 format
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 hooks
drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 locks
-rw-r--r-- 1 root root  229 2016/08/23 16:31:06 README.txt

Перейдите в каталог /opt/svn/example01/conf и измените файлы конфигурации по умолчанию, включая svnserve.conf, passwd и authz, чтобы настроить соответствующих пользователей и права доступа.

1. Конфигурационный файл службы svn svnserve.conf

Конфигурационный файл службы svn — это файл conf/svnserve.conf в каталоге репозитория. Этот файл состоит только из одного раздела конфигурации [general].

[general]
anon-access = none
auth-access = write
password-db = /home/svn/passwd
authz-db = /home/svn/authz
realm = tiku 
  • anon-access:Управляет правами доступа неаутентифицированных пользователей к репозиторию. Допустимые значения — "write", "read" и "none". То есть "write" означает чтение и запись, "read" — только чтение, а "none" — отсутствие прав доступа. Значение по умолчанию: read.

  • auth-access:Управляет правами доступа аутентифицированных пользователей к репозиторию. Допустимые значения — "write", "read" и "none". То есть "write" означает чтение и запись, "read" — только чтение, а "none" — отсутствие прав доступа. Значение по умолчанию: write.

  • authz-db:Указывает имя файла конфигурации прав доступа. С помощью этого файла можно реализовать управление доступом на основе путей. Если не указан абсолютный путь, местоположение файла — путь относительно каталога conf. Значение по умолчанию: authz.

  • realm:Указывает область аутентификации репозитория, т. е. имя области аутентификации, запрашиваемое при входе. Если два репозитория имеют одинаковую область аутентификации, рекомендуется использовать один и тот же файл данных имён пользователей/паролей. Значение по умолчанию: UUID (Universal Unique IDentifier, глобально уникальный идентификатор).

2. Файл имён пользователей/паролей passwd

Файл имён пользователей/паролей задаётся элементом конфигурации password-db в svnserve.conf и по умолчанию находится в файле passwd в каталоге conf. Этот файл состоит только из одного раздела конфигурации [users].

Формат строки конфигурации раздела [users] следующий:

<username> = <password>
[users]
admin = admin
thinker = 123456

3. Файл конфигурации прав доступа

Файл конфигурации разрешений задается элементом конфигурации authz-db в svnserve.conf и по умолчанию указывает на authz в каталоге conf. Этот файл конфигурации состоит из раздела конфигурации [groups] и нескольких разделов разрешений путей репозитория.

Формат строки конфигурации в разделе конфигурации [groups] следующий:

<user group> = <user list>

Формат имени раздела разрешений пути репозитория следующий:

[<repository name>:<path>]
[groups]
g_admin = admin,thinker

[admintools:/]
@g_admin = rw
* =

[test:/home/thinker]
thinker = rw
* = r

В этом примере используетсяsvnserve -d -r /opt/svnдля запуска SVN в режиме svnserve с несколькими репозиториями, поэтому URL-адрес:svn://192.168.0.1/example01。

Другие расширения