Собственный сервер Git на базе Ubuntu или Debian/GNU Linux - Об ОС *Nix - Системное администрирование - Каталог статей - Архив документации и мануалов для админов

Воскресенье, 11.12.2016, 13:51
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 193

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

Собственный сервер Git на базе Ubuntu или Debian/GNU Linux

Собственный сервер Git на базе Ubuntu или Debian/GNU Linux

Я встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)


По данному руководству был создан репозиторий git.shadowircd.net

Для начала сделаем install некоторых пакетов aptitude:
aptitude install git-core git-svn gitweb

Создадим папку для хранения сайта с gitweb и dav-версии репозитория git:
mkdir -p /www/git.domain.tld/{htdocs,logs} /www/git.domain.tld/htdocs/git

Активируем нужные моды Apache2:
a2enmod dav
a2enmod dav_fs
a2enmod rewrite
a2enmod env

Составляем конфигурационный файл gitweb’а:
mcedit /www/git.domain.tld/gitweb.conf

У меня он выглядит так:
$my_uri = "http://git.domain.tld”; # адрес репозиториев
$site_name = "git.domain.tld”; # название сайта, отображается в заголовке
$projectroot = "/www/git.domain.tld/htdocs/git/”; # путь к репозиториям git на жёстком диске

$git_temp = "/tmp”;
$home_link = $my_uri; # ссылка на «домашнюю страничку»
# $home_text = "indextext.html”; # текст, можно расскоментировать и вставить свой
$projects_list = $projectroot;
$stylesheet = "/gitweb/gitweb.css”;
$logo = "/gitweb/git-logo.png”;
$favicon = "/gitweb/git-favicon.png”;
$projects_list_description_width = 40;

$feature{’pathinfo’}{’default’} = [1];

Теперь перейдём к нашему vhost в apache2, вот тут-то и содержится самое интересное:
<VirtualHost *:80>
ServerName git.domain.tld
ServerAlias www.git.domain.tld

ServerAdmin head@coderscamp.ru

DocumentRoot /www/git.domain.tld/htdocs
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

DirectoryIndex /cgi-bin/gitweb.cgi

RewriteEngine on
RewriteRule ^/([a-zA-Z0-9_\-]+\/\.git)/?(\?.*)?$ /cgi-bin/gitweb.cgi/$1 [L,PT]

SetEnv GITWEB_CONFIG /www/git.domain.tld/gitweb.conf
Alias /gitweb /usr/share/gitweb/

<Directory /www/git.domain.tld/htdocs>
Options FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
</Directory>

<Location /git>
DAV on
AuthType Basic
AuthName «Git»
AuthUserFile /www/git.domain.tld/passwd.git
<LimitExcept GET HEAD PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

LogLevel warn
ErrorLog /www/git.domain.tld/logs/error.log
CustomLog /www/git.domain.tld/logs/access.log combined
</VirtualHost>

Остаётся только добавить нового пользователя:
htpasswd -cm /www/git.domain.tld/passwd.git user

Всё Создаём репозитории в /www/git.domain.tld/htdocs/git/ и наслаждаемся самой приятной системой контроля версий из всех :)

P.S. для пользователей Windows при использовании git будет полезен tip об отключении автовставки CRLF переноса строки habrahabr.ru/blogs/development/43808/

P.P.S. для пользователей Linux — данный сервер работает с использованием DAV, могут возникнуть проблемы с push, разрешается созданием файла ~/.netrc со следующим содержимым machine git.domain.tld login <пользователь> password <пароль>


Источник: http://meandubuntu.ru/2009/12/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%
Категория: Об ОС *Nix | Добавил: admin (08.09.2011)
Просмотров: 963 | Комментарии: 1 | Теги: git, gitosis, Ubuntu, config, Linux | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2016