Quer-Verweis

Apache richtig verwenden (unter Windows)

Wie man den Apache richtig startet und steuert ...

Apache starten

Es gibts 2 Möglichkeiten, wie man den Apache starten kann:

  • als "Service" (wurde auf NT und 2000 getestet). Dies wäre die empfohlene Wahl, wenn du willst, dass der Apache beim Systemstart gestartet wird und der Apache weiterläuft, wenn du ausloggst.
  • vom Konsolenfenster, dies ist die beste Auswahl für Win 95/98/ME User.

Führe erst die folgenden Schritte durch bevor du den Apache startest!

Um den Apache in der Konsole zu starten wähle im Startmenu "Start Apache as console app" (In Apache 1.3.4 und frühere Versionen heißt dies "Apache Server"). Dies öffnet die Konsole und startet den Apache. Das Fenster bleibt so lange aktiv bis du den Apache stoppst. Um den Apache zu stoppen wähle aus dem Startmenu "Shutdown Apache console app" (diese Option ist im Apache 1.3.4 und früher nicht verfügbar) oder verwende die Apache Befehle um ihn in der Konsole zu steuern.

Apache testen

Wenn du Probleme hast den Apache zu starten verwende die folgenden Schritte um das Problem zu erkennen. Dies ist zu tun, wenn du den Apache im Startmenu "Start Apache as a console app" startest und das Konsolenfenster sofort wieder schließt oder du Probleme hast den Apache als Service zu starten.

Starte die "Eingabeaufforderung" aus dem Startmenu, wechsel in das Verzeichnis, wohin du den Apache installiert hast, geb den Befehl "apache" ein und lies die Fehlermeldung. Dann überprüfe die error.log Datei auf Konfigurationsfehler. Wenn du die Standards beim Apache akzeptiert hast müssten die Befehle folgende sein:

c:
cd "Programme\apache\group\apache"
apache
Wait for Apache to exit, or press Ctrl+C
more logserror.log

Nachdem du dir die error.log Datei angeschaut hast ist es einfacher das Problem zu finden und zu beheben. Viele User merken, dass man leichter mit der http.comf zurecht kommt und prüfen Seite für Seite die Konfiguration.

Nach dem du den Apache gestartet hast (entweder in der Konsole oder als Service) überwacht der Apache den Port 80 (außer du hast den Port, Listen und Bindaddress in der Konfigurationsdatei geändert). Um zum Server zu verbinden und die Standartseite aufzurufen starte nun den Browser und gib die Adresse ein:

http://localhost/

Der Browser müsste nun die Apache "Welcome Page" aufrufen. Wenn nichts passiert oder du einen Error bekommst, schau in die error.log Datei im Log-Verzeichnis. Wenn dein Rechner nicht mit dem Internet verbunden ist musst du diese Adresse verwenden:

http://127.0.0.1/

Wenn der Apache erst einmal läuft kannst du auch die Dateien im conf Verzeichnis auf deine Bedürfnisse anpassen.

Der Apache kann sich nicht mit andern TCP/IP Programmen den selben Port teilen (Standardmäßig Port 80), deshalb musst du bestimmte Services (Programme die selbst starten) vorher stoppen oder deinstallieren. Dies beinhalten z.B. andere Webserver und Firewalls wie z.B. BlackIce. Wenn du den Apache nur mit diesen deaktivierten Services starten kannst dann konfigurier den Apache oder den andern Service (Programm) neu, so dass sie nicht beide mit dem selben TCP/IP Port arbeiten. In Windows ist ein Programm hinzugefügt, welches sich netstat nennt. Mit "netstat -an" werden hier die verwendeten Ports angezeigt.

Ab Apache 1.3.13 und höher kann man nun auch mit STRG+C oder STRG+BREAK den Apache im Konsolenfenster beenden. In Windows NT/2000 kann man ab Apache 1.3.13 den Apache durch ein normales klicken auf dem X den Apache sauber beenden. Ab der Version 1.3.15 funktioniert dies auch bei Windows 95/98. Diese Verfahren sollten jedoch nicht mit früheren Versionen des Apaches versucht werden.

Apache konfigurieren

Der Apache wird mit den Dateien im conf Verzeichnis konfiguriert. Dies sind die gleichen Dateien wie in der Linux/Unix Version, aber in der Windowsversion gibt es einige Unterschiede in den Anweisungen.

Man beginnt die Konfiguration mit dem Prüfen der httpd.conf und seinen Anweisungen. Obwohl die beiden Dateien access.conf und srm.conf noch existieren, werden diese alten Dateien von den meisten Adminstratoren nicht länger verwendet und deshalb sind in diesen Dateien auch keine Anweisungen mehr.

Die httpd.conf enthält bereits einen großen Teil der Dokumentation (die Standartkonfiguration wird dort beschrieben). Lies diese Kommentare, damit du die Konfiguraionsdatei besser verstehst, mache kleine Veränderungen und starte noch jeder Veränderung den Apache in der Konsole. Wenn du einen Fehler machst lässt sich nun die Konfigurationsdatei besser backuppen.

Apache in der Konsole starten

Der Startmenu Manager und NT Service Manager bietet ein einfaches Interface (Schnittstelle) um den Apache zu administrieren. Aber in einigen Fällen ist es einfacher von der Kommandozeile zu arbeiten.

Wenn man mit dem Apache arbeitet ist es wichtig, dass man weiß wie der Apache die Konfiguraionsdateien findet. Du kannst eine Konfiguraionsdatei über 2 Möglichkeiten in der Kommandozeile festlegen:

-f legt einen Pfad zu einer Konfigurationsdatei, welche nur für diesen Start gilt.
apache -f "c:\my server\conf\my.conf"
apache -f test est.conf

-n legt die Konfigurationsdatei eines installierten Apache Services fest.

apache -n "service name"

In diesem Fall kann nur der richtige Serverroot die Konfigurationsdatei festlegen.

Wenn du keine Konfigurationsdatei mit -f oder -n festgelegt hast, dann nutzt der Apache die Standarddatei conf/httpd.conf. Wenn man den Apache mit dem Parameter -V startet wird nun die Conf-Datei ausgegeben (SERVER_CONFIG_FILE). Beim Apache kann man den Serverroot mit den folgenden Schritten festlegen:

die ServerRoot-Anweisung mit dem Parameter -C
der -d Parameter in der Kommandozeile
das aktuelle Arbeitsverzeichnis
ein Registry Wert wird erstellt, wenn du die Binaryinstallation gemacht hast
der ServerRoot wird in den Server kompilliert

Der ServerRoot wurden in den Server kompilliert, normalerweise "/apache", wenn man nun den Apache mit dem Parameter -V wird der Wert von HTTPD_ROOT ausgegeben.

Wenn du den Apache vom Startmenu startest kannst du leider keine Parameter/Anweisungen hinzufügen, deshalb sollte man gewisse Registry Einträge ändern.

Während der Apache Installation wird zum Beispiel ein Registry-Key hier installiert:

HKEY_LOCAL_MACHINE/Software/Apache Group/Apache1.3.13/ServerRoot

Der Key wurde in den Server einkompilliert und ermöglicht es dir neuere Versionen zu testen ohne Auswirkungen auf die momentane Version deines Servers. Natürlich musst du vorsichtig sein und darfst eine ältere Version nicht mit einer neueren überinstallieren.

Wenn du den Apache nicht richtig von der Installationsdatei installiert hast, kann es vorkommen dass der Regstry Key nicht eingetragen wurde. Diese Warnung kann ignoriert werden, so lange der Apache die Konfigurationsdateien finden kann.

Der Wert des Keys ist das "ServerRoot"-Verzeichnis, welches das conf-Verzeichnis enthält. Wenn der Apache gestartet wird liest er die httpd.conf von diesem Verzeichnis aus. Wenn diese Datei eine ServerRoot Anweisung enthält, welche vom Verzeichnis in der Registry abweicht, dann nutzt der Apache das Verzeichnis aus der Konfigurationsdatei und nutzt nicht die Registry! Wenn du die Apache-Konfigurationsdatei oder das Apacheverzeichnis in ein neues Verzeichnis kopierst ist es sehr wichtig, dass du das ServerRoot-Verzeichnis in der httpd.conf updatest.

Um den Apache in der Kommandozeile zustarten und als Konsolenprogramm laufen zu lassen musst du folgendes eingeben:

apache

Der Apache wird nun gestartet und läuft bis du STRG+C drückst um das Programm zu beenden.

Apache im Konsolenfenster kontrollieren

Du kannst dem Apache die Anweisung geben, dass er stoppen soll, in dem du in einem neuen Konsolenfenster eingibst:

apache -k shutdown

Hinweis: Dies funktioniert erst ab Apache 1.3.3 oder später.

Für ältere Versionen musst du STRG+C drücken um den Apache zu beenden.

Von der Version 1.3.3 bis 1.3.12 sollte dies genutzt werden an Stelle von STRG+C, denn so erlaubt der Apache bereits laufende Transaktionen zu beenden und beendet sauber.

Ab Version 1.3.13 wird der Apache auch ordentlich mit STRG+C beendet und man kann -k stop für -k shutdown verwenden. Frühere Versionen wissen nichts mit -k stop anzufangen.

Man kann den Apache auch den Befehl zum neustarten geben. Dies hat zur Folge, dass er die Konfigurationsdateien neu einliest. Einige Transaktionen (Datenübermittlungen) laufen problemlos, ohne Unterbrechnung, weiter. Um den Apache neuzustarten gib ein:

apache -k restart

Hinweis: Diese Funktion ist erst ab 1.3.3 vorhanden. Für frühere Versionen muss man den Apache mit STRG+C beenden und anschließend wieder starten.

Eine weitere nützliche Funktion ist die Testfunktion für Konfigurationsdateien. Um die Apache-Konfigurationsdateien zu testen gib ein:

apache -t

Dies ist besonders nützlich wenn der Apache bereits läuft. Du kannst Veränderungen machen, die veränderte Syntax prüfen mit "apache -t" und dann den Apache neustarten mit "apache -k restart". Der Apache liest nun die Konfigurationsdateien neu ein und erlaubt es die momentanen Transaktionen, ohne Unterbrechnung, zu beenden. Jede neue Anfrage wird dann mit den neuen Einstellungen beantwortet.

gefunden @ http://www.code-box.de

© 2005 cptc | Impressum | powered by OpenEngine 1.6