4 votes

Problèmes d'utilisation de gitweb avec nginx

J'ai un dépôt git dans un répertoire à l'intérieur de /home/raynes/pubgit/. J'essaie d'utiliser gitweb pour fournir une interface web à ce dépôt. J'utilise nginx comme serveur web pour tout le reste, donc je ne veux pas vraiment avoir à en utiliser un autre juste pour cela.

Je suis principalement ce guide : http://michalbugno.pl/en/blog/gitweb-nginx fcgiwrap n'est apparemment pas dans les dépôts de Lucid Lynx, je l'ai donc installé manuellement. Je crée des instances via spawn-fcgi :

spawn-fcgi -f /usr/local/sbin/fcgiwrap -a 127.0.0.1 -p 9001

C'est très bien. Mon /etc/gitweb.conf est le suivant :

# path to git projects (<project>.git)
$projectroot = "/home/raynes/pubgit";
$my_uri = "http://mc.raynes.me";
$home_link = "http://mc.raynes.me/";

# directory to use for temp files
$git_temp = "/tmp";

# target of the home link on top of all pages
#$home_link = $my_uri || "/";

# html text to include at home page
$home_text = "indextext.html";

# file with project list; by default, simply scan the projectroot dir.
$projects_list = $projectroot;

# stylesheet to use
$stylesheet = "/gitweb/gitweb.css";

# logo to use
$logo = "/gitweb/git-logo.png";

# the 'favicon'
$favicon = "/gitweb/git-favicon.png";

Et la configuration de mon serveur nginx est la suivante :

server {
    listen 80;
    server_name mc.raynes.me;
    location / {
        root /usr/share/gitweb;
        if (!-f $request_filename) {
            fastcgi_pass   127.0.0.1:9001;
        }
        fastcgi_index  index.cgi;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi_params;
    }
}

La seule différence ici est que j'ai défini fastcgi_pass à 127.0.0.1:9001. Lorsque je vais sur http://mc.raynes.me Je suis accueilli par une page qui dit simplement "403" et rien d'autre. Je n'ai pas la moindre idée de ce que j'ai fait de mal.

Des idées ?

3voto

mutantmonkey Points 46

Vérifiez que votre SCRIPT_FILENAME est correct. J'ai constaté que je dois spécifier l'emplacement absolu complet pour que cela fonctionne :

fastcgi_param  SCRIPT_FILENAME  /usr/share/gitweb/gitweb.cgi;

Si vous continuez à avoir des erreurs, il se peut que vous deviez également spécifier le chemin complet de votre fichier de configuration Gitweb :

fastcgi_param  GITWEB_CONFIG    /etc/conf.d/gitweb.conf;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X