Apache
Aus VMS1 Tutorial
Apache ist der Name einer HTTP Webserver-Software der Apache Software Foundation (benannt nach dem gleichnamigen Indianerstamm).
Installation
Der Apache HTTP Server ist freie Software und kann kostenlos von der Seite: [1] bezogen werden. Meist ist er auf Webspaces oder Servern schon vorinstalliert, oder kann aus den Paketquellen der jeweiligen Linux-Distribution installiert werden. Um lokal unter Windows einen Apache einzurichten, empfiehlt sich das Software-Paket XAMPP ([2]).
Funktionsweise
Der Webserver nimmt HTTP Anfragen entgegen, verarbeitet Diese und liefert entsprechend eine Antwort zurück.
Wenn man beispielsweise in einem Browser die URL:
http://www.vms-tutorial.de/wiki/Apache
in die Adresszeile eingibt, stellt der Browser eine Anfrage ähnlich der folgenden an den Webserver:
GET /wiki/Apache HTTP/1.1 Host: www.vms-tutorial.de Keep-Alive: 300 Connection: keep-alive
Interessant sind dabei primär die ersten beiden Zeilen, die die Art der Anfrage und die gewünschte Ressource definieren.
Die Antwort des Webservers könnte in etwa so aussehen:
HTTP/1.1 200 OK Date: Wed, 04 May 2011 10:52:32 GMT Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch16 mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8 X-Powered-By: PHP/5.2.0-8+etch16 Content-Language: de Vary: Accept-Encoding,Cookie X-Vary-Options: Cookie;string-contains=usr_web116_1UserID;string-contains=usr_web116_1_session,Accept-Encoding;list-contains=gzip Expires: Thu, 01 Jan 1970 00:00:00 GMT Cache-Control: private, must-revalidate, max-age=0 Content-Encoding: gzip Content-Length: 4002 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=utf-8
Gefolgt von dem HTML Text des angeforderten Artikels.
Ein Webserver liefert meist nicht nur statische Dateien (Grafiken, .html Dateien, ...) aus, sondern auch dynamische Inhalte, die dann bspw. von einem PHP Skript generiert werden. Dazu kann der Apache mit Modulen erweitert werden, im obigen Beispiel sind das Module für PHP, Python und Perl. Zusätzlich ist ein Modul für verschlüsselte Übertragung mit SSL aktiviert.
Es gibt schon über 500 Module, zu finden auf: [3].
Konfiguration
Die Konfiguration ist meist auf mehrere Dateien verteilt, die Haupteinstellungen finden sich aber in der Datei httpd.conf. Häufig werden dort weitere Dateien eingebunden, die die Konfiguration der einzelnen aktivierten Module regeln. Wenn nicht nur eine Domain durch den Webserver verwaltet wird, sondern mehrere, gibt es Abschnitte für alle sogenannten "virtuellen Hosts". Je nach Konfiguration können einzelne Parameter auch noch auf Verzeichnisebene geändert werden durch .htaccess Dateien.