Mailinglist Archive: opensuse-de (707 mails)

< Previous Next >
Gelöst: Re: OpenSuse 12.1: Apache PassEnv werden beim Start nicht gelesen
  • From: Christian Winterhager <christian.winterhager@xxxxxxxxxxxxx>
  • Date: Mon, 12 Mar 2012 10:42:25 +0100
  • Message-id: <4F5DC501.6090409@onlinehome.de>
Das Ersetzen der PassEnv Anweisungen durch SetEnv (wie von Torsten Förtsch vorgeschlagen) hat nichts gebracht.
Die Umgebungsvariablen, die im .profile und .bashrc des Users root sowie desjenigen Users,
der den Apache2 startet, gesetzt werden, sind nach wie vor nicht vorhanden bzw. auf die richtigen Werte eingestellt.
Den Vorschlag "1) Umstellung auf SysV Init" wollte ich nicht angehen, weil ansonsten auf der 12.1 alles hervorragend funktioniert.


Den von Michael Buchau erwähnten Tip:

Also musst du deine "Wunsch-Umgebung" nur in die /etc/sysconfig/apache2
eintragen, dann klappt's auch mit PassEnv.

konnte ich leider auch nicht durchführen, da trotz Manpage für den systemd.exec (5) keine
Information darüber herauszubekommen war, wie man eine einfache U-Variable in der Datei
/etc/sysconfig/apache2 deklariert.

Statt dessen habe ich die Hilfe für das Kommando systemctl bemüht und herausbekommen, daß
der Apache2 durch die folgenden Kommandos fehlerfrei gestartet wird und vor allen Dingen alle
CGI-Programme für MySQL und Informix funktionieren:

# ---------------------------------------------------------------------------------------------------------------------
# setzen des Environment fuer systemctl:
systemctl set-environment DBDATE=Y4MD-
systemctl set-environment LD_LIBRARY_PATH=/home/informix11_70/lib:/home/informix11_70/lib/esql
systemctl set-environment ONCONFIG=onconfig.stieff.cfg
systemctl set-environment PYTHONPATH=/usr/local/bin:/home/cw/Entwicklung/python_moduls
systemctl set-environment INFORMIXSQLHOSTS=/home/informix11_70/etc/sqlhosts.stieff.cfg
systemctl set-environment INFORMIXSERVER=stieff
systemctl set-environment INFORMIXDIR=/home/informix11_70
echo "Start des Apache2 Servers"
systemctl start apache2.service
# ---------------------------------------------------------------------------------------------------------------------

Nach wie vor ist auch unter diesen Umständen die Anweisung PassEnv in der /etc/apache2/default-server.conf
notwendig, sie kann auch nicht durch SetEnv ersetzt werden.


Vielen dank für die Unterstützung!
Gruß
Christian Winterhager










Am 11.03.2012 19:56, schrieb Torsten Förtsch:
On Sunday, 11 March 2012 18:40:49 Christian Winterhager wrote:
alle Umgebungsvariablen aus dem Abschnitt

PassEnv LD_LIBRARY_PATH
...
der /etc/apache2/default-server.conf werden nicht mehr eingelesen
Das bedeutet nur, dass im startenden Prozess (wohl systemd) diese Variablen
nicht gesetzt sind. Wo hast Du sie denn früher gesetzt? Ich sehe 3 Wege, wie
Du mit dem Problem umgehen kannst:

1) Umstellung auf SysV Init

Damit wird der Start des Systems dem von 11.4 sehr viel ähnlicher. Während des
Bootens kannst Du das mittels F3 oder so manuell einstellen. Oder Du
installierst sysvinit-init. Das wird einen Konflikt melden, den Du löst, indem
Du systemd-sysvinit deinstallieren lässt.


2) Ersetzen der PassEnv Anweisungen durch SetEnv

Wenn das Problem nur den Apache betrifft, dürfte das die einfachste Variante
sein.


3) Herausfinden, wie Du mit systemd Umgebungsvariablen setzen kannst

Irgendwie kann der systemd bestimmt auch Umgebungsvariablen setzen. Ich habe
aber keine Ahnung wie, da ich sysvinit-init benutze.

Torsten Förtsch


--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups