.

Jak utworzyć repozytorium SVN?

Aby utworzyć nowe, własne repozytorium SVN, należy zalogować się do konta przez SSH i uruchomić polecenie:

svnadmin create /home/UŻYTKOWNIK/KATALOG

gdzie:

  • UŻYTKOWNIK: nazwa użytkownika (tak jak login do konta SSH)
  • KATALOG: katalog dla repozytorium umieszczony na koncie użytkownika

Przykładowo:

mkdir ~/svn
svnadmin create /home/uzytkownik1/svn/projekt1

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

admin = haslo123

Następnie w pliku ~/svn/projekt1/conf/svnserve.conf należy zmienić linie:

# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
# realm = My First Repository

na:

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = Nazwa repezytorium

oraz do pliku ~/svn/projekt1/conf/authz, na samym końcu dopisać:

[/]
admin = rw

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

svn+ssh://domena.pl/home/użytkownik/repozytorium

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:

svnserve -r /home/użytkownik/katalog_svn --listen-port 3691 -d

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:

svn://domena.pl:3691/repozytorium

gdzie:

  • domena.pl: dowolna domena przypisana konta w jego panelu
  • repozytorium: nazwa istniejącego repozytorium, np. „projekt1”

Analogicznie do przedstawionego przykładu:

svn://uzytkownik1.unixstorm.org:3691/projekt1