Назад | Перейти на главную страницу

Настройка nginx для git-http-backend в debian (системы на базе)

Мне не удается заставить git-http-backend работать с сервером nginx на моем компьютере с Ubuntu 13.04. Раньше пробовал с Debian 7, но с аналогичными результатами. В основном я следил http://weininger.net/configuration-of-nginx-for-gitweb-and-git-http-backend/ но проигнорировал все, что касается gitweb.

Я сделал следующее:

Установил nginx, git, git-core и fcgiwrap, используя:

apt-get install git git-core nginx fcgiwrap

Создал голое репо в /var/git/test.git и добавил его в www-data:

mkdir -p /var/git/test.git
cd /var/git/test.git
git init --bare
git update-server-info
chown -R www-data:www-data /var/git

Заменен / etc / nginx / sites-enabled / default на

server {
        listen 80;

        server_name localhost;

        location / {
                root /var/git;

                fastcgi_pass unix:/var/run/fcgiwrap.socket;
                fastcgi_param SCRIPT_FILENAME   /usr/lib/git-core/git-http-backend;
                fastcgi_param PATH_INFO         $uri;
                fastcgi_param GIT_PROJECT_ROOT  /var/git;
                fastcgi_param GIT_HTTP_EXPORT_ALL "";
                include /etc/nginx/fastcgi_params;
        }
}

При выполнении

GIT_CURL_VERBOSE=1 git clone http://localhost/test.git

он печатает:

Klone nach 'test'...
* Couldn't find host localhost in the .netrc file; using defaults
* About to connect() to localhost port 80 (#0)
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET /test.git/info/refs?service=git-upload-pack HTTP/1.1
User-Agent: git/1.8.1.2
Host: localhost
Accept: */*
Accept-Encoding: gzip
Pragma: no-cache

* The requested URL returned error: 500 Internal Server Error
* Closing connection 0
error: The requested URL returned error: 500 Internal Server Error while accessing http://localhost/test.git/info/refs?service=git-upload-pack
fatal: HTTP request failed

/Var/log/nginx/error.log не содержит записей для этого запроса. Я не уверен, что git-http-backend записывает файл журнала, но не смог его найти.

Вы хоть представляете, что не так с этой настройкой? Знаете ли вы, как получить дополнительную информацию / регистрацию ошибки 500?

Поскольку вы получаете ошибку 500:

500 Internal Server Error while accessing http://localhost/test.git/info/refs?service=git-upload-pack

Попробуйте посетить этот адрес в своем веб-браузере, просматривая журналы ошибок nginx. Вы можете просмотреть журнал ошибок "в интерактивном режиме":

tail -f /var/log/nginx/error.log