Вот и я оказался среди прочих, кто завёл себе профиль на github. В качестве пробного шара выложил туда модуль доставки ЕМС России для Satchmo (интернет-магазин на Django). Модуль обкатан и используется в нашем велоодежном проекте и может пригодится тем, кто смотрит в сторону python для своего магазина в сети. Всё-таки пока для России Satchmo не слишком готов.
Архивы: git
Как я настраивал gitweb
Опубликовал(а): goodguy
в: 07/01/2011
Нет комментариев
Методом проб и ошибок, наконец разобрался как настроить себе на одном домене gitweb и доступ к репозиториям через HTTP. Ошибкой было то, что я считал, что достаточно одного gitweb а на деле оказалось ещё и небольшое шаманство с Апачем. За основу взята инструкция с хабрахабр.
- Первым делом установил сами пакеты:
aptitude install git-core gitweb
- Создал каталоги для репозиториев и веб-доступа:
mkdir -p /web/git.domain.tld/{htdocs,logs} /web/git.domain.tld/htdocs/git - Активируем модули DAV в Апаче, для доступа с помощью git:
a2enmod dav a2enmod dav_fs a2enmod rewrite a2enmod env
- Создаем конфигурацию gitweb:
vim /web/git.domain.tld/gitweb.conf
Например:
# адрес репозиториев $my_uri = "http://git.domain.tld"; # название сайта, отображается в заголовке $site_name = "git.domain.tld"; # путь к репозиториям git на жёстком диске $projectroot = "/web/git.domain.tld/htdocs/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]; - И на закуску самое вкусное — настройки Апача:
<VirtualHost *:80> ServerName git.domain.tld ServerSignature Off ServerAdmin admin@git.domain.tld DocumentRoot /web/git.domain.tld/htdocs/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ SetEnv GITWEB_CONFIG /web/git.domain.tld/gitweb.conf Alias /gitweb /usr/share/gitweb/ RewriteEngine on RewriteRule ^/([a-zA-Z0-9_\-]+\.git.*)$ /cgi-bin/gitweb.cgi/$1 [L,PT] <Directory /web/git.domain.tld/htdocs> Options Indexes FollowSymLinks ExecCGI AllowOverride None Order allow,deny allow from all </Directory> <Location /git> DAV on <LimitExcept GET HEAD PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> ErrorLog /var/log/apache2/error.log <Location /> DirectoryIndex /cgi-bin/gitweb.cgi AuthType Basic AuthName "Version Control Server" AuthUserFile /web/git.domain.tld/htusers Require valid-user </Location> </VirtualHost>
Остается только завести пользователей в web/git.domain.tld/htusers и создавать репозитории в /web/git.domain.tld/htdocs/git. Например, создав myrepo.git (с опцией --bare) мы увидим его в списке проектов, зайдя браузером на git.domain.tld, а чтобы работать с ним через git надо будет использовать url http://git.domain.tld/git/myrepo.git/,
последние отклики