В этой статье рассматривается установка Subversion с помощью модуля apache, чтобы к нему можно было легко получить доступ из других систем в общедоступной сети. Если вам нужен более безопасный сервер SVN, вы можете использовать svnserve + ssh, который не рассматривается в этой статье.
Чтобы установить Subversion, откройте терминал и выполните следующую команду:
sudo apt-get установить subversion libapache2-svn
Мы собираемся создать хранилище Subversion в/svn, хотя вы должны выбрать место, которое имеет достаточно места.
sudo svnadmin создать/svn
Далее нам нужно отредактировать файл конфигурации для модуля subversion webdav. Вы можете использовать другой редактор, если хотите.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Элемент Location в файле конфигурации определяет корневой каталог, из которого будет доступна subversion, например: http://www.server.com/svn
Строка DAV должна быть раскомментирована, чтобы включить модуль dav
# Раскомментируйте это, чтобы включить репозиторий,
DAV svn
Строка SVNPath должна быть установлена в том же месте, где вы создали хранилище с помощью команды svnadmin.
# Укажите путь к вашему хранилищу
SVNPath/svn
Следующий раздел позволит вам включить аутентификацию. Это просто базовая аутентификация, поэтому не считайте ее чрезвычайно безопасной. Файл паролей будет расположен там, где параметр AuthUserFile устанавливает его… вероятно, лучше оставить его по умолчанию.
# Раскомментируйте следующие 3 строки, чтобы включить базовую аутентификацию
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
Новый пароль:
Повторно введите новый пароль:
Добавление пароля для пользователя geek
Перезапустите apache, выполнив следующую команду:
sudo /etc/init.d/apache2 restart
Теперь, если вы зайдете в браузер по адресу http://www.server.com/svn, вы должны увидеть, что репозиторий включен для анонимного доступа на чтение, но для доступа к фиксации потребуется имя пользователя.
Если вы хотите заставить всех пользователей проходить аутентификацию даже для доступа на чтение, добавьте следующую строку прямо под строкой AuthUserFile сверху. Перезапустите apache после изменения этой строки.
Требуется действительный пользователь
Теперь, если вы обновите свой браузер, вам будет предложено ввести учетные данные:
Теперь у вас есть рабочий сервер Subversion!