Установка SVN сервер на Fedora/CentOS/RHEL

Установка SVN сервер на Fedora/CentOS/RHEL

Что SVN (Subversion)?

Subversion является свободной системой управления версиями с открытым исходным кодом. SubversionAC позволяет управлять файлами и каталогами и изменять их, делать в них различные внесения. Это позволяет восстанавливать старые версии ваших данных, или изучить историю о том, как изменились ваши данные. И в своей статье «Установка SVN сервер на Fedora/CentOS/RHEL» я расскажу как можно установить и настроить SVN сервер, на примере CentOS 6/7.

Установка SVN сервер на Fedora/CentOS/RHEL

Меняем пользователя на root:

su -

или

sudo -i

Установите необходимые пакеты (mod_dav_svn and subversion):

# yum install mod_dav_svn subversion

Отредактируйте или слздайте конфигурационный файл:

# vim /etc/httpd/conf.d/subversion.conf

Вставьте следующий код.

Для CentOS/RHEL 7, а так же Fedora 21/20/19/18

<Location /svn>

DAV svn

SVNParentPath /var/www/svn

# Limit write permission to list of valid users.

<LimitExcept GET PROPFIND OPTIONS REPORT>

# Require SSL connection for password protection.

# SSLRequireSSL

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile /etc/svn-auth-users

Require valid-user

</LimitExcept>

</Location>

Для CentOS/RHEL  5/6

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

DAV svn

SVNParentPath /var/www/svn

# Limit write permission to list of valid users.

<LimitExcept GET PROPFIND OPTIONS REPORT>

# Require SSL connection for password protection.

# SSLRequireSSL

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile /etc/svn-auth-users

Require valid-user

</LimitExcept>

</Location>

Загружаемые LoadModule можно вынести в отдельный файл:

# vim  /etc/httpd/conf.modules.d/10-subversion.conf

Добавление SVN пользователей.

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

1. Пользователь 1

# htpasswd -cm /etc/svn-auth-users SVN_user

1. Пользователь 2

# htpasswd -cm /etc/svn-auth-users SVN_user2

Настройка контроля доступа с Apache и mod_authz_svn, можно прочитать в моей статье:

Настройка контроля доступа с Apache и mod_authz_svn

Создания и конфигрурирования репозитория SVN

Создаем папку для проектов:

# mkdir /var/www/svn && cd /var/www/svn

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

# svnadmin create my_first_repo

Добавляем права:

# chown -R apache.apache my_first_repo

Если у вас включен SELinux (вы можете проверить это с помощью команды «sestatus».  Затем измените правила безопасности SELinux командой chcon:

# chcon -R -t httpd_sys_content_t /var/www/svn/my_first_repo

После позволяем коммиты над HTTP:

# chcon -R -t httpd_sys_rw_content_t /var/www/svn/my_first_repo

Перезапуск Apache.

Для CentOS/RHEL 7 и Fedora 21/20/19/18 выполните:

# systemctl restart httpd.service

Для CentOS/RHEL 5/6 выполните:

# service httpd restart

или

/etc/init.d/httpd restart

Откройте браузер и перейдите на репозиторий:

http://IP_or_HOST/svn/my_first_repo

Вы должны увидеть что-то вроде:

my_first_repo - Revision 0: /

my_first_repo — Revision 0: /

Введите имя пользователя и пароль.

Настройка репозитория

Чтобы отключить анонимный доступ и включить надстройку контроля доступа выполните следующие команды в файле:

# vim my_first_repo/conf/svnserve.conf

и вносим изменения:

Отключение анонимного доступа:

anon-access = none

Включение контроля доступа:

authz-db = authz

Создание trunk, branches и tags структуры под testrepo

Создать «шаблон» каталогов с помощью следующей команды:

# mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}

Затем, импортируем шаблон в репозиторий проекта с помощью команды SVN «import»:

# svn import -m 'Initial import' /tmp/svn-structure-template/ http://192.168.103.131/svn/my_first_repo
Authentication realm: <http://192.168.103.131:80> Subversion repositories
Password for 'root': 
Authentication realm: <http://192.168.103.131:80> Subversion repositories
Username: SVN_user
Password for 'SVN_user': 
Adding /tmp/svn-structure-template/trunk
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags

-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm:

 <http://192.168.103.131:80> Subversion repositories

can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no

Committed revision 1.

192.168.103.131 — На этом ИП работает апач с SVN. Измените на свой IP или имя хоста/домена.

Открываем браузер, переходим в репозиторий и видим:

my_first_repo - Revision 1: /

my_first_repo — Revision 1: /

Remember also take regular backups. Here is guide howto backup and restore SVN (Subversion) Repositories.

На этом, я завершаю данную тему «Установка subversion на CentOS».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.