From mboxrd@z Thu Jan 1 00:00:00 1970 From: john at keeping.me.uk (John Keeping) Date: Fri, 16 Jan 2015 17:05:45 +0000 Subject: setup issue: cgit only shows summary page In-Reply-To: References: Message-ID: <20150116170545.GJ26383@serenity.lan> 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//" or "/cgit/cgit.cgi//") > 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.