setup issue: cgit only shows summary page
Peter Wu
peter at lekensteyn.nl
Fri Jan 16 18:48:48 CET 2015
On Friday 16 January 2015 17:05:45 John Keeping wrote:
> On Fri, Jan 16, 2015 at 05:30:56PM +0100, Lukas Tribus wrote:
> > I've a probably stupid setup issue, I just can't figure it out and need
> > a fresh set of eyes:
> > I compiled cgit from source (@d6c405077) and installed it
> > on a Ubuntu VM together with nginx through fcgiwrapper.
> >
> > When I open cgit in my browser it recognizes the repositories, etc,
> > but I only ever see the summary page with the list of repositories.
> >
> > If I click on one of them ("/cgit/<repo>/" or "/cgit/cgit.cgi/<repo>/")
> > it does open in the browser but the content is always the summary page of
> > all repositories, never the actual repository itself.
> >
> > Repositories are correctly discovered and for example the "idle" column shows
> > correct values, but I can't seem to open one of those repositories.
> >
> >
> > I triple checked file permissions, that doesn't appear to be the problem.
> >
> > I've also attached strace to the fcgiwrapper process monitoring its cgit
> > children, and I don't see any permission problems.
> >
> >
> >
> > cgitrc is:
> > #virtual-root=/cgit/
> > css=/cgit/cgit.css
> > logo=/cgit/cgit.png
> > favicon=/cgit/favicon.ico
> > remove-suffix=1
> > scan-path=/srv/git
> >
> > and the relevant part of the nginx config is:
> >
> > root /var/www/htdocs;
> >
> > location /cgit/ {
> > try_files $uri @cgitcgi;
> > }
> >
> > location @cgitcgi {
> > fastcgi_param DOCUMENT_ROOT $document_root;
> > fastcgi_param SCRIPT_NAME /cgit/cgit.cgi;
> > 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 REQUEST_URI $request_uri;
> > fastcgi_param SERVER_PROTOCOL $server_protocol;
> > fastcgi_param GATEWAY_INTERFACE CGI/1.1;
> > fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
> > 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 HTTPS $https if_not_empty;
> > fastcgi_pass unix:/var/run/fcgiwrap.socket;
> > }
>
> I think you either need to set PATH_INFO here *or* to avoid setting
> SCRIPT_NAME. CGit uses SCRIPT_NAME to decide whether to use path URLs
> or the "url=" query parameter. If it's using path URLs then you need to
> have PATH_INFO specified as the full path (which must start with
> $SCRIPT_NAME).
>
> Note that I've never used fcgiwrapper so I don't know whether it will
> set either of those automatically; I'm just going on how CGit behaves.
fcgiwrap uses SCRIPT_FILENAME (if set) and the concatenation of
DOCUMENT_ROOT and SCRIPT_NAME otherwise.
Suggestions for the nginx config: generally a default, sane set of
fastcgi parameters is available in the fastcgi_params file which you can
include with "include fastcgi_params;".
For a working fcgiwrap + nginx config, see:
http://lists.zx2c4.com/pipermail/cgit/2013-April/001307.html
--
Kind regards,
Peter
https://lekensteyn.nl
More information about the CGit
mailing list