Raspberry Pi als Webserver einrichten

Mit wenigen Handgriffen kann aus dem Raspberry Pi ein Webserver für den Heimgebrauch werden. Die wichtigsten Schritte zum Einrichten eines Webservers auf den RasPi erfahrt ihr in diesem Artikel.

Inhaltsverzeichnis

Apache, Lighttpd oder nginx?

In vielen Artikel zum Thema Webserver wird immer wieder behauptet das Apache im Vergleich zu lighttpd und nginx langsamer und/oder Ressourcensparender wäre. Das ist ein Vergleich zwischen Äpfel und Birnen, die Wahl des richtigen Webservers hängt immer vom Einsatzzweck ab. Der lighttpd ist, wie der Name erwarten lässt ein leichtgewichtiger Webserver, daher eignet sich dieser, da meist statische bzw. kleinere PHP Seiten ausgeliefert werden, meiner Meinung nach am Besten. Das Urgestein Apache funktioniert zwar auch, ist aber zwecks der Vielzahl an Funktionen ehr zu überladen für den RPi.

Vorbereitung

Euer RasPi sollte, um ihn als Webserver einsetzen zu können, folgende Voraussetzungen erfüllen:

Installation von lighttpd

Unser Webserver sollte aus Sicherheitsgründen natürlich nicht als root laufen, wir legen daher vorher eine Gruppe und einen Benutzer www-data an.

Dank APT ist die Installation von lighttpd wie immer sehr einfach und unkompliziert, an dieser stelle bietet es sich an vorher via update und upgrade die Paketdatenbank zu synchronisieren und alle installierten Pakete auf den neuesten Stand zu bringen. Zusätzlich sollten wir die Firmware aktualisieren.

Um zu überprüfen ob der Webserver richtig installiert wurde prüfen wir ob bzw. welche Prozesse unter dem User www-data laufen, hier sollte uns dann natürlich der lighttpd angezeigt werden

Nach Installation des Webservers können wir direkt alle notwendigen Abhängigkeiten, um später auf dem Webserver auch PHP-Code ausführen zu können, installieren. Wollt ihr nur statische HTML Seiten ausliefern ist dies nicht notwendig, wobei das ehr unüblich ist.

Die Konfiguration ist fast so einfach wie die Installation selbst, um überhaupt PHP-Code ausführen zu können müssen wir das entsprechende Modul für den Webserver aktivieren

Es reicht ein Neustart des Webservers um die Änderung zu aktivieren

Testen der Installation

Wenn der Webserver richtig installiert und konfiguriert wurde können wir durch Eingabe der IP-Adresse des Raspberry Pi direkt die Infoseite von lighttpd sehen. Gebt also zum Beispiel in eurem Browser ein, ihr müsst die IP-Adresse natürlich gegen die IP die eures RasPi austauschen.

lighttpd-index-seite

Alternativ kann auch eine PHP-Info Datei erstellt werden die uns direkt Informationen zur verwendeten PHP-Version und den Modulen ausgibt

Wir fügen folgenden Inhalt in die Datei ein.

  • Mit [STRG]+O kann man die Datei speichern
  • Mit [STRG]+X kann man den Editor schließen

Das Ergebnis können wir uns wieder im Browser ansehen http://192.168.178.100/info.php

Lighttpd Konfigurationsdatei

Die Konfigurationsdatei des Lighttpd liegt unter „/etc/lighttpd/lighttpd.conf“. Auf der Projektseite gibt es eine Beispielkonfiguration mit der man sich vertraut machen sollte. Über folgenden Befehl öffnen wir die Konfigurationsdatei mit dem Editor nano und können darin Anpassungen vornehmen.

Port ändern

Im Standard kommunizieren Webserver über den HTTP Port 80, will man das ändern, so kann man die server.port Variable in der Konfigurationsdatei ändern. Wir stellen jetzt beispielsweise den Port auf 8080. Habt ihr bereits eine Weiterleitung und DynDns an eurem Router eingerichtet müsst ihr diese natürlich anpassen.

Um die Änderung  zu aktivieren müssen wir den Webserver wieder neu starten. Das erledigen wir mit folgendem Befehl

Jetzt können wir nur noch über den Port 8080 mit dem Webserver kommunizieren. Hierzu müssen mir im Browser nun immer die IP Adresse und den Port angeben (wenn Port nicht 80 ist), also zum Beispiel

Datenbank

Viele PHP Anwendungen sind Datenbank gestützt, der Standard für PHP Webanwendungen ist MySQL. Als kleine Alternative zu einem richtigen Datenbankserver auf dem RPi kann auch SQLite verwendet werden. Im nächsten Tutorial zeige ich euch die Einrichtung von SQLite für euren Webserver.

Weitere Infos

Insofern euer Webserver über das Internet erreichbar ist solltet ihr natürlich euren RasPi entsprechend abgesichert haben. Bitte vergesst nicht mindestens folgendes zu erledigen

  • Haltet installierte Software immer up to date (update & upgrade)
  • Firewall einrichten und nur unbedingt notwendige Ports erlauben
  • Für den Webserver nicht den Standard Port 80 / 443 verwenden
  • Das Passwort des Benutzers Pi ändern, verwendet ein komplexes sicheres Passwort

Weitere Tutorials und Projekte für Einsteiger: