Mal eben schnell einen Webserver einrichten, wofür auch immer ist unter Linux denkbar einfach.
Wir haben hier mehrere Webserver zur Auswahl.
Die beiden, die am meisten verbreitet sind sind allerdings:
- Apache2
- Nginx
Im ersten Tutorial werden wir uns damit befassen einen Apache2 Webserver zu installieren und erreichbar zu machen.
Wir brauchen hierfür lediglich eine Maschine, auf der der Server laufen soll und das Paket „apache2“.
zunächst loggen wir uns in unsere Maschine ein.

Im nächsten Schritt aktualisieren wir die Paketquellen unseres Systems und installieren das Paket „apache2“. Dies geschieht über das Kommando:
sudo apt update && sudo apt install apache2 -yCode-Sprache: Bash (bash)
„sudo apt update“ -> aktualisiert die Paketquellen des Systems mit erhöhten Rechten.
„&&“ -> reiht einen zweiten Befehl an, der jedoch erst ausgeführt wird wenn Befehl 1 beendet ist.
„sudo apt install apache2“ -> installiert das „apache2“ Paket mit erhöhten Rechten.
„-y“ -> ist eine Flag für das zweite Kommando um weitere Abfragen zu bestätigen.
In meinem Fall ist das Paket bereits installiert.

Im Anschluss überprüfen wir den aktuellen Status unseres Dienstes.
systemctl status apache2.serviceCode-Sprache: Bash (bash)
„systemctl“ -> Kommandozeilentool zum Verwalten von systemd Diensten
„status“ -> Abfrage des aktuellen Status eines Dienstes
„apache2.service“ -> Name des Dienstes

Wir sehen hier die aktuellen Informationen unseres Dienstes:
apache2.service -> Beschreibung des Dienstes.
Loaded -> hier sehen wir wo der Dienst liegt, den derzeitigen Status und die Voreinstellung (enabled).
Active -> Hier sehen wir, dass der Dienst aktiv ist und seit wann er läuft.
Docs -> Ein Verweis auf die Dokumentation.
Main PID -> die Prozess ID des Dienstes.
Tasks -> Die Anzahl der aktuell laufenden Prozesse und Threads, die zu diesem Dienst gehören.
Memory -> Der aktuell RAM Verbrauch des Dienstes.
CPU -> Die Rechenzeit, die der Dienst seit seinem Start verbraucht hat.
CGroup -> Der Pfad innerhalb der Control Group Hierarchie
Darunter siehst du die letzten Logeinträge die uns in diesem Falle den Startprozess des Apache2 Servers zeigen.
Perfekt unser Server läuft!
Um dies noch zu verifizieren können wir zunächst überprüfen auf welchen port der Dienst lauscht.
Dies tun wir mit:
sudo ss -tlpn
„sudo“ -> führe den Befehl mit Administratorrechten aus
„ss“ -> Wir nutzen das Tool „Socket State“. Man kann auch gerne „netstat“ nutzen.
„-t“ -> Dienste die auf TCP Ports lauschen
„-l“ -> listening (Dienste die auf Ports lauschen)
„-p“ -> processes (Gib die Dienste aus)
„-n“ -> numeric (gib die Ports numerisch aus(z.B. 80 statt „http“))

Sehr gut! Wie wir sehen, lauscht unser Apache Dienst brav auf dem default http Port 80.
Nun wollen wir natürlich noch optisch sehen, dass da wirklich ein Webserver aktiv ist.
Hierzu müssen wir einfach die IP Adresse unserer Maschine in die Adresszeile eines Browsers eingeben.
Diese lassen wir uns zunächst mit dem Kommando
ip -c a
anzeigen.
Ich benutze hier gerne das „-c“ für die „colorized“ Ausgabe um alles auf einen Blick unterscheiden zu können.

Wir sehen, dass die IP, die meine virtuelle Maschine im NAT Netzwerk von KVM bekommen hat die
192.168.122.19 ist.
Nun kann ich auf jedem Rechner, der mit diesem Netzwerk kommunizieren kann einen Browser öffnen und via:
http://192.168.122.19Code-Sprache: JavaScript (javascript)
meinen Webserver aufrufen.

Wie ihr seht wird die Default Page im Browser angezeigt.
Natürlich ist dies noch keine sichere Verbindung über https.
Dies werden wir aber separat behandeln.
