====== Webserver ======
[[it_entwicklung:start|← IT & Entwicklung]] · [[:start|Startseite]]
----
Ein Webserver stellt Websites und Webanwendungen über HTTP oder HTTPS bereit.
In meiner lokalen Entwicklungsumgebung übernimmt diese Aufgabe hauptsächlich **Apache**, der zusammen mit XAMPP installiert und betrieben wird.
===== Themen =====
[[it_entwicklung:webserver:apache|Apache]]
===== Lokale Entwicklungsumgebung =====
Für meine lokalen Projekte wird Apache hauptsächlich über XAMPP betrieben.
Die eigentliche Installation und Verwaltung von XAMPP wird zentral unter den Werkzeugen dokumentiert:
[[werkzeuge:xampp:start|XAMPP]]
===== Aufgaben eines Webservers =====
Ein Webserver nimmt Anfragen eines Browsers entgegen und stellt die angeforderten Inhalte bereit.
Bei meinen lokalen Projekten gehören dazu beispielsweise:
* lokale Websites bereitstellen
* PHP-Anwendungen ausführen
* lokale Domains verwenden
* VirtualHosts verwalten
* HTTP- und HTTPS-Verbindungen bereitstellen
* Anfragen an das richtige Projektverzeichnis weiterleiten
===== Zusammenspiel mit anderen Komponenten =====
Der Webserver arbeitet nicht isoliert.
Bei meinen lokalen Projekten spielen unter anderem folgende Komponenten zusammen:
* Apache als Webserver
* PHP für serverseitige Anwendungen
* MariaDB als Datenbanksystem
* XAMPP als lokale Entwicklungsumgebung
* WordPress und DokuWiki als Webanwendungen
* Laravel als PHP-Framework
===== Ports =====
Webserver verwenden Netzwerkports, über die sie erreichbar sind.
Typische Ports sind:
^ Port ^ Verwendung ^
| ''80'' | HTTP |
| ''443'' | HTTPS |
Werden mehrere lokale Entwicklungsumgebungen gleichzeitig oder nacheinander verwendet, können Konflikte entstehen, wenn mehrere Webserver dieselben Ports verwenden möchten.
Ein konkretes Beispiel trat beim Zusammenspiel von **Local und XAMPP** auf. Ein von Local gestarteter nginx-Prozess blieb aktiv und verhinderte anschließend den Start von Apache.
Die Erfahrung wird hier dokumentiert:
[[it_entwicklung:entwicklungsumgebungen:local|Local]]
===== Abgrenzung zu XAMPP =====
**Webserver** beschreibt das allgemeine technische Thema und die dazugehörigen Erfahrungen.
**XAMPP** beschreibt dagegen die konkrete lokale Entwicklungsumgebung, in der Apache zusammen mit PHP und MariaDB betrieben wird.
Apache ist der Webserver.
XAMPP ist die Entwicklungsumgebung, die Apache zusammen mit weiteren Komponenten bereitstellt.
===== Weiterführende Seiten =====
* [[it_entwicklung:webserver:apache|Apache]]
* [[werkzeuge:xampp:start|XAMPP]]
* [[it_entwicklung:entwicklungsumgebungen:start|Entwicklungsumgebungen]]
* [[it_entwicklung:entwicklungsumgebungen:local|Local]]
[[#webserver|↑]]