Sposób korzystania z SVN na hostingu zależy jest od tego czy Twój hosting posiada dedykowany adres IP.
Zarządzanie repozytoriami SVN za pomocą SSH umożliwia np. tworzenie nowych repozytoriów, edycje ich ustawień lub korzystanie z innych funkcji SVN za pomocą okna konsoli. Zalecamy korzystanie z Panelu klienta home.pl w celu wykonania najważniejszych operacji związanych z SVN, np. stworzenie nowego repozytorium.
- Połączenie z SVN, gdy hosting posiada dedykowany adres IP
- Połączenie z SVN, gdy hosting nie posiada dedykowanego adresu IP
- Lista przykładowych poleceń służących do obsługi SVN przez SSH
- Eksport oraz import repozytorium SVN za pomocą SSH
Połączenie z SVN, gdy hosting posiada dedykowany adres IP
Przy serwerach posiadających unikalny adres IP istnieją dwie metody łączenia się z SVN:
- Sposób 1: przez narzędzie websvn w Panelu klienta home.pl
- Sposób 2: przez autoryzację hasłem podczas łączenia przez SVN+SSH
Zarządzanie repozytorium SVN przez narzędzie websvn w Panelu klienta home.pl
Przy hostingu z unikalnym adresem IP podczas łączenia z SVN, można korzystać z linków służących do łączenia się websvn w Panelu klienta home.pl (podczas logowania wpisujesz login i hasło do użytkownika SVN, którego należy utworzyć w Panelu klienta home.pl). Protokół SSH nie musi być wówczas „aktywny”. Nie trzeba również autoryzować się za pomocą kluczy, tak jak ma to miejsce przy hostingach bez dedykowanego adresu IP.
Autoryzacja hasłem podczas łączenia przez SVN+SSH
Jeśli hosting posiada dedykowany adres IP, to podczas łączenia z repozytorium można korzystać z protokółu svn+ssh, gdzie stosowana jest autoryzacja hasłem za pomocą poniższego polecenia:
svh checkout svn+ssh://serwer123456@serwer123456.home.pl/home/serwer123456/svn_repo/nazwa_repozytorium
Użytkownik, za pomocą którego chcemy łączyć się z repozytorium, musi posiadać dostęp do SSH. Repozytoria SVN na serwerze w home.pl domyślnie znajdują się w katalogu „/svn_repo”. Do zarządzania repozytoriami SVN służy komenda svnadmin.
Tworzenie nowego repozytorium SVN przez SSH
svnadmin create --compatible-version 1.5 ~/svn_repo/[nazwa_repozytorium]
Zalecamy tworzenie repozytoriów SVN poprzez Panel klienta home.pl. W przeciwnym wypadku po utworzeniu repozytorium SVN wymagana będzie edycja plików „authz”, „passwd” oraz „svnserve.conf” (pliki znajdują się w katalogu „~/svn_repo/nazwa_repozytorium/conf/”).
Edycja wymienionych plików polega m.in. na odhaszowaniu linii w pliku konfiguracyjnym, w których znajdują się następujące dyrektywy: „password-db”, „authz-db” oraz „realm”.
Listę przykładowych poleceń, z których możesz skorzystać podczas zarządzania repozytorium SVN przez SSH znajdziesz tutaj.
Połączenie z SVN, gdy hosting nie posiada dedykowanego adresu IP
Sposób 1: autoryzacja kluczami podczas łączenia się z SVN przez SVN+SSH (zalecane)
Gdy hosting nie posiada unikalnego adresu IP, podczas obsługi SVN przez SSH zalecana jest autoryzacja kluczami, dzięki czemu możemy zastosować mechanizm automatycznego uruchamiania daemona svnserve, blokowania dostępu do shella i określania nazwy użytkownika tunelowanego przez SSH. Więcej informacji o generowaniu kluczy w konsoli.
Poniższy kod wklejamy do pliku znajdującego się w domowym katalogu na serwerze: .ssh/authorized_keys
command="/usr/bin/svnserve --root=/home/SSH_USER/svn_repo --tunnel --tunnel-user=SVN_USER",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty TYPE PUBLIC-KEY COMMENT
Podmieniamy następujące fragmenty właściwymi danymi:
- SSH_USER – użytkownik, którym logujemy się do SSH, możesz użyć w tym miejscu nazwę konta głównego,
- SVN_USER – użytkownik w SVN, parametr jest używany do zmapowania klucza SSH na użytkownika SVN
- TYPE – typ klucza, np. ssh-rsa
- PUBLIC-KEY – klucz publiczny SSH
- COMMENT – komentarz do klucza
Zawartość pliku klucza publicznego (.pub) powinna wyglądać mniej więcej tak:
command="/usr/bin/svnserve --root=/home/serwer1234567/svn_repo --tunnel --tunnel-user=kowalski",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLfixq9Di38+xAH6Er8/1qcAxbnlUCiyHI3z5zOs6kd234bnBybl/u/SdWILE3D5YG3Pvtt6eGkdDwIQ3zc461OPYv0rAmNCJ84apkoJid5XXXXX kowalski@serwer123456
Po tak przygotowanej konfiguracji możemy operować na repozytoriach ze skróconą ścieżką – podajemy nazwę repozytorium bezpośrednio po nazwie hosta, w tym celu należy wykonać dwa polecenia:
svn checkout svn+ssh://użytkownik_ssh@serwer123456/nazwa_repozytorium
Sposób 2: autoryzacja hasłem podczas łączenia się z SVN przez SVN+SSH (niezalecane)
Jeśli hosting nie posiada unikalnego adresu IP, metoda autoryzacji hasłem podczas łączenia się z SVN przez svn+ssh nie jest zablokowana i użytkownik może z niej skorzystać, ale nie jest to zalecany sposób połączenia. W takiej sytuacji sugerujemy zamówić dedykowany adres IP.
Poniżej podajemy polecenie, które służy do łączenia się z repozytorium SVN przez svn+ssh wraz z zastosowaniem autoryzacji hasłem, ale nie jest to zalecana metoda przy hostingu bez dedykowanego adresu IP.
svn checkout svn+ssh://serwer123456@serwer123456.home.pl/home/serwer123456/svn_repo/nazwa_repozytorium
Jeśli skorzystałeś z metody autoryzacji hasłem na hostingu bez dedykowanego adresu IP, to w ustawieniach repozytorium należy dodać poniższy wiersz (jeśli takiego nie ma) do konfiguracji:
$authenticated = rw
Przykładowa lista dostępnych komend podczas obsługi SVN za pośrednictwem SSH:
- svn up – powoduje aktualizacje Twoich plików do wersji znajdujących się w repozytorium SVN.
- svn st – wyświetla listę plików, które różnią się zawartością.
- svn diff – wyświetla różnice w zawartości plików.
- svn ci – powoduje wysłanie zmienionych przez Ciebie plików do repozytorium SVN.
- svn add [plik] – powoduje utworzenie nowego pliku.
- svn del [plik] – powoduje usunięcie wybranego pliku.
„svn ci”, aby wykonać tę samą operację w Twoim repozytorium SVN.
Więcej dostępnych komend znajdziesz po wpisaniu w oknie konsoli polecenia „svn help” (język angielski).
Eksport oraz import repozytorium SVN za pomocą SSH
svnadmin dump ~/svn_repo/[nazwa_repozytorium] > [nazwa_zrzutu].dump
Powyższa komenda powoduje eksport wybranego repozytorium SVN do jednego pliku.
svnadmin load ~/svn_repo/[nazwa_repozytorium] < [nazwa_zrzutu].dump
Powyższa komenda powoduje import wybranego zrzutu do wybranego repozytorium SVN, które powinno zostać uprzednio utworzone (najlepiej za pomocą Panelu klienta home.pl). Kliknij tutaj, aby sprawdzić, jak utworzyć repozytorium SVN przez Panel klienta home.pl.
Czy mogę skorzystać ze skryptów bash w celu dodania kolejnych funkcjonalności do SVN?
W katalogu „~/svn_repo/[nazwa_repozytorium]/hooks” znajdują się skrypty bash, które mogą dodać nowe funkcjonalności do Twojego repozytorium SVN (np. wysłanie powiadomienia w postaci wiadomości e-mail, po wykonaniu aktualizacji pliku w repozytorium SVN).
Skrypty bash znajdujące się w katalogu „/hooks” domyślnie są wyłączone i posiadają rozszerzenie „.tmpl”.
Jak zarządzać zawartością repozytorium SVN? Poprzedni | Jak przejść do ustawień repozytorium SVN? Następny |
Dedykowane wsparcie IT i megarabaty!
Pomoc Premium dedykujemy najbardziej wymagającym Klientom home.pl. Powiedz, co możemy dla Ciebie zrobić i oszczędzaj czas.