Сжатие Debian: gitolite + ssh + apache2 + suexec + http-backend - PullRequest
3 голосов
/ 28 ноября 2011

Я выполняю этот шаг при настройке ste: http://sitaramc.github.com/gitolite/ggshb.html

но когда я попытаюсь сделать git-клон, у меня появится следующее сообщение об ошибке:

git clone http://guillaume@git.domain.net/gitolite-admin
Initialized empty Git repository in /home/guidtz/tmp/tmp/gitolite-admin/.git/
Password: 
fatal: http://guillaume@git.domain.net/gitolite-admin/info/refs not found: did you run git update-server-info on the server?

Я сделал git update-server-info.

Я помещаю http config в repos / config:

[http]
      receivepack = true

информация / ссылки файл существует

Мой Apache Vhost:

<VirtualHost *:80>
   ServerName git.domain.net
   ServerAdmin sysadmin@domain.net

   LogLevel debug
   ErrorLog "|/usr/bin/cronolog /var/log/apache2/git/%Y/%W/%d-error.log"
   CustomLog "|/usr/bin/cronolog /var/log/apache2/git/%Y/%W/%d-access.log" combined

   DocumentRoot /var/www/gitweb

   SuexecUserGroup gitolite gitolite

   SetEnv GIT_PROJECT_ROOT /home/git/repositories
   SetEnv GIT_HTTP_EXPORT_ALL
   SetEnv GITOLITE_HTTP_HOME /home/git

   ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" /var/www/bin/gitolite-suexec-wrapper.sh/$1
  <Directory "/var/www/gitweb">
            Options ExecCGI
            AllowOverride None
            AddHandler cgi-script .cgi
            DirectoryIndex gitweb.cgi
            Order allow,deny
            Allow from all
   </Directory>
   <Directory "/var/www/bin">
            <Files "gitolite-suexec-wrapper.sh">
                    Order allow,deny
                    Allow from all
            </Files>
   </Directory>

   <Location / >
           AuthType Basic
           AuthName "Private Git Access"
           AuthUserFile /etc/apache2/gitusers
           Require valid-user
   </Location>
</VirtualHost>

Мой файл оболочки / var / www / bin / gitolite-suexec-wrapper.sh

#!/bin/bash
#
# Wrapper for gl-auth-command
#

USER=$1

export GIT_PROJECT_ROOT="/home/git/repositories"
export GITOLITE_HTTP_HOME="/home/git"

exec  /home/git/bin/gl-auth-command $USER

# End

1 Ответ

2 голосов
/ 30 ноября 2011

Я нашел свою ошибку, я забыл / в

Directory "/var/www/bin">

и мне пришлось добавить пустой файл git-daemon-export-ok

, чтобы при нажатии.Gitolite удаляет git-daemon-export-ok только в проекте gitolite-admin, а не во всех остальных.

...