Тази статия обхваща инсталирането на подмяна с модула Apache, така че да може лесно да бъде достъпен от други системи в обществена мрежа. Ако искате по-сигурен SVN сървър, можете да използвате svnserve + ssh, което не е описано в тази статия.
За да инсталирате подмяна, отворете терминал и изпълнете следната команда:
sudo apt-get install subversion libapache2-svn
Ще създадем хранилището за подмяна в / svn, въпреки че трябва да изберете място, което има достатъчно пространство.
sudo svnadmin create /svn
След това ще трябва да редактирате конфигурационния файл за модула за подмяна на webdav. Можете да използвате различен редактор, ако искате.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Елементът "Местоположение" в конфигурационния файл диктува коренната директория, откъдето може да се получи подмяна, например: https://www.server.com/svn
Необходимо е да не се коментира 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
Сега, ако опресните браузъра си, ще получите подкана за вашите данни: