This question about Configuration: Answered
I installed 1.1.4 (the Support menus need updating :-)
When I ran configure for the first time and save, I got an error. (ref.
Support/Question891 ).
I debugged the error by checking my
LocalSite.cfg
and, as was in the case
SteveBa reported in
Question891, my
$Foswiki::cfg{SafeEnvPath}
was bad (unsafe).
What I'm wondering is, where did configure get the info it put into
$Foswiki::cfg{SafeEnvPath}
? It used my personal (shell login)
PATH
settings, i.e. it had
$Foswiki::cfg{SafeEnvPath} = '/Users/vlb_sh/bin:/usr/local/bin:/usr/local/nib:/opt/local/bin:/usr/bin:/bin:/etc:/usr/local/mysql/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/local/games:/usr/games:.:/usr/local/apache/bin:/Users/vlb_sh/nib:/Users/rdm_sh/bin:/Users/vlb_sh/projex/ptf/bin';
but Foswiki is configured to run as user
www
, different uid from my own. I did authenticate as
VickiBrown
but that's a Foswiki user name and shouldn't connect to
vlb
.
... I'm Confused.
--
VickiBrown - 22 Jan 2012
that is well wicked :/
I'm as surprised as you are.
--
SvenDowideit - 22 Jan 2012
At the bottom of the Configure - Web Server Environment tab, what are the values for
- CGI User
- Original Path
- Current Path
I recall seeing similar behavior on Linux, but I run my server cgi scripts under my own userid using
SuexecUserGroup Of course now that I look, it's not picking up my user path. Here is the code that guesses it for configure when it's missing:
if ( defined( $ENV{PATH} ) ) {
$ENV{PATH} =~ /(.*)/;
$Foswiki::cfg{SafeEnvPath} = $1;
}
--
GeorgeClark - 22 Jan 2012
That's it George. That's the answer:
CGI user userid = vlb_sh groups = _www, _www
Your CGI scripts are executing as this user.
Original PATH /Users/vlb_sh/bin:/usr/local/bin:/usr/local/nib:/opt/local/bin:/usr/bin:/bin:/etc:/usr/local/mysql/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/local/games:/usr/games:.:/usr/local/apache/bin:/Users/vlb_sh/nib:/Users/rdm_sh/bin:/Users/vlb_sh/projex/ptf/bin
This is the PATH value passed in from the web server to this script - it is reset by Foswiki scripts to the PATH below, and is provided here for comparison purposes only.
Current PATH /usr/local/bin:/usr/bin:/bin:/etc
This is the actual PATH setting that will be used by Perl to run programs. It is normally identical to {SafeEnvPath}, unless that variable is empty, in which case this will be the webserver user's standard path..
I'm thinking that Foswiki probably should not default to the current user's path when creating
SafeEnvPath.
--
VickiBrown - 23 Jan 2012