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> | ||