В этой статье описывается установка подрывной работы с модулем apache, чтобы ее можно было легко получить из других систем в общедоступной сети. Если вам нужен более безопасный сервер svn, вы можете использовать svnserve + ssh, который не рассматривается в этой статье.
Чтобы установить subversion, откройте терминал и выполните следующую команду:
sudo apt-get install subversion libapache2-svn
Мы собираемся создать репозиторий subversion в / svn, хотя вам нужно выбрать место с хорошим пространством.
sudo svnadmin create /svn
Затем нам нужно отредактировать файл конфигурации для модуля subversion webdav. Вы можете использовать другой редактор, если хотите.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Элемент Location в файле конфигурации задает корневую директорию, в которой может быть реализована подрывная деятельность, например: https://www.server.com/svn
Строку DAV нужно раскомментировать, чтобы включить модуль dav
# Uncomment this to enable the repository, DAV svn
Строка SVNPath должна быть установлена в том же месте, где вы создали репозиторий с помощью команды svnadmin.
# Set this to the path to your repository SVNPath /svn
В следующем разделе вы сможете включить аутентификацию. Это просто базовая аутентификация, поэтому не считайте ее чрезвычайно безопасной. Файл пароля будет находиться там, где установлен параметр AuthUserFile, вероятно, лучше оставить его по умолчанию.
# Uncomment the following 3 lines to enable Basic Authentication AuthType Basic AuthName “Subversion Repository” AuthUserFile /etc/apache2/dav_svn.passwd
Чтобы создать пользователя в репозитории, выполните следующую команду:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
Обратите внимание, что вы должны использовать параметр -c только в первый раз, когда вы создаете пользователя. После этого вы хотите использовать только параметр -m, который задает шифрование пароля MD5, но не воссоздает файл.
Пример:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek New password: Re-type new password: Adding password for user geek
Перезапустите apache, выполнив следующую команду:
sudo /etc/init.d/apache2 restart
Теперь, если вы заходите в свой браузер на https://www.server.com/svn, вы должны увидеть, что репозиторий включен для анонимного доступа для чтения, но для фиксации доступа потребуется имя пользователя.
Require valid-user
Теперь, если вы обновите свой браузер, вам будут предложены ваши учетные данные: