cgit só funciona na linha de comando, mas não com o nginx

3

Como muitas vezes, usei uma máquina virtual para testar algo. Esta é a razão pela qual a configuração está um pouco suja. Eu apenas tento fazer o cgit rodar com o nginx.

Eu criei um diretório /git (owner: www-data:www-data ) que contém um repositório git. Minha configuração cgit ( /etc/cgitrc ) é:

virtual-root=/htdocs/cgit/
css=/htdocs/cgit/cgit.css
logo=/htdocs/cgit/cgit.png
scan-path=/git

E adicionei a seção seguinte ao servidor padrão em /etc/nginx/sites-available/default :

    location ~* ^.+\.(css|png|ico)$ {
        expires 30d;
    }

    location /htdocs/cgit/ {
        index cgit.cgi
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  /var/www/htdocs/cgit/cgit.cgi;
        fastcgi_pass   unix:/var/run/fcgiwrap.socket;
        fastcgi_param    PATH_INFO $uri;
        fastcgi_param    QUERY_STRING  $args;
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;
        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx;
        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
        fastcgi_param  REMOTE_USER        $remote_user;
    }

Se eu abrir o navegador agora e abrir https://192.168.80.129/htdocs/cgit/ , posso ver a interface cgit. Mas não há repositórios. Existe apenas uma mensagem no repository found .

Provavelmente minha configuração não é perfeita, mas quase funciona. Se eu abrir a linha de comando e executar su www-data -c /var/www/htdocs/cgit/cgit.cgi , então eu posso ver o repositório que eu criei em /git :

[...]
</form></td></tr></table>
<div class='content'><table summary='repository list' class='list nowrap'><tr class='nohover'><th class='left'><a href='/htdocs/cgit/?s=name'>Name</a></th><th class='left'><a href='/htdocs/cgit/?s=desc'>Description</a></th><th class='left'><a href='/htdocs/cgit/?s=owner'>Owner</a></th><th class='left'><a href='/htdocs/cgit/?s=idle'>Idle</a></th></tr>
<tr><td class='toplevel-repo'><a title='yolo' href='/htdocs/cgit/yolo/'>yolo</a></td><td><a href='/htdocs/cgit/yolo/'>Unnamed repository; edit this file 'description' to name the repository.
</a></td><td>www-data</td><td><span class='age-mins'>9 min.</span></td></tr>
</table></div> <!-- class=content -->
<div class='footer'>generated  by cgit v0.9.1-27-gd5a4 at 2014-08-21 23:02:37 (GMT)</div>
</div> <!-- id=cgit -->
[...]

Achei que talvez o "nginx-cgit" não tenha lido o arquivo de configuração ( /etc/cgitrc ), mas se eu alterar o logotipo, o logotipo na página da Web também será alterado.

Infelizmente, não há informações sobre esse problema em /var/log/nginx/error.log e /var/log/nginx/access.log .

Obrigado por qualquer ideia.

- EDITAR

Eu tentei e tentei, mas agora eu instalei o gitphp ( link ) que parece funcionar sem problemas.

Obrigado :)

    
por Kevin Meier 22.08.2014 / 01:10

0 respostas

Tags