Ostatnio miałem okazję zająć się bardziej poważnie administracją serwera (dokładniej VPSa) „od podstaw”. Od podstaw, to znaczy na zupełnie zerowej instalacji Linuksa, w związku z czym trzeba było zainstalować, skonfigurować i uruchomić wszystkie niezbędne do pracy usługi. Pomimo tego, że generalnie określiłbym się jako programista mający od czasu do czasu do czynienia z zagadnieniami administracyjnymi poszło mi to całkiem nieźle – po kilku godzinach wszystko śmigało bez żadnych problemów, a ja mogłem wrócić do kodowania. Oczywiście nie obyło się bez problemów, dlatego jedną ze znalezionych, raczej prostych przypadłości opisuję dzisiaj na blogu.
Fotografia: DrBacchus, CC-BY.
Apache: Błąd „apache2: bad user name ${APACHE_RUN_USER}”.
Instalacja Apache wraz z resztą stosu LAMP sprowadza się do kilku prostych komend w konsoli, także nie było z tym żadnych problemów. Problem pojawił się, kiedy po zainstalowaniu i skonfigurowaniu wszystkich potrzebnych elementów zechciałem sprawdzić listę załadowanych modułów serwera. Wywołując w konsoli demona Apache z przełącznikiem -M otrzymałem komunikat:
apache2: bad user name ${APACHE_RUN_USER}
W pierwszej chwili pomyślałem, że problem jest związany z brakiem uprawnień. Szybko jednak odrzuciłem tą opcję, ze względu na obecność „krzyżyka” # przy znaku zachęty – w końcu root z założenia ma dostęp do wszystkiego. Okazało się, że chodzi jedynie o to, że Apache nie ma ustawionych własnych zmiennych środowiskowych. Wystarczyło polecenie:
<br /> source /etc/apache2/envvars<br />
i wszystko zaczęło działać tak, jak powinno. Gdyby ktoś był zainteresowany, co za dziwy kryją się w wspomnianym pliku, oto listing:
<br /> # envvars - default environment variables for apache2ctl</p> <p># Since there is no sane way to get the parsed apache2 config in scripts, some<br /> # settings are defined via environment variables and then used in apache2ctl,<br /> # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.<br /> export APACHE_RUN_USER=www-data<br /> export APACHE_RUN_GROUP=www-data<br /> export APACHE_PID_FILE=/var/run/apache2.pid<br />
Życzę miłej pracy z Indianinem. ;]
Warto przeczytać.
Trwa ładowanie…