Ingo Werner: Apache-Fehlermeldung "httpd.pid overwritten..."

Hallo!

Ich habe schon alles mögliche durchforstet, aber zu meinem Problem keine Lösung gefunden:

Ich habe als lokalen Webserver den Omnihttpd als Dienst in WinNT (SP 6)installiert.
Meine Perl-Programme erzeugen auch! html- und andere Dateien in meinen Websites.
Lokal entwickle ich für's Web.
Der Omnihttpd macht alles wunderbar.

Jetzt will ich auch den Apache kennenlernen und habe ihn schon vor einem Jahr installiert.
Er zeigt alles an und Perl-Programme, die keine Dateien schreiben, laufen auch wunderbar.
Aber das Dateienschreiben klappt überhaupt nicht.
Er bricht mittendrin ab, die Datei wird nur zu einem geringen Teil geschrieben und das war's.
Deswegen hatte ich bis jetzt den Omnihttpd weiterbenutzt.

Jetzt will ich aber wissen, wie ich auch den Apache zum sauber funktionieren bringen kann.
Die Fehlermeldung lautet ausführlich (ist ja bekannt):

"[warn] pid file c:/programme/apache group/apache/logs/httpd.pid overwritten before the error.log file could be opened. More information may be available in the error.log file."

Nur im errorlog steht gar nichts drin.

Interessanterweise hat er einmal zwei ganz kleine Dateien Perl schreiben lassen.

Irgendjemand aus der Linux-Szene hat mir dann mal was über eine "Cachevergrößerung" erzählt, aber im config-File finde ich dazu nichts.

Wer hat denn damit schon Erfahrungen gemacht? Oder hat sogar die Lösung?

Danke und Gruß

Ingo

  1. Hi Ingo,

    Aber das Dateienschreiben klappt überhaupt nicht.

    Das ist aber eine Funktion Deines Skripts, nicht des Apache.

    Es könnte natürlich sein, daß sich Dein Skript auf irgendwas Undefiniertes,
    das bei einem anderen Server zufällig gegeben ist, verläßt - beispielsweise
    auf das current directory. Das wäre eine Möglichkeit, wieso ein CGI-Skript
    unter dem einen Server läuft und unter dem anderen nicht.

    "[warn] pid file c:/programme/apache group/apache/logs/httpd.pid
    overwritten before the error.log file could be opened.
    More information may be available in the error.log file."

    Die Datei httpd.pid enthält die Prozeß-ID des Apache-daemons.

    Geschrieben wird diese Datei m. E. nur zu einem einzigen Zeitpunkt, nämlich
    beim Start des Apache-Servers.
    Bei der Beendigung des Apache-Servers wird sie automatisch gelöscht.

    Wenn diese Datei also _überschrieben_ wurde, dann ist vermutlich irgend
    etwas mit Deiner Steuerung des Apache nicht so, wie es sein sollte.

    Gefühlsmäßig würde ich sagen, Du hast versucht, den Apache mehrfach zu
    starten oder etwas Ähnliches. Vielleicht hast Du den Apache so installiert,
    daß er im Hintergrund als System Service läuft, und ihn zusätzlich noch mal
    als Desktop-Programm gestartet? Solche Dinge sind mir auch schon passiert.

    Viele Grüße
          Michael

    1. hi Michael,

      "[warn] pid file c:/programme/apache group/apache/logs/httpd.pid
      overwritten before the error.log file could be opened.
      More information may be available in the error.log file."

      Die Datei httpd.pid enthält die Prozeß-ID des Apache-daemons.
      Geschrieben wird diese Datei m. E. nur zu einem einzigen Zeitpunkt, nämlich
      beim Start des Apache-Servers.
      Bei der Beendigung des Apache-Servers wird sie automatisch gelöscht.

      Vollkommen korrekt. Aber: diese "Beendigung" muß korrekt erfolgt sein. Es kann vorkommen, daß die PID liegenbleibt, wenn du den Apache nicht mit -shutdown runterfährst, das ist abhängig davon, _wie_ er gestartet wurde. Leider hat uns Ingo nicht verraten, welche Apache-Version er installiert hat, da gibts halt auch noch geringfügige Unterschiede.

      Wenn diese Datei also _überschrieben_ wurde, dann ist vermutlich irgend
      etwas mit Deiner Steuerung des Apache nicht so, wie es sein sollte.

      Auch völlig korrekt. Zusatz: wenn der OmniHTTPD "als Service" gestartet wird bzw. auf dem System installiert ist, könnte es auch sein, daß beide Webserver zeitgleich laufen und um irgendeinen registry-Eintrag konkurrieren. Ingo müßte uns den Eintrag in der httpd.conf zeigen, in der der Ablageort für die PID definiert wird. Wenn er dafür eine Variable  -  z.B. %systemroot%  -  eingesetzt hat, kann es sein, daß ihm der OmniHTTPD die eigentlich für den "Indianer" vorgesehene PID überschreibt  -  mit genau dem geschilderten Ergebnis. Außerdem ist bei WinNT auch noch der IIS standardmäßig aktiv, es sei denn, er wurde absichtlich deaktiviert. Dann laufen also drei ziemlich verschiedene Web-Server zeitgleich, was durchaus möglich ist, nur muß man sie halt alle drei ordentlich einweisen.

      Gefühlsmäßig würde ich sagen, Du hast versucht, den Apache mehrfach zu
      starten oder etwas Ähnliches. Vielleicht hast Du den Apache so installiert,
      daß er im Hintergrund als System Service läuft, und ihn zusätzlich noch mal
      als Desktop-Programm gestartet? Solche Dinge sind mir auch schon passiert.

      Das würde heißen, daß nicht zwei verschiedene Instanzen des Apache aktiv sind (das gäbe keine Konflikte) sondern tatsächlich ein zweiter Programmstart unternommen wurde, während das Programm noch aktiv war. Bedauerlicherweise gibts dafür bei den Windows- Installationen keine "Notbremse", mit der bei einem versehentlichen Neustart des Programms das bereits laufende Programm bzw. sein Prozeß erst beendet würde. Auf einem LINUX-Rechner kannste das einrichten, für Windows ist es mir nicht bekannt.

      Viele Grüße

      von mir auch ;-)

      Christoph S.

      1. hallo

        so schnelle antworten, toll, danke

        ich werde mir eure tips zu gemüte führen

        klar, daß ich meinen omni stoppe, wenn der apache läuft

        an den iis habe ich nicht gedacht, daß der bei mir laufen könnte

        danke erstmal

        ingo

        1. Hallo Michael, hallo Christoph!

          Ich könnte Euch 'umarmen'.

          Der IIS war der Übeltäter (schon viel auch unangenehmes von ihm gehört, aber nie auf die Idee gekommen, ihn auch bei mir zu entfernen), ich habe ihn jetzt deaktiviert und hoffe, daß ich ihn nicht konstant brauche (ohne ihn geht auch der Computersuchdienst nicht, aber momentan habe ich noch kein (großes) Netzwerk hier).

          Gruß und herzlichen Dank

          Ingo

          PS: Ich sollte mir doch 'mal ein gutes Buch über NT besorgen.

          PPS: Ich bin erstaunt und erfreut wie schnell hier im SELFHTML-Forum die Antworten kommen und daß antworten kommen, ich habe höchstens die Zeit, selbst eine Frage wie diesesmal zu stellen, aber die anderen Anfragen zu durchforsten und eventuell behilflich sein zu können, dazu komme ich leider nicht.