Am 11.03.2012 18:40, schrieb Christian Winterhager:
Hallo,
ich habe ein weiteres Problem mit dem Apache nach dem Übergang von 11.4 auf 12.1:
alle Umgebungsvariablen aus dem Abschnitt
PassEnv LD_LIBRARY_PATH PassEnv INFORMIXDIR PassEnv INFORMIXSERVER PassEnv INFORMIXSQLHOSTS PassEnv ONCONFIG PassEnv PYTHONPATH PassEnv DBDATE
der /etc/apache2/default-server.conf werden nicht mehr eingelesen, wenn man (wie noch unter 11.4) den Apache-Server mit dem Kommando
rcapache2 start
hochfährt. Leider stehen die entsprechenden Fehlermeldungen auch nicht mehr unter /var/log/apache2/error.log, sondern in der /var/log/messages (darauf muß man auch erst mal kommen). Dort findet man bei jedem Start dann die Meldung:
Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable LD_LIBRARY_PATH was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable INFORMIXDIR was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable INFORMIXSERVER was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable INFORMIXSQLHOSTS was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable ONCONFIG was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable PYTHONPATH was undefined Mar 11 18:23:19 stieff start_apache2[30985]: [Sun Mar 11 18:23:19 2012] [warn] PassEnv variable DBDATE was undefined Mar 11 18:23:19 stieff systemd[1]: Failed to read PID file /var/run/httpd2.pid after start. The service might be broken.
Der root-Prozess, der den Apache mit dem Kommando rcapache2 start hochfährt, hat allerdings diese U-Varablen. Auch ein Starten mittels
systemctl start apache.service
bewirkt keine Änderung. Lediglich dann, wenn man den httpd-Dämon von Hand aus startet, werden die U-Variablen gelesen.
[...]
Nach dem du offensichtlich den Apachen per systemd startest, wirst du mit PassEnv allein keinen Erfolg haben. Der systemd stattet einen von ihm gestarteten Prozess nur mit einer minimalen Umgebung aus. Wenn du dir aber mal das zugehörige UnitFile /lib/systemd/system/apache2.service ansiehst, dann findest du dort den Eintrag EnvironmentFile=/etc/sysconfig/apache2 Beschrieben ist diese Option in der Manpage systemd.exec(5): Sämtliche in /etc/sysconfig/apache2 enthaltenen Variablenzuweisungen werden der Umgebung vom Apache hinzugefügt. Also musst du deine "Wunsch-Umgebung" nur in die /etc/sysconfig/apache2 eintragen, dann klappt's auch mit PassEnv. Gruß Mike -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org