Apache Subversion (известная также как SVN) - очень популярная система контроля версий с открытым исходным кодом. Система контроля версий позволяет вам записывать изменения в файл или набор файлов за определенный период времени, чтобы вы могли вызывать определенные версии, когда в этом есть необходимость.
Чтобы иметь возможность управления версиями для вашего проекта, вам сначала необходимо установить сервер SVN на свой Ubuntu машина.
Установка SVN Server в Ubuntu 18.04 LTS
Здесь мы собираемся установить и настроить Apache Subversion в Ubuntu 18.04 LTS.
Шаг 1. Установить Apache
Прежде чем мы продолжим установку, давайте сначала обновим репозиторий.
sudo apt-get update
sudo apt-get install apache2
Проверить статус apache.
sudo systemctl статус apache2
Если служба еще не запущена, то .запустить Apache.
sudo systemctl start apache2
Включить Apache при загрузке системы.
sudo systemctl включить apache2
Проверьте установку Apache. Просто откройте свой веб-браузер и введите IP-адрес веб-сервера или имя хоста. Если вы видите страницу Apache по умолчанию, установка Apache прошла успешно.
Шаг 2. Установить Apache Subversion
Установите Subversion и необходимые пакеты
sudo apt-get установить подрывную версию libapache2-mod-svn
После установки он автоматически включает необходимые модули SVN (dav_module, dav_svn_module, authz_svn_module).
Список включенных модулей
sudo apachectl -M
Если модули svn не включены. запустите команды ниже и включите их
sudo a2enmod dav
sudo a2enmod dav_svn
sudo a2enmod authz_svn
После включения этих модулей нам нужно перезапустить службу Apache.
sudo service apache2 перезапуск
Шаг 3. Настроить Apache Subversion
Теперь мы собираемся создать репозиторий SVN. Здесь мы используем каталог «/ opt» для создания нашего репозитория.
Создать каталог svn.
sudo mkdir -p / opt / svn
Создать репозиторий svn. Здесь мы создаем репозиторий под названием «fosslinuxrepo»
sudo svnadmin создать / opt / svn / fosslinuxrepo
Смена владельца репозитория.
sudo chown -R www-data: www-data / opt / svn / fosslinuxrepo /
Изменение разрешений репозитория.
sudo chmod -R 775 / opt / svn / fosslinuxrepo
Добавить пользователей Subversion. Здесь мы создаем файл паролей в каталоге «/ etc».
sudo htpasswd -cm / etc / svn-auth-users fosslinux
Создайте второго пользователя.
sudo htpasswd -m / etc / svn-auth-users fosslinux2
Создайте файл виртуального хоста Apache для SVN - для этого нам сначала нужно изменить каталог на «/ etc / apache2 / sites-available /»
cd / etc / apache2 / sites-available /
Создайте файл виртуального хоста, и здесь мы создадим файл с именем fosslinuxsvn.conf ».
sudo vim fosslinuxsvn.conf
Добавить в файл следующие строки.
ServerName svn.фосслинукс.com ServerAlias svn.фосслинукс.ком DAV svn SVNParentPath / opt / svn AuthType Basic AuthName "Subversion Repository" AuthUserFile / etc / svn-auth-users Требовать действительного пользователя Журнал ошибок $ APACHE_LOG_DIR / svn.фосслинукс.com-ошибка.log CustomLog $ APACHE_LOG_DIR / svn.фосслинукс.com-доступ.журнал комбинированный
Измените «svn».фосслинукс.com »на ваше имя хоста.
Сохраните и выйдите из файла.
Отключить файл виртуального хоста по умолчанию.
sudo a2dissite 000-default.conf
Включить вновь созданный файл виртуального хоста.
sudo a2ensite fosslinuxsvn.conf
Проверьте синтаксис apache.
sudo apachectl -t
Затем перезапустите Apache.
sudo systemctl перезапустить apache2
Шаг 4. Тестирование настроенной Subversion Apache
Откройте веб-браузер, введите URL-адрес репо и нажмите Enter.
http: // svn.фосслинукс.com / svn / fosslinuxrepo /
Заменить sv.фосслинукс.com с вашим именем хоста.
Когда вы получите всплывающий экран аутентификации, введите уже созданные имя пользователя и пароль для доступа к репозиторию svn.
Теперь вы можете увидеть созданный репозиторий.
Давайте теперь создадим проект под названием «RnD_works» внутри репозитория.
svn mkdir файл: /// opt / svn / fosslinuxrepo / RnD_works -m "добавлен репозиторий RnD_works"
svn mkdir файл: /// opt / svn / fosslinuxrepo / RnD_works / trunk -m "добавлен репозиторий ствола RnD_works"
svn mkdir file: /// opt / svn / fosslinuxrepo / RnD_works / branch -m "добавлен репозиторий ветвей RnD_works"
svn mkdir файл: /// opt / svn / fosslinuxrepo / RnD_works / tags -m "добавлен репозиторий тегов RnD_works"
Давайте проверим, можно ли просмотреть этот новый проект внутри репозитория.
Нажмите и откройте «RnD_works»
Если вы хотите удалить созданный проект, вы можете использовать команду ниже, чтобы удалить его.
svn удалить файл: /// opt / svn / fosslinuxrepo / RnD_works -m "удалить репозиторий RnD_works"
Шаг 5. Запланировать резервное копирование репозитория
Создать резервную папку.
sudo mkdir -p / etc / backcups
Измените пользователя на пользователя root.
sudo su -
Редактировать crontab.
crontab -e
В следующей команде мы планируем резервное копирование svn в полночь каждый день.
0 0 * * * svnadmin dump / opt / svn / fosslinuxrepo> / etc / backcups / svnbackups - $ (дата +% Y% m% d).свалка
Затем сохраните и выйдите.
ШАГ 6. Восстановить репозиторий
Если вам нужно восстановить репозиторий svn из файла резервной копии, используйте следующие команды.
Создать новый репозиторий.
svnadmin создать / opt / svn / restorerepo
Восстановление резервной копии:
svnadmin load / opt / svn / restorerepo < /etc/backups/svnbackups-20190204.dump
Это все. Мы надеемся, что эта статья помогла вам успешно настроить Subversion. Если у вас есть какие-либо вопросы или комментарии, посетите раздел комментариев ниже.