Webserver installieren & konfigurieren (mit Apache und Linux) – Teil 1

Willkommen zu meiner ersten Tutorialreihe – einem Webserver aufsetzen! Dies ist einer der ersten Dinge, welche ich in meiner Ausbildung gelernt habe und deshalb auch ein ganz guter Einstieg in die „Server-Welt“. Zuerst installieren wir einen Webserver und laden anschließend eine Website darauf, welche ihr dann von eurem Netzwerk aus aufrufen könnt. Im zweiten Teil wollen wir dann einmal über die Sicherheit von Websites sprechen (besonders im Hinblick auf Zertifikate).

Also, was brauchen wir dafür an Hardware?

Das gute an einem Webserver ist, dass eine einfache Version davon kaum Ressourcen benötigt. Das heißt, wenn ihr einen einfachen Raspberry Pi habt, könnt ihr diesen genauso nehmen, wie einen ausgedienten PC. Solltet ihr keine zusätzliche Hardware zur Verfügung haben, könnt ihr auch eine virtuelle Maschine mit bspw „Virtualbox“ nutzen. Hier ist allerdings das freigeben in das Netzwerk nicht ganz so einfach, dies werde ich dann an einer anderen Stelle nochmal etwas erläutern.

Da ich natürlich ein Fan von Open-Source und besonders Linux bin arbeiten wir natürlich auch in diesem Bereich. Ich habe in meinen Beispielen mit der Serverversion von Ubuntu gearbeitet. Die eigentliche Webserver-Software, welche wir nutzen, ist „Apache“ von der Apache Software Foundation. Sie ist neben einer anderen Software namens „Nginx“ das meistgenutzte Produkt.

Wenn ihr also ein Ubuntu auf eure Maschine gespielt habt und darauf Zugriff habt, können wir mit der eigentlichen Installation loslegen.

Installation

Zuerst wollen wir natürlich alles einmal aktualisieren:

sudo apt-get update && sudo apt-get upgrade -y

Das „&&“ bedeutet, dass der zweite Befehl (das Upgrade) nur dann ausgeführt wird, wenn der erste Befehl erfolgreich war. Warum tun wir das hier? Der erste Befehl aktualisiert im genauen die Paketinformationen von den Quellen, die man in der /etc/apt/sources.list findet. Wenn dies entsprechend aktualisiert wurden, wird mit dem Upgrade die eigentlichen Updates der Packages installiert. Das „-y“ ist dazu da, um direkt von Anfang an, eine Yes/No-Abfrage positiv zu beantworten.

Wenn alles aktuell ist, können wir Apache aus dem offiziellen Repository herunterladen und installieren:

 sudo apt-get install apache2 -y  

damit anschließend der Dienst auch bei einem Neustart direkt gestartet wird, führen wir folgendem Befehl aus:

sudo systemctl enable apache2

Nun wollen wir uns die Standardseite von Apache anzeigen lassen. Dazu müssen wir die IP in einem Browser unserer Wahl ansprechen. Seit ihr direkt auf der Maschine (bspw. mit einem Monitor an einem PI) könnt ihr es auch mit http://localhost machen. Alternativ gibt es zwei Möglichkeiten, die IP-Adresse auszulesen. Einmal auf dem Router, oder mit dem folgenden Befehl:

ip a

Das Ergebnis sollte dann in etwa so aussehen.

Wenn wir die IP herausbekommen und in den Browser eingegeben haben, sollte uns folgende Seite angezeigt werden.

Apache2 Ubuntu Default Page

An dieser Stelle kann es manchmal sein, dass der Browser Probleme machen, da die Seite unverschlüsselt ist ( was bedeutet, dass ein Angreifer die Daten mitlesen könnte). Entweder müsst ihr einmal bestätigen, dass ihr die Seite auch tatsächlich besuchen wollt oder einmal das Protokoll mit angeben, also http://<IP> .

Konfiguration

Nun kommt der anspruchsvollerer Aspekt unseres Webservers, nämlich das Konfigurieren. Und dabei beginnen wir mit dem Erstellen einer Website. Zuerst gehen wir dazu in ein bestimmtes Verzeichis in dem unserer Seite liegen wird.

cd /var/www/html/

Dort liegt eine einfache Datei namens index.html, in welcher die Defaultseite von Apache gespeichert ist. Diese kann einfach gelöscht werden.

sudo rm ./index.html

Nun öffnen wir den Editor „Nano“ und speichern eine einfache HTML-Hello-World Seite darin.

sudo nano index.html

Folgender HTML-Text wird einfach mit Strg+C und Strg+V (bzw. Rechtsklick) hinzugefügt.

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Titel</title>
  </head>
  <body>
    <h1> Hello World! </h1>
  </body>
</html>

Nun speichern wir das ganze einmal ab, indem wir Strg+X drücken und dann das abspeichern einmal mit „y“ bestätigen. Wenn wir nun den Browser einmal aktualisieren, sollte unserer neue Hello-World-Seite angezeigt werden. Cool, oder?

Auch an dieser Stelle kann der Browser manchmal Probleme machen. Sollte immer noch die Apache-Seite angezeigt werden, öffnet einmal eure Seite in einem privaten Fenser.

An dieser Stelle würde ich euch Einladen, einmal ein wenig mit HTML herumzuspielen und so eure eigenen Websites zu gestalten. Gerne auch mit CSS, was dem ganzen ein wenig Farbe verleiht. Gute Ressourcen dazu findet ihr hier:

https://wiki.selfhtml.org/wiki/Startseite

https://www.w3schools.com/

Und dann würde ich sagen, sehen wir uns im nächsten Teil!

Hier gehts zu Teil 2