W tym artykule opisano instalowanie subversion za pomocą modułu apache, dzięki czemu można uzyskać do niego łatwy dostęp z innych systemów w sieci publicznej. Jeśli chcesz mieć bezpieczniejszy serwer svn, możesz użyć svnserve + ssh, którego nie omówiono w tym artykule.
Aby zainstalować subversion, otwórz terminal i uruchom następujące polecenie:
sudo apt-get install subversion libapache2-svn
Zamierzamy stworzyć repozytorium subversion w / svn, chociaż powinieneś wybrać lokalizację, która ma dużo miejsca.
sudo svnadmin create / svn
Następnie musimy edytować plik konfiguracyjny dla modułu webdav subversion. Możesz użyć innego edytora, jeśli chcesz.
sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
Element Location w pliku konfiguracyjnym określa katalog główny, z którego można uzyskać dostęp do subversion, na przykład: http://www.server.com/svn
Aby włączyć moduł dav, wiersz DAV musi zostać odkomentowany
# Odkomentuj to, aby włączyć repozytorium,
DAV svn
Linia SVNPath powinna być ustawiona w tym samym miejscu, w którym utworzyło się repozytorium za pomocą polecenia svnadmin.
# Ustaw to na ścieżce do twojego repozytorium
SVNPath / svn
Następna sekcja pozwoli ci włączyć uwierzytelnianie. To tylko podstawowe uwierzytelnienie, więc nie uważaj tego za bardzo bezpieczne. Plik haseł będzie zlokalizowany tam, gdzie ustawienie AuthUserFile ustawia go na ... prawdopodobnie najlepiej pozostawić domyślny.
# Odkomentuj następujące 3 linie, aby włączyć uwierzytelnianie podstawowe
AuthType Basic
AuthName "Repozytorium Subversion"
AuthUserFile /etc/apache2/dav_svn.passwd
Aby utworzyć użytkownika w repozytorium, wykonaj następujące polecenie:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd
Zauważ, że powinieneś używać opcji -c tylko PIERWSZY czas tworzenia użytkownika. Następnie będziesz chciał użyć opcji -m, która określa szyfrowanie hasła MD5, ale nie odtwarza pliku.
Przykład:
sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
Nowe hasło:
Wpisz ponownie nowe hasło:
Dodanie hasła dla geek 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 do autoryzacji 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 tuż pod linią AuthUserFile z góry. Zrestartuj apache po zmianie tej linii.
Wymagaj prawidłowego użytkownika
Teraz, jeśli odświeżysz przeglądarkę, pojawi się monit o podanie poświadczeń:
Masz działający serwer subversion!