Szukaj


drukuj pdf

SVN na hostingu


OPIS

Subversion (w skrócie svn) to system kontroli wersji. Ten przewodnik opisuje, w jaki sposób go skonfigurować poprzez ssh na hostingu z kluczem publicznym lub prywatnym. W przewodniku zostało założone, że jesteś zalogowany do serwera przez ssh.

Przygotowanie


  • Należy posiadać hosting z gamy Plan/Pack z dostępem przez ssh
  • Należy połączyć się przez SSH

Tworzenie repozytorium

Po połączeniu się przez SSH z hostingiem, należy stworzyć katalog root dla repozytoriów a następnie repozytorium.
Wystarczy wpisać komendę:

mkdir svn
i
svnadmin create svn/depot_test

Aby zweryfikować utworzone repozytorium, skorzystaj z komendy:
ls -la

Aby wyświetlić repozytoria, użyj następującej komendy:

Tworzenie kluczy prywatnych/publicznych (Linux z openssh)

Tę operację należy wykonać na komputerze lokalnym, który będzie się łączyć z repozytorium svn (klient svn). Należy stworzyć parę kluczy rsa. W tym celu wpisz w terminal komendę :
ssh-keygen -t rsa
i pobierz linię zapisaną domyślnie w pliku .ssh/id_rsa.pub. Aby móc edytować plik, wpisz komendę : vi.
vi .ssh/id_rsa.pub
Znajdziesz klucz, który jest podzielony na 3 ciągi znaków: typ, klucz oraz komentarz.

Tworzenie kluczy prywatnych/publicznych (Windows z putty)

Tę operację należy wykonać na komputerze lokalnym, który będzie się łączył z repozytorium svn (klient svn).
Pobierz i zainstaluj putty na swoim komputerze. ( http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe )
Stwórz parę kluczy rsa. Uruchom w tym celu PuTTYGen, wygeneruj klucze i zapisz je :

Dodawanie kluczy do hostingu

Pobierz klucz i dodaj go do hostingu w pliku .ssh/authorized_keys2. Sprawdź czy katalog .ssh istnieje w twoim katalogu głównym, jeżeli nie utwórz go komendą:
mkdir .ssh
Następnie wpisz komendę :
vi .ssh/authorized_keys2
Skopiuj tam klucz publiczny (rozpoczynający się od ssh-rsa..), wszystko w jednej linii !


Dzięki powyższej operacji będzie możliwe logowanie przez SSH bez podawania hasła.


Przykład połączenia (Linux)


Aby przetestować połączenie z repozytorium svn, wpisz komendę:
svn checkout svn+ssh://login@ssh.clusterXXX.ovh.net/homez.xxx/LoginFTP/svn/depot_test
Uwaga :Zastąp "/homez.XXX/loginFTP" oraz "clusterXXX.ovh.net" odpowiednimi danymi swojego serwera !


Dane potrzebne do zastąpienia powyższego wpisu możesz znaleźć w Manager'ze wybierając nazwę domeny, następnie "Hosting" i z prawej strony "Podsumowanie".


Dodawanie kluczy do hostingu (przekierowanie do SVN)

Stosując następującą konfigurację można przyspieszyć połączenie z SVN, jednak w tym przypadku nie będzie możliwe jednoczesne korzystanie z logowania przez SSH. Jeżeli oprócz dostępu do SVH SSH nie jest potrzebne można zastosować tą metodę. Pobierz klucz i dodaj go do swojego hostingu w pliku .ssh/authorized_keys2. Sprawdź czy katalog .ssh istnieje w twoim katalogu głównym, jeżeli nie utwórz go komendą:
mkdir .ssh
Następnie wpisz komendę :
vi .ssh/authorized_keys2
Kiedy plik jest już otwarty, należy wpisać poniższą linię:
command="/usr/bin/svnserve --root=/home.XXX/loginFTP/svn --tunnel --tunnel-user=marc",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty TUTAJ_WKEJ_KLUCZ_PUBLICZNY
następnie, po spacji, należy wpisać wygenerowany wcześniej klucz publiczny (rozpoczynający się od ssh-rsa..), wszystko w jednej linii !

Uwaga :Zastąp "/homez.XXX/loginFTP" i "marc" odpowiednimi danymi swojego serwera !

Dane potrzebne do zastąpienia powyższego wpisu możesz znaleźć w Manager'ze wybierając nazwę domeny, następnie "Hosting" i z prawej strony "Podsumowanie".


Przykład (Linux)


Aby przetestować połączenie z repozytorium svn, wpisz komendę:
svn checkout svn+ssh://login@ssh.clusterXXX.ovh.net/depot_test


Przykład (Windows z TortoiseSVN)

Pobierz tortoisesvn i zainstaluj (http://tortoisesvn.net/downloads)
Kliknij dwa razy na klucz prywatny. W prawym dolnym rogu pojawi się ikona świadcząca, że klucz został pobrany do agenta autoryzacji:
Stwórz repozytorium, kliknij prawym przyciskiem i wybierz "SVN Checkout". Wpisz
svn+ssh://login@ssh.clusterXXX.ovh.net/depot_test
w pole "URL of repository" i kliknij OK :



Szczegółowa dokumentacja Subversion jest dostępna w języku angielskim na stronie : http://svnbook.red-bean.com/en/1.5/index.html