posts:nginx: Export HOME=/ to spawn-fcgi process for gitweb
authorW. Trevor King <wking@tremily.us>
Wed, 27 Mar 2013 12:47:56 +0000 (08:47 -0400)
committerW. Trevor King <wking@tremily.us>
Wed, 27 Mar 2013 12:47:56 +0000 (08:47 -0400)
Since Git's 96b9e0e (config: treat user and xdg config permission
problems as errors, 2012-10-13), `git` dies with:

  fatal: unable to access '/root/.config/git/config': Permission denied

when it doesn't have access to the HOME directory where it think's its
config files are stored.  Running an strace shows:

  access("/root/.config/git/config", R_OK) = -1 EACCES (Permission denied)

Since this error is fatal, we need to set the HOME environment
variable to somewhere where the server process (the `nginx` user on my
box) *does* have access.  Regardless of the user, `HOME=/` should be
pretty safe ;).

posts/Nginx.mdwn

index df71fef2e86c0ac16fa9497f2618fd906ea61d3f..bb2fb8b309f3ff743114406a1636c644875aaab3 100644 (file)
@@ -84,7 +84,8 @@ Configure `spawn-fcgi` to launch `fcgiwrap` with:
     FCGI_USER=nginx
     FCGI_GROUP=nginx
     FCGI_EXTRA_OPTIONS="-M 0700"
-    ALLOWED_ENV="PATH"
+    ALLOWED_ENV="PATH HOME"
+    HOME=/
     FCGI_CHILDREN=1
     FCGI_CHROOT=
     # cd /etc/init.d/