Hi Jonas, 2018-04-23 15:40 GMT+02:00 Jonas Meurer <jo...@freesources.org>:
> Hello again, > > maybe my previous mail was to verbose, or maybe simply nobody has an > idea. Still I'd like to give it a second try: > > Do you have a good idea why php-cgi7.0 throws the following error when > used with mod_fcgid, mod_usermod and mod_suexec? > > uid: (1002/webapp1) gid: (1002/webapp1) cmd: php-fcgi-starter cannot get > docroot information (/var/www/webapp1) > > $ ls -al /var/www/webapp1 > drwxr-xr-x 9 root root 4096 Jun 29 2014 . > drwxr-x--- 2 webapp1 webapp1 4096 Nov 7 15:14 php-fcgi > drwxr-x--- 2 webapp1 webapp1 4096 Apr 11 2015 www > [...] > > The same setup works perfectly fine without mod_usermod (i.e. when the > whole VHost has a dedicated suexec user). Only with mod_usermod, we get > this strange error. Premise: I am super ignorant about suexec & C, but this snippet of code in suexec.c seems to be the one returning the error: if (getcwd(cwd, AP_MAXPATH) == NULL) { log_err("cannot get current working directory\n"); exit(111); } if (userdir) { if (((chdir(target_homedir)) != 0) || ((chdir(AP_USERDIR_SUFFIX)) != 0) || ((getcwd(dwd, AP_MAXPATH)) == NULL) || ((chdir(cwd)) != 0)) { log_err("cannot get docroot information (%s)\n", target_homedir); exit(112); } } As far as I can see, this is what it tries to do: - save the current working dir to 'cwd' - change dir to "target_homedir", that should be in this case /var/www/webapp1 - change dir to AP_USERDIR_SUFFIX, that if not re-defined should be "public_html" (#define AP_USERDIR_SUFFIX "public_html" in suexec.h) - set the variable 'dwd' (docroot working directory) to the above - change dir back to cwd (current working directory) So I'd try to add a public_html directory and see how it goes. Hope that helps! Luca