LAMP Server mit Debian 10 und Virtual Box Tutorial – Teil 2

Im zweiten Teil meiner LAMP Server mit Debian 10 und Virtual Box Tutorial Artikelreihe wird die zuletzt aufgesetzte virtuelle Maschine konfiguriert. Ich zeige wie man den Webserver installiert und konfiguriert.

LAMP Server mit Debian 10 und Virtual Box Tutorial – Teil 2

Software wird unter Debian Linux idealerweise über den Paketmanager gezogen. Das ist in dieser Distribution apt. Bevor man darüber Software installiert ist es immer ratsam die Paketquellen zu aktualisieren und das System auf den aktuellen Stand zu bringen. Beides geht mit folgenden Kommandos:

update && upgrade

Schritt 3 Webserver

Nach L (Linux) ist A der zweite Buchstabe in der Reihe vom LAMP. Damit ist der Apache Webserver gemeint. Diesen installiert man mit folgendem Kommando:

install apache2

Bei mir war der Webserver bereits installiert, da ich ihn bereits bei der Linux Installation ausgewählt habe. Den Erfolg der Installation kann man sofort über den Browser unter Angabe der IP Adresse der virtuellen Maschine prüfen:

apache2 Testseite

Sofern der Webserver läuft zeigt der Browser die Default Page mit Informationen zur Konfiguration. Auf der Kommandozeile hat man folgende Möglichkeiten die Ausführung des Webservers zu steuern:

startet oder stoppt den Webserver.

startet den Webserver neu

lädt die Konfiguration neu

zeigt auf der Kommandozeile den Status des Webservers an und ist immer die erste Anlaufstelle bei einem Problem.

systemctl status apache2.service

Die Webseite die aktuell ausgegeben wird findet man unter /var/www/html

/var/www/html/index.html

Das ist eine simple index.html Seite die von den Besitzrechten her root gehört. Im einfachsten Fall könnten wir nun diese mit der Webseite tauschen die wir bearbeiten möchten, bräuchten da aber auch root Rechte. Das ist ganz schlecht! Üblicherweise legt man für das Hosting einer Webseite einen eigenen Benutzer an und erstellt eine Konfiguration die auf dessen Heimatverzeichnis (oder einen www Unterordner) verweist in dem dieser Benutzer dann seine Daten mit seinen Besitzrechten ablegt und bearbeitet. So kann man auf einem Webserver beliebig viele Benutzer und Webseiten anlegen und hosten. Da ich bereits einen nicht root Benutzer werner habe werde ich nun in dessen Heimatverzeichnis einen Ordner für die Webseite einrichten:

neue index.html erstellen

Der Inhalt der index.html Seite ist eine ganz einfache HTML Seite mit einem aussagekräftigen Text. Sofern wir diesen im Browser sehen haben wir die Konfiguration korrekt erledigt.

content

Jetzt muss die Konfiguration von Apache noch so geändert werden, damit dieser auf das neue Verzeichnis zeigt. Das geht wie folgt:

apache Konfigurationsdatei

Nach der Änderung reicht ein Reload der Konfiguration:

apache2 Konfiguration ändern

Der Unterschied zwischen Reload und Restart ist für diesen Fall nicht groß, die Auswirkung zeigt sich aber bei einem laufenden System mit zig Webseiten in einer kurzen Downtime (Restart) oder keiner Downtime (Reload)! Der erste Test der Seite endet in einem 403 Forbidden Fehler:

403 forbidden Fehlermeldung

Bei der Konfiguration mit Apache2 wird man als ungeübter Benutzer sehr oft auf solche Fehler treffen. Der Webserver sollte so restriktiv wie möglich konfiguriert werden, damit man nicht ein Einfallstor öffnet damit Angreifer das System infiltrieren. Im aktuellen Fall ist das Problem, dass der Apache Benutzer unter dem das Service läuft keine Berechtigungen hat das Webroot Verzeichnis zu lesen. Bei der Fehlersuche sind die Logs hilfreich, diese zeigen gute Fehlermeldungen die man im schlimmsten Fall googlen kann. In meinem Fall:

apache2 error.log

AH01630: client denied by server configuration

Das heißt das Verzeichnis ist nicht lesbar, aber nicht weil die Dateirechte nicht passen, sondern weil es die Serverkonfiguration untersagt. Zum Glück können wir diese ja anpassen:

directory access apache

Und damit ist das Problem behoben. HTML Seiten werden angezeigt, eventuell müssen wir später noch Anpassung für die Ausführung von PHP Script Dateien hinzufügen.

Erfolg

Fazit

Die Konfiguration von Apache2 ist recht simpel (nur eine Datei pro Webseite), die Möglichkeiten die man hat sind aber sehr groß. Aus dem Grund stolpert man schnell über Fehlermeldungen und nicht korrekte Konfigurationen. Den Webserver sollte man sehr umsichtig aufsetzen, denn ein Fehler führt schnell zu einem von Hackern übernommene Webseite!

Teil 1 | Teil 2 | Teil 3 | Teil 4

(Visited 895 times, 1 visits today)