Apache

  • Quand on veut accéder à un dépôt git via http, on est souvent confronté à l'erreur suivante :

    $ git push origin mabranche
    error: Cannot access URL http://serveur/git/depot/, return code 22
    fatal: git-http-push failed

    La solution la plus généralement recommandée est d'insérer

    SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

    Dans le fichier de conf apache.

    Cependant, comme cette directive est au niveau global, on se retrouve à copier cette variable dans tous les cas, mêle quand on n'utilsie pas git, ce qui peut avoir un impact pour les autres applis web qui utilisent l'authentification. La solution est de mettre une codition sur l'URL :

    SetEnvIf Request_URI "^/git/" REMOTE_USER=$REDIRECT_REMOTE_USER