Система поддерживает репозитории Subversion для работы с шаблонами и проектами. Вам потребуется SVN репозиторий для хранения исходного кода проекта.
Subversion - система контроля версий с открытым исходным кодом. Используя Subversion вы можете записывать историю исходных текстов и документов. Он управляет файлами и директориями. Дерево файлов располагается в центральном репозитории. Репозиторий - это обычный сервер, запоминающий каждое изменение файлов и директорий.
Возможности использования Subversion:
Для небольших проектов предпочтение следует отдать публичному или приватному хостингу.
Рассмотрим вариант настройки своего сервера для работы с 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 у вас должен быть установлен сервер Apache 2.
1. Установить пакет libapache2-svn
2. Настраиваем конфигурацию WebDAV /etc/apache2/mods-available/dav_svn.conf
<Location /svn/myproject> DAV svn SVNPath /home/svn/myproject AuthType Basic AuthName "myproject subversion repository" AuthUserFile /etc/subversion/passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
3. Если вы хотите запретить доступ для анонимных пользователей, использовать конфигурацию:
<Location /svn> DAV svn SVNParentPath /home/svn SVNListParentPath On AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/passwd Require valid-user </Location>
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