Subversion — это система отслеживания версий с открытым исходным кодом. Он хранит файлы в центральном репозитории и обеспечивает контроль версий над каталогами или файлами. Как разработчик, вы можете извлекать файлы проекта из репозитория, вносить в них изменения и возвращать обратно.
Subversion также имеет серверный компонент, который вы можете использовать для размещения своих проектов. Он работает так же, как обычный файловый сервер.
Как установить Subversion
Subversion проста в установке. Вы можете использовать соответствующую команду для вашего дистрибутива, чтобы начать:
# Дебиан, Убунту
Судо подходит установить подрывная деятельность apache2 libapache2-мод-СВН
# CentOS, Fedora, RHEL
судо днф установить подрывная деятельность apache2 mod_dav_svn
Обратите внимание, что эта команда также устанавливает веб-сервер Apache2. Вам понадобится веб-сервер, если вы хотите получить доступ к репозиторию Subversion через HTTP или WebDAV. Вы также можете использовать HTTPS, для этого вам просто нужно установить и настроить цифровой сертификат.
Выполнив эту команду, вы сможете проверить правильность установки Subversion. Теперь вы должны быть в состоянии запустить свн команду, и вы можете увидеть текущую версию, используя --версия вариант:
Конфигурация сервера с Subversion
Если установка прошла гладко, теперь вы можете начать работу над конфигурацией репозитория, которую вы будете использовать с свн. Конечно, для этого вам нужно будет создать новый репозиторий. Сначала создайте папку в корневом каталоге для размещения вашего репозитория:
sudo mkdir/сабверсия
Если вам нужно получить доступ к вашему репозиторию с помощью WebDAV через HTTP, вам нужно предоставить Apache право собственности на его каталог. Поскольку Apache использует www-данные пользователя по умолчанию, авторизуйте этого пользователя следующим образом:
sudo chown www-данные: www-данные /subversion
Теперь вы можете переключиться на www-данные user и начните работать с вашим репозиторием. Команда, которую вы использовали бы для входа в систему как www-данные пользователь:
sudo su -s /bin/bash www-данные
Теперь вы являетесь пользователем Apache, и после этого шага вы можете создать свой репозиторий Subversion следующим образом:
svnadmin Создайте /subversion/myrepo
Теперь у вас есть репозиторий Subversion. Чтобы сделать этот репозиторий немного более безопасным и идентифицировать его пользователей, следующим шагом будет создание пользователя и установка для него пароля. Для этого используйте следующую команду:
htpasswd -cmb /subversion/passwd мой администратор мой пароль
Согласно этой команде, ваше имя пользователя будет мойадмин и ваш пароль будет мой пропуск. Вы можете изменить эти значения на любые, подходящие для ваших обстоятельств.
Теперь ваш репозиторий Subversion готов к использованию. На этом этапе вы можете выйти из www-данные пользователем с помощью выход команда.
Теперь вы можете отправить нужный проект или файл в репозиторий, используя следующую команду:
sudo svn импорт <адрес вашего проекта> файл:///subversion/myrepo -m "Первый коммит"
Эта команда использует импорт параметр, чтобы отправить все в папке вашего проекта в репозиторий Subversion. При этом вам нужно добавить сообщение фиксации с -м параметр.
Использование методов доступа в Subversion
Возможно, вы заметили, что используете файл:// протокол для добавления проекта в ваш репозиторий. Это всего лишь один из нескольких сетевых протоколов, которые вы можете использовать для доступа к репозиторию svn. Вы также можете использовать протокол WebDAV через HTTP или HTTPS или пользовательский свн протокол.
Прямой доступ к репозиторию
Как вы видели, вы можете использовать файл:// протокол для доступа к локальному репозиторию. Вот как вы можете оформить локальный репозиторий в свой текущий каталог:
файл svn co:///subversion/myrepo
Когда вы проверяете репозиторий, svn отображает список содержащихся в нем файлов:
Доступ с помощью WebDAV
Чтобы интегрировать репозиторий Subversion с Apache, вам необходимо настроить некоторые параметры.
Для первого шага активируйте дав, dav_svn, а также dav_fs модулей с помощью следующих команд:
sudo a2enmod дав dav_fs dav_svn
После активации необходимых модулей вы можете редактировать /etc/apache2/mods-enabled/dav_svn.conf файл. Создайте файл, если он еще не существует, и измените его содержимое следующим образом:
<Местоположение / подрывная деятельность>
ДАВ свн
SVNPath /subversion/myrepo
Основной тип авторизации
Аутнаме "Репозиторий Subversion"
AuthUserFile /subversion/passwd
Требовать допустимый пользователь
</Location>
Аутусерфиле настройка ссылается на файл, который вы создали ранее, используя htpasswd. Добавление его сюда предоставит доступ к репозиторию всем пользователям, указанным в файле, при условии, что они аутентифицируются с помощью действительного пароля.
После того, как вы создали и сохранили этот файл, перезапустите службу Apache2 с помощью следующей команды:
судоsystemctlзапустить сноваапач2.оказание услуг
Теперь, когда вы открываете веб-браузер и переходите к http://localhost/subversion/, вы увидите содержимое своего репозитория. Когда вы зайдете на этот адрес, он запросит ваше имя пользователя и пароль:
Войдите под своим именем пользователя (например, мойадмин) и пароль (мой пропуск), который вы настроили ранее. Вы можете получить доступ к репозиторию Subversion с помощью WebDAV после ввода имени пользователя и пароля:
Доступ с помощью SSL и WebDAV
https:// протокол имеет почти ту же конфигурацию, что и http:// протокола, с несколькими важными отличиями. Чтобы привести пример, .conf файл, который вам нужно использовать во время настройки, отличается. Также необходимо установить цифровой сертификат. Потому что, как вы знаете, это рабочая логика SSL-метод шифрования.
Вы можете создать цифровой сертификат самостоятельно или вы можете установить документ, выданный компетентным органом. Предполагая, что вы установили цифровой сертификат, вам нужно сделать очень просто.
Разница на этом шаге заключается в изменениях, которые вы сделаете в файле конфигурации. Ниже приведен пример файла конфигурации для использования SSL и WebDAV:
<Местоположение / подрывная деятельность>
DAV вкл.
SSLRequireSSL
Опции Никто
Основной тип авторизации
Аутнаме "Репозиторий Subversion"
AuthUserFile /subversion/passwd
Требовать допустимый пользователь
</Location>
Как видите, разница между https:// а также http:// протоколов не так много с точки зрения изменений в файле конфигурации. После этих изменений вам потребуется перезапустить апач2 оказание услуг. Бежать systemctl перезапустить apache2.service сделать это.
Зачем использовать Subversion?
Как средство отслеживания версий, Subversion запоминает все изменения, внесенные в файлы и каталоги. Он позволяет получить доступ к старым версиям программного обеспечения или документов, с которыми вы работаете, и найти их отличия. Это упрощает управление проектами, особенно если ваша команда разработчиков большая или распределенная.
Помимо Subversion, существует множество систем контроля версий для Linux, которые вы, возможно, захотите рассмотреть.