Инструкция как развернуть Redmine 3.4.3, Subversion (с поддержкой WebDAV) на Debian 8 Jessie. На основе этих инструкций будет рассмотрена интеграция Redmine с SVN.
Redmine может отображать содержимое SVN хранилища, вести логирование изменений в хранилище, управление правами доступа к хранилищу на основе своих учетных записей и их подписок к проектам, автоматически создавать SVN хранилища для новых проектов, считывать с текстов информацию с коммитов в SVN проектах.
Устанавливаем необходимые зависимости:
sudo apt-get install libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha-perl -y
Для авторизации в SVN по учётными записям Redmine, создаем символическую ссылку на скрипт Redmine.pm:
sudo ln -s /opt/redmine/extra/svn/Redmine.pm /usr/lib/x86_64-linux-gnu/perl5/5.20/Apache/Redmine.pm
Редактируем конфигурационный файл модуля (dav_svn) /etc/apache2/mods-available/dav_svn.conf (приводим к виду):
PerlLoadModule Apache::Redmine <Location /svn> DAV svn SVNParentPath "/var/svn" SVNPathAuthz off Order deny,allow Deny from all Satisfy any AuthType Basic AuthName redmine AuthUserFile /dev/null PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler # Доступ только чтение <Limit GET PROPFIND OPTIONS REPORT> Require valid-user Allow from localhost Satisfy any </Limit> # Доступ на запись <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> # Подключение к базе данных MySQL RedmineDSN "DBI:mysql:database=redmine;host=localhost" RedmineDbUser "redmine" RedmineDbPass "password" </Location> # Для доступа Redmine к хранилищам SVN без авторизации <Location /svn-private> DAV svn SVNParentPath "/var/svn" Order deny,allow Deny from all Satisfy any # Доступ только чтение <Limit GET PROPFIND OPTIONS REPORT> Allow from redmine_server_ip </Limit> </Location>
Назначаем права доступа к репозиториям (SVN) для HTTP-сервера (www-data), добавляем пользователя (от имени которого устанавливался Ruby) и пользователя (от имени которого работает SVN) в группу HTTP-сервера (www-data):
sudo chown -R www-data:www-data -R /var/svn sudo adduser jakonda www-data sudo adduser subversion www-data
Перезапускаем службу apache:
sudo service apache2 restart
Выполним настройку Redmine. Переходим в Администрирование — Настройки — Хранилища. Отмечаем помеченные на скриншоте графы, а так же нажимаем Сгенерировать ключ (он необходим для автоматического создания SVN хранилищ), нажимаем Сохранить.
Команда для создания SVN хранилища для проектов Redmine:
/opt/redmine/extra/svn/reposman.rb --redmine 192.168.1.2 --key=ZGnsYLjWdspJqmH0Ppem --svn-dir /var/svn --owner redmine --group www-data --url http://192.168.1.2/svn-private/ --verbose
Пример вывода выполнения команды:
querying Redmine for active projects with repository module enabled... retrieved 1 projects processing project test-project-jakonda (Test project jakonda) repository /var/svn/test-project-jakonda created repository /var/svn/test-project-jakonda registered in Redmine with url http://192.168.1.2/svn-private/test-project-jakonda
Настройка интеграции Redmine и SVN завершена. Теперь можно создавать проекты в Redmine, назначить участников в них и выполнять команду создания SVN хранилищ для них. После создания хранилищ, доступ будет к ним осуществятся по учетными записям Redmine и по назначенным участникам на тот или иной проект.
Понравилась или оказалась полезной статья, поблагодари автора
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
А можно прикрутить SVN если иcпользуешь HTTPS вместо HTTP ???
Не пробовал, но думаю можно.