Ended up following what Alfe suggested in his answer, except rather than in the /etc/init.d/httpd
file (which could be overwritten easily on update) I added to /etc/sysconfig/httpd
:
export PATH=${PATH:+$PATH:}/usr/local/bin
Frage
I've been on this for a good few hours and I'm not getting anywhere.
I can't add /usr/local/bin
to the apache users PATH
variable. The user doesn't have a .profile
, I can't su
to the user, I can't export to the PATH
from php using exec
and adding
SetEnv PATH /usr/local/bin
To either the http.conf
or the .htaccess
file doesn't make a difference. I can't find the envvars
file to change that but I suspect there's some other problem.
I have restarted apache, and indeed my server.
Any help please?
Lösung
Ended up following what Alfe suggested in his answer, except rather than in the /etc/init.d/httpd
file (which could be overwritten easily on update) I added to /etc/sysconfig/httpd
:
export PATH=${PATH:+$PATH:}/usr/local/bin
Andere Tipps
Have a look at the /etc/passwd
to see which login shell the apache user has (on EC2 Ubuntu instances it should be /bin/sh
which is a link to /bin/dash
). Then have a look at the man page of that shell and find out which configuration files are read upon login. (For /bin/dash
that would be .login
in the user's home directory.) In those you should be able to extend your $PATH
as you like.
EDIT:
Since you seem to have no login shell for that user: Have a look at the /etc/init.d/*
scripts which start the system services. Apache will be one of them. They are started as root
and may change the current user (e. g. to the apache user). In there you might be able to adjust the PATH as you like it.
Patching those scripts, however, is not considered typical configuration. Updates might overwrite what ever you patch there.