This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!

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:
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:

# 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. ;]