Как оказалось, в современном debian создать хостинг для git репозитория, не просто просто, а очень просто.Начнем мы ставить, на сервере, софт. Понадобиться нам gitosis и git-core. Говорим волшебное заклинание:
sudo aptitude install gitosis git-core
Следующим шагом надо создать gitosis хостинг:
sudo -H -u git gitosis-init < .ssh/authorized_keys2
Да, авторизация будет происходить только по ключам.
Дальше, надо разрешить выполнение post-update хука:
sudo chmod 755 /srv/gitosis/repositories/gitosis-admin.git/hooks/post-update
Теперь нам нужен git-daemon, который бы раздавал все что мы делаем
(этот шаг нужен, если мы хотим разрешить всем read only доступ):
sudo update-inetd --group OTHER --add 'git\tstream\ttcp\tgitosis\tgitosis\t/usr/bin/git\tgit daemon \
--inetd --export-all --base-path=/srv/gitosis/repositories/'
Все, на этом настройка сервера закончена. Теперь начинаем настраивать, собственно, хостинг.
Прелесть этой системы в том что все управление делается через git :).
Давайте, для начала, возьмем себе административный репозиторий:
git clone gitosis@SERVER:gitosis-admin.gi
Мы получим репозиторий, в котором будет лежать директория keydir. В ней лежат публичные ключи людей,
которые имеют доступ к нашему хостингу. В качестве имени файла используется его имя из открытого ключа.
Т.е. что бы добавить человека нужно, просто, добавить его ключ.
Для примера, мы создадим группу developer и testers, группа developers будет иметь доступ
к двум проектам на запись (project1-dev и project2-dev) и к проекту группы testers на чтение. Группы testers наоборот.
[group quux]
members = joe smith
writable = projeect1-dev project2-dev
readonly = testers
[group quux]
members = max john
writable = testers
readonly = projeect1-dev project2-dev
Теперь осталось только сделать commit.
Если сделать доступ, через git-daemon, то любой, сможет прочитать эти проекты.
URL: http://catap.ru/blog/2009/02/12/git-make-a-hosting/
Обсуждается: http://www.opennet.me/tips/info/1947.shtml