cgit只能用于命令行,而不能用于nginx

像很多次一样,我使用虚拟机来testing一些东西。 这就是configuration可能有点脏的原因。 我只是试着让cgitnginx一起运行。

我创build了一个包含git仓库的/git (owner: www-data:www-data )目录。 我的cgitconfiguration( /etc/cgitrc )是:

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

我在/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; } 

如果我现在打开浏览器并打开https://192.168.80.129/htdocs/cgit/ ,我可以看到cgit界面。 但是没有存储库。 只有一条消息no repository found

也许我的configuration不完美,但它几乎工作。 如果我打开命令行并执行su www-data -c /var/www/htdocs/cgit/cgit.cgi则可以看到我在/git创build的存储库:

 [...] </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 --> [...] 

我想可能是“nginx-cgit”没有读取configuration文件( /etc/cgitrc ),但是如果我改变了logo设置,网页中的logo也会改变。

不幸的是,在/var/log/nginx/error.log/var/log/nginx/access.log没有关于这个问题的信息。

谢谢你的任何想法。

– 编辑 –

我尝试过,但现在我只是安装似乎工作没有任何问题的gitphp( http://www.gitphp.org/ )。

谢谢:)