Moje pliki envvar mają w sobie następujące linie:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Mój apache2.conf zawiera następujące linie:
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
Ale kiedy biegnę apache2 -M
, dostaję to:
apache2: bad user name ${APACHE_RUN_USER}
Tymczasową poprawką jest umieszczenie na www-data
stałe mojego pliku apache2.conf. Pojawiły się spekulacje , że to dlatego, że jakiś skrypt konfiguracyjny nie zastąpił poprawnie zmiennych env w moim pliku apache2.conf. Niezależnie od tego, w jaki sposób mogę uzyskać apache2 do przeglądania mojego pliku envvars?
Jako kolejny punkt danych ta witryna wydaje się wskazywać, że środowisko envvars jest generowane podczas kompilacji, ale czytane przez apache2ctl w czasie wykonywania, co sugeruje, że ten plik nie jest tylko kupą pozostałą po procesie kompilacji.
źródło
sudo stop apache2
,sudo restart apache2
isudo start apache2
(/etc/init.d/apache2 stop
, etc.)umask
dodawałem ustawienie do envvars i nawet po ponownym uruchomieniu za pomocąapache2ctl restart
nadal nie działało, ale ponowne uruchomienie za pomocąservice apache2 restart
działało (service apache2 graceful
nie działało )./etc/init.d apache2 reload
nie spowoduje odebraniaenvvars
dodatków, musisz zatrzymać i uruchomić serwerZ http://httpd.apache.org/docs/2.2/configuring.html :
Tak więc zmienna jest rzeczywiście pobierana ze środowiska zgodnie z oczekiwaniami. Gdzie to się teraz dzieje?
W
/etc/init.d/apache2
,APACHE_ENVVARS
jest ustawiony na ścieżceenvvars
pliku, który jest oparty na skryptu startowego ścieżki. Zwykle powodujeAPACHE_ENVVARS=/etc/apache2/envvars
to ustawienie. Ponieważ ta wartość jest równa wartościom domyślnym ustawionym wapache2ctl
, nie jest eksportowana.Od
/usr/sbin/apache2ctl
:Objaśnienie: jeśli
APACHE_ENVVARS
jest pusty, użyj domyślnej ścieżki, którą jest/etc/apache2/envvars
. Jeśli ten plik istnieje, „źródłowy” go (wykonaj polecenia z tego pliku w bieżącym środowisku).Upewnij się, że
envvars
plik nie zawiera żadnych błędów składniowych. Aby wykonać taką kontrolę, użyj:Błędy są drukowane, jeśli występują.
źródło