gitweb et nginx sous Debian

Cela fait un petit moment que j’utilise NGINX et je l’aime vraiment beaucoup. Il vous faudra changer quelques petites choses pour faire tourner du CGI. Je tenais a documenter rapidement la methode sur Debian. Je presume ici que vous utilisez /var/www comme racine de site web et que vous tournez Debian. Installez apt-get install gitweb fcgiwrap et faites ensuite un lien symbolique comme suit : ln -s /usr/share/gitweb /var/www/.

Il ne vous reste qu’a ajouter ceci a votre configuration (dans le fichier defaults ou le vhost que vous utilisez) :

       location /gitweb/ {
		index index.cgi;
		include fastcgi_params;
                gzip off;

               if ($uri ~ "/gitweb/index.cgi") {
                        fastcgi_pass unix:/var/run/fcgiwrap.socket;
                }

        }

Mon fichier fastcgi_params est un petit peu different de celui par default, le voici donc, editez /etc/nginx/fastcgi_params

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/$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;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Il ne vous reste qu’a executer un service nginx restart et pointer votre navigateur sur /gitweb, et voila !