Różnice
Różnice między wybraną wersją a wersją aktualną.
— |
pomoc:konta_ssh:jak_utworzyc_repozytorium_svn [2012/05/14 14:39] (aktualna) adrian utworzono |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
+ | ====== Jak utworzyć repozytorium SVN? ====== | ||
+ | |||
+ | |||
+ | |||
+ | Aby utworzyć nowe, własne repozytorium SVN, należy zalogować się do konta przez SSH i uruchomić polecenie: | ||
+ | |||
+ | <code> | ||
+ | svnadmin create /home/UŻYTKOWNIK/KATALOG | ||
+ | </code> | ||
+ | gdzie: | ||
+ | * **UŻYTKOWNIK:** nazwa użytkownika (tak jak login do konta SSH) | ||
+ | * **KATALOG:** katalog dla repozytorium umieszczony na koncie użytkownika | ||
+ | |||
+ | Przykładowo: | ||
+ | |||
+ | <code> | ||
+ | mkdir ~/svn | ||
+ | svnadmin create /home/uzytkownik1/svn/projekt1 | ||
+ | </code> | ||
+ | |||
+ | W efekcie system automatycznie utworzy repozytorium we wskazanym katalogu wraz z całą jego konfiguracją. | ||
+ | Przed umieszczeniem plików w repozytorium zalecane jest zamknięcie go tylko do wybranych i autoryzowanych użytkowników. | ||
+ | Można to zrobić np. dodając odpowiedniego użytkownika z hasłem oraz wyłączając dostęp anonimowy. | ||
+ | |||
+ | Na końcu pliku **~/svn/projekt1/conf/passwd** należy dopisać: | ||
+ | <code> | ||
+ | admin = haslo123 | ||
+ | </code> | ||
+ | Następnie w pliku **~/svn/projekt1/conf/svnserve.conf** należy zmienić linie: | ||
+ | |||
+ | <code> | ||
+ | # anon-access = read | ||
+ | # auth-access = write | ||
+ | # password-db = passwd | ||
+ | # authz-db = authz | ||
+ | # realm = My First Repository | ||
+ | </code> | ||
+ | |||
+ | na: | ||
+ | |||
+ | <code> | ||
+ | anon-access = none | ||
+ | auth-access = write | ||
+ | password-db = passwd | ||
+ | authz-db = authz | ||
+ | realm = Nazwa repezytorium | ||
+ | </code> | ||
+ | |||
+ | oraz do pliku **~/svn/projekt1/conf/authz**, na samym końcu dopisać: | ||
+ | |||
+ | <code> | ||
+ | [/] | ||
+ | admin = rw | ||
+ | </code> | ||
+ | |||
+ | W rezultacie utworzone repozytorium będzie dostępne tylko dla autoryzowanych użytkowników (plik **passwd**) i ze zdefiniowanymi uprawnieniami (plik **authz**). | ||
+ | |||
+ | Składnia dla uprawnień użytkowników w pliku authz oznacza: | ||
+ | * **[/]**: katalog repozytorium, w tym przypadku katalog nadrzędny, czyli całe repozytorium | ||
+ | * **admin = rw**: prawa odczytu (r) i zapisu (w) dla użytkownika "admin" | ||
+ | |||
+ | Kiedy wszystkie repozytoria zostaną utworzone, należy wybrać metodę dostępu do nich. | ||
+ | Dostępne metody to natywny protokół SVN (svn://) oraz SSH (svn+ssh://). | ||
+ | |||
+ | W przypadku dostępu przez SSH, dostęp jest realizowany zgodnie z danymi dostępowymi konta systemowego (SSH) i ignorowane są konfiguracje użytkowników w repozytorium. Połączenie tą metodą odbywa się po adresie: | ||
+ | <code> | ||
+ | svn+ssh://domena.pl/home/użytkownik/repozytorium | ||
+ | </code> | ||
+ | |||
+ | Aby korzystać z pełnej konfiguracji posiadanego repozytorium, należy uruchomić na własnym koncie osobnego daemona SVN, który będzie nasłuchiwał na wybranym i wolnym porcie. Można to zrobić poleceniem: | ||
+ | <code> | ||
+ | svnserve -r /home/użytkownik/katalog_svn --listen-port 3691 -d | ||
+ | </code> | ||
+ | |||
+ | gdzie: | ||
+ | * **użytkownik**: nazwa użytkownika systemowego (login SSH) | ||
+ | * **katalog_svn**: nazwa katalogu zawierającego repozytoria (np. "svn") | ||
+ | * **3691**: numer portu, na którym nasłuchiwać będzie serwer - jeśli wybrany port jest już zajęty, należy go zwiększyć | ||
+ | |||
+ | Na koniec można sprawdzić działanie repozytorium za pomocą dowolnego klienta SVN, podając jako adres docelowy: | ||
+ | |||
+ | <code> | ||
+ | svn://domena.pl:3691/repozytorium | ||
+ | </code> | ||
+ | |||
+ | gdzie: | ||
+ | * **domena.pl**: dowolna domena przypisana konta w jego panelu | ||
+ | * **repozytorium**: nazwa istniejącego repozytorium, np. "projekt1" | ||
+ | |||
+ | Analogicznie do przedstawionego przykładu: | ||
+ | |||
+ | <code> | ||
+ | svn://uzytkownik1.unixstorm.org:3691/projekt1 | ||
+ | </code> | ||