Was ist ein Apache-Webserver?
Apache HTTP Server ist ein freier und quelloffener Webserver, der Webinhalte über das Internet bereitstellt. Er wird gemeinhin als Apache bezeichnet und wurde nach seiner Entwicklung schnell zum beliebtesten HTTP-Client im Internet. Es wird allgemein angenommen, dass Apache seinen Namen von seiner Entwicklungsgeschichte und dem Prozess der Verbesserung durch angewandte Patches und Module hat, aber das wurde im Jahr 2000 korrigiert. Es stellte sich heraus, dass der Name auf den Respekt der amerikanischen Ureinwohner für ihre Widerstandsfähigkeit und Langlebigkeit zurückgeht.
Bevor wir uns näher mit Apache befassen, sollten wir uns zunächst ansehen, was eine Webanwendung ist und welche Standardarchitektur üblicherweise in Webanwendungen zu finden ist.
Architektur von Apache-Webanwendungen
Der Apache ist nur eine Komponente, die in einem Webanwendungsstapel zur Bereitstellung von Webinhalten benötigt wird. Einer der gebräuchlichsten Webanwendungs-Stacks besteht aus LAMP, also Linux, Apache, MySQL und PHP.
Linux ist das Betriebssystem, das den Betrieb der Anwendung übernimmt. Apache ist der Webserver, der Anfragen verarbeitet und Webressourcen und -inhalte über HTTP bereitstellt. MySQL ist die Datenbank, die alle Informationen in einem leicht abfragbaren Format speichert. PHP ist die Programmiersprache, die mit Apache zusammenarbeitet, um dynamische Webinhalte zu erstellen.
Auch wenn die tatsächlichen Statistiken variieren, kann man mit Fug und Recht behaupten, dass ein großer Teil der Webanwendungen in irgendeiner Form auf dem LAMP-Stack läuft, da er einfach zu erstellen und außerdem kostenlos ist. Die meisten Webanwendungen haben im Allgemeinen eine ähnliche Architektur und Struktur, auch wenn sie vielen verschiedenen Funktionen und Zwecken dienen. Die meisten Webanwendungen profitieren auch von Firewalls, Load Balancern, Webservern, Content Delivery Networks und Datenbankservern.
Firewalls helfen, die Webanwendung sowohl vor externen Bedrohungen als auch vor internen Schwachstellen zu schützen, je nachdem, wo die Firewalls konfiguriert sind. Load Balancer helfen bei der Verteilung des Datenverkehrs auf die Webserver, die die HTTP(S)-Anfragen bearbeiten (hier kommt Apache ins Spiel), und auf die Anwendungsserver (Server, die für die Funktionalität und die Arbeitslast der Webanwendung zuständig sind). Außerdem gibt es Datenbankserver, die für die Speicherung von Daten und für Backups zuständig sind. Je nach Ihrer Infrastruktur können Ihre Datenbank und Ihre Anwendung auf demselben Server laufen, obwohl es empfehlenswert ist, sie getrennt zu halten.