Git gyorstalpaló
> Mi is az a Git?
> Telepítés
> Használat (alapok)
∨ Központi ssh repository telepítése (elsősorban az ssh Git Szerver üzemeltetőjének szól)
Alább, hogy hogy kell Gitosist telepíteni egy Szerver nevű Linux/Unix gépre. Forrás: itt, és itt. Ehhez kell egy telepített Git, lásd feljebb. Ezután telepíteni kell a Gitosis csomagot, nálam otthon Synapticból ment, ha mégsem menne automatikusan, akkor először python setup tool, majd giten keresztül lehúzzuk a Gitosist:
$ sudo apt-get install python-setuptools
|
|
|
$ git clone git://eagain.net/gitosis.git
|
|
|
valamilyen (pl. tmp) könyvtárban
|
$ cd gitosis
|
|
|
$ sudo python setup.py install
|
|
|
Ezután létre kell hozni egy usert a Szerveren. Ehhez a userhez senki sem tud majd belépni, kizárólag a Gitet fogja kiszolgálni. A rendszergazda biztos tudja ha esetleg valamit máshogy kell csinálni az alábbiakban, én a leírások és a saját naív elképzelésem alapján ezt gondoltam (a usert projfelh-nek hívjuk majd):
sudo adduser \
|
--system \
|
--shell /bin/sh \
|
--gecos 'git version control' \
|
--group \
|
--disabled-password \
|
--home /home/projfelh \
|
projfelh
|
Ezután a projfelh adminisztrátora generál egy rsa kulcspárt aminek a publikus részét a Szerveren meg kell mondani a Gitosis-nak:
$ sudo -H -u projfelh gitosis-init < id_rsa.pub
|
Végül kicsit gatyába kell rázni valami engedélyeket (ez nálam otthon egy symlink, és nem is volt szükség erre a lépésre...) :
$ sudo chmod 755 /home/sztoch/nokinasn/repositories/gitosis-admin.git/hooks/post-update
|
Ha minden jól ment, idáig tart az a rész, amihez a rendszergazda segítségére van szükség. Ezután a projfelh adminisztrátora tudja majd adminisztrálni a központi adatbázist. Ez természetesen a git protokollon keresztül fog menni, a projfelh@valami.szerver.hu:gitosis-admin.git repón keresztül (lásd használat). Természetesen egyéb projektekhez egyéb git felhasználót lehet létrehozni, melyeket más adminisztrálhat.
Új proba project repójának létrehozása:
[group proba]
|
members = email@elso email@masodik ...
|
writable = proba
|
a gitosis.conf fileban. Itt figyelni kell, hogy az email címek megegyezzenek az rsa publikus kulcsban szereplőkkel. A keydir könyvtárba pedig be kell másolni a résztvevők publikus kulcsát (email@cím.pub néven, figyeljünk az extra .pub-ra a végén!).
A proba projectet csak olvashatják az alábbi emberek:
[group proba_csak_olv]
|
members = email@elso.csak.olv email@masodik.csak.olv ...
|
readonly = proba
|
A writable és a readonly mögé tetszőleges számú repó is felsorolható.
members listákat rövidíteni is lehet:
[group rovid]
|
members = email@elso.a.rovidben email@masodik.a.rovidben ...
|
Ezek után a további members részekben a @rovid alias behelyettesíti a megfelelő emaileket.