Клиенту требовалось развернуть централизованный и защищённый SVN-сервер на базе Astra Linux для использования внутри корпоративной инфраструктуры и организации совместной работы команды.
Основной целью было создание стабильной системы управления версиями с безопасным доступом по HTTPS без использования доменного имени, только по внутреннему IP-адресу. Важным требованием являлось обеспечение удобного управления пользователями и правами доступа, чтобы команда могла безопасно работать с репозиториями и выполнять стандартные операции (checkout, update, commit) с удалённых рабочих машин.
Дополнительно требовалось подготовить решение таким образом, чтобы заказчик мог самостоятельно сопровождать систему после завершения проекта: создавать новых пользователей, добавлять репозитории, управлять доступом и понимать структуру конфигурации сервера.
Для решения задачи был выбран стек Apache + mod_dav_svn + OpenSSL,
обеспечивающий полноценный доступ к SVN по HTTPS без доменного имени —
только по IP-адресу.
Выполненные работы:
1. Настройка окружения
Обновил систему Astra Linux 1.8, подключил официальные репозитории
(repository-main, repository-extended), установил Apache 2.4, Subversion
и модуль libapache2-mod-svn.
2. Создание репозитория
Создал SVN-репозиторий в /srv/svn/repo — в соответствии со стандартом
FHS для серверных данных. Настроил владельца www-data и корректные права
доступа.
3. SSL-сертификат
Сгенерировал self-signed сертификат через OpenSSL с указанием IP-адреса
сервера в поле CN и расширении SAN — для корректной работы SVN-клиентов
без доменного имени.
4. Настройка Apache
Сконфигурировал VirtualHost на порту 443 с поддержкой DAV SVN, Basic-
аутентификацией через htpasswd и разграничением прав доступа через
AuthzSVNAccessFile. Настроил автозапуск Apache через systemd.
5. Управление пользователями и правами
Настроил htpasswd-файл для аутентификации и ACL-файл для гибкого
разграничения доступа по пользователям и группам к репозиториям.
6. Тестирование
Проверил операции checkout, update и commit с удалённых машин клиента.
Все SVN-операции работают корректно через HTTPS по IP.
7. Документация
Передал заказчику подробное руководство администратора: как создавать
репозитории, добавлять пользователей, настраивать права доступа, пути
к конфигурационным файлам и репозиториям. Клиент самостоятельно добавил
новый репозиторий и пользователя по инструкции.
SVN-сервер полностью функционирует, доступен по HTTPS через
VPN, все клиенты заказчика успешно подключились и выполняют SVN-операции.