===== Настройка сервера системы контроля версий ===== Система поддерживает репозитории Subversion для работы с шаблонами и проектами. Вам потребуется SVN репозиторий для хранения исходного кода проекта. Subversion - система контроля версий с открытым исходным кодом. Используя Subversion вы можете записывать историю исходных текстов и документов. Он управляет файлами и директориями. Дерево файлов располагается в центральном репозитории. Репозиторий - это обычный сервер, запоминающий каждое изменение файлов и директорий. Возможности использования Subversion: * Публичный хостинг (Google Code, Source Forge) * Приватный хостинг * Свой сервер Для небольших проектов предпочтение следует отдать публичному или приватному хостингу. ==== Создание репозитория на сервере ==== Рассмотрим вариант настройки своего сервера для работы с Subversion на примере ОС Ubuntu 12.04 LTS. Linux сервер выбран в связи с тем, что вы можете использовать один сервер как для тестов, так и для хранения исходного кода проекта. Для приложений научных вычислений рекомендуется разрабатывать и тестировать приложения на Linux, в связи с тем, что все ведущие суперкомпьютерные центры используют Linux в качестве основной ОС узлов. Пакет ''subversion'' доступен в стандартном репозитории ОС Ubuntu. Достаточно установить и настроить его параметры. Настройка subversion: 1. Создаём группу пользователей ''subversion'' \\ 2. Добавляем пользователя от которого вы работаете и пользователя ''www-data'' в группу ''subversion'' \\ 3. Создаём каталог для репозиториев: $ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir myproject 4. Создаём репозиторий $ sudo svnadmin create /home/svn/myproject 5. Назначаем права на директории $ cd /home/svn $ sudo chown -R www-data:subversion myproject $ sudo chmod -R g+rws myproject ==== Доступ по протоколу HTTP ==== Для доступа по протоколу HTTP у вас должен быть установлен сервер Apache 2. 1. Установить пакет ''libapache2-svn'' \\ 2. Настраиваем конфигурацию WebDAV ''/etc/apache2/mods-available/dav_svn.conf''\\ DAV svn SVNPath /home/svn/myproject AuthType Basic AuthName "myproject subversion repository" AuthUserFile /etc/subversion/passwd Require valid-user 3. Если вы хотите запретить доступ для анонимных пользователей, использовать конфигурацию: DAV svn SVNParentPath /home/svn SVNListParentPath On AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/passwd Require valid-user 4. Перезапустить сервер Apache sudo service apache2 restart 5. Создать файл паролей для SVN sudo htpasswd -c /etc/subversion/passwd user_name 6. Если требуется добавить пользователей sudo htpasswd /etc/subversion/passwd second_user_name 7. Посмотреть список пользователей cat /etc/subversion/passwd 8. Проверить доступ к серверу $ svn co http://hostname/svn/myproject myproject --username user_name