Ten artykuł dotyczy instalacji Subversion z modułem Apache, tak aby był łatwo dostępny z innych systemów w sieci publicznej. Jeśli chcesz mieć bardziej bezpieczny serwer svn, możesz użyć svnserve + ssh, co nie jest omówione w tym artykule.
Aby zainstalować subversion, otwórz terminal i uruchom następujące polecenie:
sudo apt-get install subversion libapache2-svn
Zamierzamy utworzyć repozytorium subversion w / svn, chociaż powinieneś wybrać lokalizację, która ma dużo miejsca.
sudo svnadmin create / svn
Następnie będziemy musieli edytować plik konfiguracyjny dla modułu webdav subversion. Jeśli chcesz, możesz użyć innego edytora.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Element Location w pliku konfiguracyjnym określa katalog główny, z którego będzie można uzyskać dostęp do subversion, na przykład: http://www.server.com/svn
<Lokalizacja / svn>
Linia DAV musi zostać odkomentowana, aby włączyć moduł dav
# Usuń komentarz, aby włączyć repozytorium,
DAV svn
Linia SVNPath powinna znajdować się w tym samym miejscu, w którym utworzono repozytorium za pomocą polecenia svnadmin.
# Ustaw jako ścieżkę do swojego repozytorium
SVNPath / svn
W następnej sekcji możesz włączyć uwierzytelnianie. To tylko podstawowe uwierzytelnianie, więc nie uważaj go za wyjątkowo bezpieczne. Plik haseł będzie zlokalizowany w miejscu, w którym ustawienie AuthUserFile ustawia go na… prawdopodobnie najlepiej pozostawić to ustawienie domyślne.
# Odkomentuj następujące 3 wiersze, aby włączyć uwierzytelnianie podstawowe
AuthType Basic
AuthName „Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
Aby utworzyć użytkownika w repozytorium, użyj następującego polecenia:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd <nazwa użytkownika>
Należy pamiętać, że opcji -c należy używać tylko podczas PIERWSZEGO tworzenia użytkownika. Następnie będziesz chciał użyć tylko opcji -m, która określa szyfrowanie hasła MD5, ale nie tworzy ponownie pliku.
Przykład:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Nowe hasło:
Wpisz ponownie nowe hasło:
Dodawanie hasła dla maniaka użytkownika
Zrestartuj Apache, uruchamiając następujące polecenie:
sudo /etc/init.d/apache2 restart
Teraz, jeśli przejdziesz w przeglądarce do http://www.server.com/svn, powinieneś zobaczyć, że repozytorium jest włączone dla anonimowego dostępu do odczytu, ale dostęp zatwierdzający będzie wymagał nazwy użytkownika.
Jeśli chcesz zmusić wszystkich użytkowników do uwierzytelnienia nawet w celu uzyskania dostępu do odczytu, dodaj następujący wiersz bezpośrednio pod wierszem AuthUserFile z góry. Zrestartuj Apache po zmianie tej linii.
Wymagaj prawidłowego użytkownika
Jeśli odświeżysz przeglądarkę, zostaniesz poproszony o podanie danych logowania:
Masz teraz działający serwer subversion!