André Laugks: lokaler Apache unter W98

Hallo alle zusammen!

Ich versuche zur Zeit einen lokalen Server zu installieren. Den Server habe ich unter c:\apache installiert und zwar die Version 1.3.9. Irgendwie will es aber nicht funktionieren.

Der Inhalt der Konfigurierungsdatei, die sich unter c:\apache\conf\ befindet:

ServerType standalone
ServerRoot "c:/apache"
ServerName 127.0.0.1
DocumentRoot "c:/apache/htdocs"
DirectoryIndex index.html index.htm index.php3
<Directory "c:/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3 .phtml
AddType application/x-httpd-php3-source .phps
Action application/x-httpd-php3 "/cgi-bin/php.exe"

In der c:\windows\host.sam  befindet sich diese Zeile, ohne Kommentare:

127.0.0.1       localhost

Ich habe einen Ping abgesendet, einmal mit 127.0.0.1 und einmal mit lokalhost. Ich bekomme aber keine Fehlermeldung, Host wird gefunden. Ich habe es testhalber mit 123.123.123.123 versucht und bekomme auch eine Fehlermeldung. Der Host ist nicht zu erreichen, da ich offline bin.

Ich bin der Installationsanweisung unter http://www.dynamic-webpages.de/pinstall.php3 gefolgt. Dort steht, das wenn ich http://127.0.0.1 eingebe, die Startseite von Apache angezeigt werden sollte.

Was habe ich vergessen, oder was muß noch installiert sein oder werden?

mfg, André

  1. Ich versuche zur Zeit einen lokalen Server zu installieren. Den Server habe ich unter c:\apache installiert und zwar die Version 1.3.9. Irgendwie will es aber nicht funktionieren.

    In welchem Modus startest Du den Apache?

    Ich kenne kein Windows98; unter Win95 geht nur "Desktop Application", unter Windows NT geht auch "Systemdienst" (nach Aufruf eines Zusatzprogramms nach der Installation).
    Zum Testen würde ich erst mal "Desktop Application" nehmen. Dann läuft der Apache in einer DOS-Box, d. h.
    1. Du siehst, ob er überhaupt läuft, und
    2. in diese gibt er seine Fehlermeldungen aus, wenn er nicht dazu kommt, etwas anderes zu tun.

    ServerName 127.0.0.1

    Das habe ich noch nicht ausprobiert - bei mir war der ServerName immer ein Name.
    Entscheidend ist, daß der Apache seine Konfigurationsdatei für syntaktisch korrekt hält; Du kannst den Server danach trotzdem über "http://127.0.0.1/" ansprechen.

    Wieso hast Du die vielen hundert anderen Zeilen gelöscht? Da kann einiges Wichtige dabei gewesen sein.

    DocumentRoot "c:/apache/htdocs"

    Es könnte kritisch sein, wenn dieser Pfad nicht existiert.

    Action application/x-httpd-php3 "/cgi-bin/php.exe"

    Das geht über den normalen Apache hinaus. Nimm diese vier Zeilen für PHP3 mal heraus, solange er gar nicht läuft.

    Ich habe einen Ping abgesendet, einmal mit 127.0.0.1

    Das nützt Dir gar nichts, weil der "ping" auf einen anderen TCP/IP-Port geht als den, welchen der Webserver belauscht. Das zeigt nur, daß Dein TCP/IP grundsätzlich nicht völlig kaputt ist. ;-)

    Öffne mal eine DOS-Box und starte darin das Programm "apache.exe".
    Wenn es ganz früh auf die Nase fällt, dann siehst Du die Fehlermeldung *nur* hier. Apache prüft vor dem Start seine httpd.conf, und wenn Syntaxfehler drin sind, dann meldet er es und startet gar nicht.

    Falls er halbwegs normal starten kann, dann schreibt der Apache seine Fehlermeldungen nach "\logs\error.log". Existiert eine solche Datei, und was steht drin?

    1. Hallo Michael!

      In welchem Modus startest Du den Apache?

      Ohaa, das kann ich gar nicht sagen.

      Ich kenne kein Windows98;

      Nur eine kurzzeitige Zwischenlösung bei mir... :-(

      unter Win95 geht nur "Desktop Application", unter Windows NT geht auch "Systemdienst" (nach Aufruf eines Zusatzprogramms nach der Installation).

      Wieso hast Du die vielen hundert anderen Zeilen gelöscht? Da kann einiges Wichtige dabei gewesen sein.

      Wieso? Keine Ahnung muß ich zu meiner Schande gestehen. :-(  Ich habe aber eine Kopie der alten Datei. Ich habe eben mal genau rein geschaut. Da  sind ja wirklich noch sehr viel andere Zeilen enthalten, die es in der jetzigen nicht gibt.

      DocumentRoot "c:/apache/htdocs"
      Es könnte kritisch sein, wenn dieser Pfad nicht existiert.

      Dieser Ordner existiert. In dem befindet sich die Startseite von Apache.

      Öffne mal eine DOS-Box und starte darin das Programm "apache.exe".

      Habe ich jetzt mal gemacht. c:\apache\apache.exe. Daraufhin kommt die Zeile

      Apache/1.3.9 (Win32) runnig...

      das wars. Irgendwie passiert noch was. Der Computer scheint etwas zu machen. Der Kursor stellt die kleine Sanduhr dar, die sich nach einer kurzen Zeit wieder ein den Pfeil verwandelt.

      Falls er halbwegs normal starten kann, dann schreibt der Apache seine Fehlermeldungen nach "\logs\error.log". Existiert eine solche Datei, und was steht drin?

      Zuerst gab es keine error.log, im Ordner logs gabs gar keine Datei. Nach dem ich aber apache über die DOS-Box gestartet habe, muß er wohl eine angelegt haben, in der aber nichts steht. Es existiert jetzt aber eine zweite Datei im Ordner logs, und zwar httpd.pid, in der sich dies befindet:

      -281777

      Hätte mich auch gewundert, wenn es mit der Einrichtung des Servers keine Probleme gegeben hätte. ;-(

      mfg, André

      1. Öffne mal eine DOS-Box und starte darin das Programm "apache.exe".
        Habe ich jetzt mal gemacht. c:\apache\apache.exe. Daraufhin kommt die Zeile
        Apache/1.3.9 (Win32) runnig...
        das wars. Irgendwie passiert noch was. Der Computer scheint etwas zu machen. Der Kursor stellt die kleine Sanduhr dar, die sich nach einer kurzen Zeit wieder ein den Pfeil verwandelt.

        Solange apache.exe läuft, läuft auch der Server noch. Also ist die Konfiguration erst mal syntaktisch okay. Prima!

        Zuerst gab es keine error.log, im Ordner logs gabs gar keine Datei. Nach dem ich aber apache über die DOS-Box gestartet habe, muß er wohl eine angelegt haben, in der aber nichts steht. Es existiert jetzt aber eine zweite Datei im Ordner logs, und zwar httpd.pid, in der sich dies befindet:
        -281777

        Das ist die Prozeß-ID des Server-Jobs - an dieser Datei erkennt der Server, daß er läuft (bzw. beim sauberen Beenden löscht er sie, und wenn sie beim nächsten Start noch vorhanden ist, meckert er, er sei beim vorherigen mal "unclean" beendet worden ...).

        Hätte mich auch gewundert, wenn es mit der Einrichtung des Servers keine Probleme gegeben hätte. ;-(

        Naja, der Server läuft und erzeugt keine Fehlermeldung. Noch kann ich gar kein Problem erkennen.
        Jetzt müßtest Du als Nächstes mal eine URL ansprechen (z. B. http://127.0.0.1/) - was passiert dann? Dabei müßte in \logs\access.log eine Zeile erscheinen, die diesen Zugriff protokolliert ... und wenn ein Fehler auftritt, dann eben auch eine Zeile in "errors.log".

        1. Hallo Michael!

          Ich danke Dir für Deine Hilfe. Nach langen diskussionen im Chat, hat man mir Olli gesagt, daß ich den Apache über start/programme/apache/start apache starten muß. Nach dem ich das gamacht hatte, konnte ich den Apache (Startseite) aufrufen.

          Das Leben ist sehr ungerecht mit mir. ;-)

          mfg, André Laugks

          1. Nach langen diskussionen im Chat, hat man mir Olli gesagt, daß ich den Apache über start/programme/apache/start apache starten muß. Nach dem ich das gamacht hatte, konnte ich den Apache (Startseite) aufrufen.

            Wenn Du Dir die Definition dieses Eintrags in der entsprechenden Programmgruppe ansiehst, wirst Du sehen, daß das auch nichts anderes ist als "apache.exe" mit dem entsprechenden Arbeitsverzeichnis - genau wie in Deiner DOS-Box ...

            Das Leben ist sehr ungerecht mit mir. ;-)

            Wieso? Jetzt hast Du einen laufenden Apache - ist das etwa nix??? ;-)

            Und falls Windows98 wie Windows NT Systemdienste kennt, dann kannst Du den Apache noch als solchen Dienst eintragen (dann wird er beim Booten automatisch gestartet und läuft als Systemtask im Hintergrund).
            Dafür gibt es in der Programmgruppe eine Ikone, die aber auch nur "apache.exe -i" ausführt ...