Apache HTTP Server

Aus Foxwiki

Apache HTTP Server - einer der meistbenutzten Webserver im Internet

Beschreibung

Eigenschaften
  • Leistungsfähigkeit
  • Erweiterbarkeit
  • Sicherheit
  • Lizenzkostenfreiheit
  • Support durch eine riesige Community
  • Langjährige Verfügbarkeit
  • Unterschiedlichste Betriebssysteme
  • Hohe Verbreitung

Entstehung

Eine Gruppe von acht Entwicklern begann 1994 den Webserver NCSA HTTPd zu erweitern

  • Dies waren im Einzelnen: Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau und Andrew Wilson mit Unterstützung von Eric Hagberg, Frank Peters und Nicolas Pioch

Sie gaben dem Ergebnis ihrer Arbeit den Namen Apache HTTP Server und veröffentlichten diesen im April 1995

Namensherkunft

Der Name wurde aus Respekt vor dem nordamerikanischen Indianerstamm der Apachen gewählt

"A patchy server"

„zusammengeflickter Server“

  • Diese Deutung entstand, weil die erste Version des Apache HTTP Servers eine gepatchte Version des NCSA HTTP Servers war

Eigenschaften und Funktionen

Neben Unix und Linux unterstützt Apache Win32, NetWare sowie eine Vielzahl weiterer Betriebssysteme

  • In Apache 2.4 wurde der Support für ältere, lange schon nicht mehr weiter entwickelte Betriebssysteme wie BeOS, TPF und A/UX beendet. In Version 2.0 wurde die Stabilität und Geschwindigkeit des Servers – vor allem auf Nicht-Unix-Systemen – erheblich verbessert: Die Bibliothek Apache Portable Runtime (APR) stellt eine Verallgemeinerung wichtiger Systemaufrufe zur Verfügung, sodass die individuellen Stärken des jeweiligen Betriebssystems ausgenutzt werden können
  • Hinzu kommen verschiedene Multiprocessing-Module (MPM), die je nach Plattform unterschiedliche Lösungen für die gleichzeitige Bedienung mehrerer Client-Anfragen anbieten: Beispielsweise setzt das MPM prefork für klassische Unix-Systeme auf Forking von Prozessen, während mpm_winnt für die unter Windows empfehlenswerteren Threads optimiert ist

Der Apache-Webserver ist modular aufgebaut: Durch entsprechende Module kann er beispielsweise die Kommunikation zwischen Browser und Webserver verschlüsseln (mod_ssl), als Proxyserver eingesetzt werden (mod_proxy) oder komplexe Manipulationen von HTTP-Kopfdaten (mod headers) und URLs (mod rewrite) durchführen

Der Apache bietet die Möglichkeit, mittels serverseitiger Skriptsprachen Webseiten dynamisch zu erstellen

  • Häufig verwendete Skriptsprachen sind PHP, Perl oder Ruby
  • Weitere Sprachen sind Python, JavaScript (z. B. V8CGI), Lua, Tcl und .NET (mit ASP.NET oder Mono)
  • Diese sind kein Bestandteil des Webservers, sondern müssen ebenfalls entweder als Module eingebunden werden oder über das CGI angesprochen werden, da Apache im Gegensatz zu beispielsweise nginx modulbasiert ist
  • Die Module können jederzeit aktiviert oder deaktiviert werden. Über das bei der Apache-Installation enthaltene mod_include kann Server Side Includes (SSI) ausgeführt werden
  • Damit ist es möglich, einfache dynamische Webseiten zu erstellen und den Verwaltungsaufwand von statischen Webseiten zu minimieren

Der Apache HTTP Server ist, wie alle Programme der Apache Software Foundation, eine freie Software

  • Derzeit wird noch die stabile Version 2.4.x unterstützt und somit beispielsweise mit Sicherheitsupdates versorgt
  • Die Apache-Entwickler empfehlen die Version 2.4.x für den Produktiveinsatz

Distributionen

Versionen

Apache 1.x
  • Diese Version wurde erstmals im Jahre 1995 veröffentlicht.
  • Die Weiterentwicklung des letzten Entwicklungszweiges 1.3.x lief im Februar 2010 aus.
  • Seitdem wurde Version 1 nur noch, falls erforderlich, mit Sicherheitsupdates versorgt.
  • Inzwischen ist auch die Versorgung mit Sicherheitsupdates eingestellt
Apache 2.x
  • Diese Version wurde erstmals im März 2000 veröffentlicht.
  • Von dieser Version wird nur noch der Entwicklungszweig 2.4 mit Sicherheitsupdates und Weiterentwicklungen versorgt


Anhang

Siehe auch

Dokumentation

Handbuch
  • Einige Distributionen (z. B. Ubuntu) liefern es als eigenständiges Programmpaket (zum Package apache2 gibt es ein Package apache2-doc)
  • Das Handbuch wird je nach Sprachkonfiguration des Webbrowsers, die er im Feld Accept-Language des HTTP übermittelt, in der passenden Sprache ausgeliefert sofern diese verfügbar ist

Links

Weblinks
  1. Web Server Survey
  2. http://wiki.apache.org/httpd/FAQ#Why_the_name_.22Apache.22.3F
  3. http://groups.google.de/group/comp.infosystems.www.servers.unix/browse_thread/thread/2f7d053c2cd09729
  4. http://www.apache.org/dist/httpd/Announcement2.4.html
  5. https://de.wikipedia.org/wiki/Apache_HTTP_Server
  6. httpd.apache.org, Offizielle Website (englisch)
  7. Online-Handbuch, mehrsprachig
  8. https://www.bsi.bund.de/cae/servlet/contentblob/477104/publicationFile/30664/Apache_2003_pdf.pdf