apache 2.0.55 startup problem

stunner

New Member
hallo!

folgende ausgangslage:
es läuft der o.g. apache server auf freebsd 5.4. eine html-seite ruft ein cgi-skript auf (perl), das wiederum mit sudo einen anderen dämon über dessen skript restartet: sudo /usr/local/etc/rc.d/radiusd.sh restart. das perl skript generiert eine neue html-seite, die u.a. die ausgabe des radiusd enthält.
das klappt so auch ganz hervorragend.

das problem:
wenn ich den apache beim booten (rc.conf-eintrag enable_apache2="YES") starte, startet zwar der server, die html seite ist erreichbar, das skript wird ausgeführt, kann aber seltsamerweise das radiusd.sh skript nicht ausführen. d.h. die html seite wird generiert, enthält aber keine radiusd ausgabe, da dieser auch gar nicht neu gestartet wird. das perl skript läuft in beiden fällen als benutzer www, der über sudo berechtigt ist, das radiusd.sh skript auszuführen.

wenn ich nun den apache neu starte, funzt wieder alles. wenn ich ihn erst nach dem systemstart über genau das selbe startup-skript starte, funzt auch alles.

jetzt bin ich ratlos. hat jemand eine idee???

vielen dank
gruß
mark
 
Wahrscheinlich ist Path noch nicht gesetzt. Verwende in deinem Skript vollständige Pfade.
 
wie recht du hast. mit vollständiger pfadangabe für sudo klappts. danke schön!

verstehen tu ich das allerdings nicht. ich dachte, das perl skript wird zur laufzeit interpretiert (also in dem moment, in dem jemand die seite aufruft) und in dem moment ist doch auch PATH schon gesetzt.
ich bitte um aufklärung - bin neuling :)

danke
gruß
mark
 
Ich denke das Perl-Skript bekommt die Laufzeitumgebung vom Apachen. Der wurde zu einer Zeit gestartet als Path noch nicht gesetzt war.
 
Ja so ist es.

Alternative könnte man $PATH selber in der httpd.conf oder einer .htaccess setzen:

SetEnv PATH /foo/bin

aber absolute Pfadangaben sind meist vorzuziehen.
 
Zurück
Oben