# Den Raspberry Pi als Webserver nutzen

Der Einplatinencomputer [Raspberry Pi](https://www.ionos.at/digitalguide/server/knowhow/raspberry-pi-projekte/ "Raspberry Pi") lässt sich In kurzer Zeit so konfigurieren, dass Sie einen Raspberry-Pi-Webserver Ihr Eigen nennen. Auch wenn dessen Leistung geringer ausfällt als bei kommerziell angebotenen Varianten – ein privater [Webserver](https://www.ionos.at/digitalguide/server/knowhow/webserver-definition-hintergruende-software-tipps/ "Alles was Sie über Webserver wissen müssen") auf dem Raspberry Pi erweist sich in einigen Bereichen als nützlich: Etwa wenn man seine eigene Website in einer Testumgebung prüfen und hosten will oder Dateien selbst verwaltet und über eine Cloud verfügbar machen möchte. Unser Tutorial verrät Ihnen, wie Sie über ein kostenloses LAMP-Software-Paket Ihren eigenen Webserver auf dem kleinen Rechner einrichten.

## Wozu ist ein Raspberry-Pi-Webserver in der Lage?

Wenn Sie einen Raspberry Pi als Webserver verwenden, sollte Ihnen bewusst sein, dass dessen Hardware limitiert ist. Der Computer verfügt über eine **geringere Performance als herkömmliche Webserver**, die Sie über einen Internetdienstanbieter mieten. Für das Hosten komplexerer Internetangebote (wie beispielsweise Onlineshops oder Websites mit vielen dynamischen Inhalten) ist der Raspberry Pi genauso wenig geeignet wie für Webauftritte, die ein hohes Besucheraufkommen verzeichnen. Die oftmals zu geringe Bandbreite des eigenen Internetanschlusses steht der Verwendung des Raspberry Pis als vollwertigen Server ebenfalls im Weg. Trotzdem gibt es diverse Einsatzgebiete für einen Webserver, der per Raspberry Pi betrieben wird: Man kann ihn als Homeserver mit Internetanbindung oder beispielsweise für ein Firmennetzwerk nutzen. Auf ihm lassen sich **Internetauftritte im Onlinebetrieb testen** oder eine kleine Website mit geringen Besucherzahlen komplett selbst hosten. Weiterhin können Sie hierüber eine **eigene Cloud** betreiben oder Programme für die **Hausautomation** (Steuerung von Licht, Heizung etc.) einrichten. Ein weiterer Vorteil sind die niedrigen laufenden Kosten eines Raspberry-Pi-Webservers: Er benötigt allein einen Internetanschluss sowie Strom. Letzteres überschreitet in aller Regel nicht die 5-Watt-Marke, wodurch auch der Dauerbetrieb des Webservers preislich kaum ins Gewicht fällt. Zudem sind die einmaligen Anschaffungskosten der benötigten Komponenten überschaubar.

## Voraussetzungen für einen Raspberry-Pi-Webserver

Der im Anschluss vorgestellte Webserver stellt eine von vielen Varianten dar, um den Raspberry Pi als Webserver aufzusetzen. Dafür benötigen Sie neben dem kleinen Computer noch Folgendes:

- SD-Karte, auf dem das Betriebssystem Raspbian eingerichtet ist
- Internetanbindung – etwa über ein Netzwerkkabel (empfohlen) oder über WLAN
- Stromversorgung per Micro-USB-Kabel

Da ein Webserver „headless“ (ohne Bildschirm und Eingabegeräte) funktioniert und dies die **energiesparendste Variante** darstellt, richten Sie idealerweise noch einen **Fernzugriff** auf den Server per SSH ein: Mithilfe eines SSH-Clients (wie PuTTY, [WinSCP](https://www.ionos.at/digitalguide/hosting/hosting-technik/wie-pflege-ich-eine-webseite-mit-winscp/ "WinSCP")) für Windows oder OpenSSH für Unix-Betriebssysteme) können Sie den Webserver bequem über einen Computer, ein Smartphone oder andere Geräte einrichten und Änderungen an ihm vornehmen. Wenn Sie sich für die Administration via SSH entschieden haben, geben Sie in Ihrem SSH-Client die IPv4-Adresse Ihres Raspberry Pis an, um beide miteinander zu verknüpfen. Falls Sie die IP-Adresse Ihres Raspberry Pis nicht wissen, können Sie diese im Terminal mit dem Befehl *hostname -I* (oder alternativ mit *ifconfig*) aufrufen. Sollten Sie den Raspberry Pi headless nutzen, finden Sie dessen Adresse über Ihren Router heraus, indem Sie den Router in Ihrem Webbrowser aufrufen (in der Regel unter *192.168.0.1* oder über *fritz.box*, wenn Sie eine Fritz!Box besitzen). Möchten Sie den Webserver für eine [private Cloud](https://www.ionos.at/digitalguide/server/knowhow/private-cloud/) oder andere Anwendungen verwenden, die ebenfalls vermehrt Speicherplatz benötigen, sollten Sie die Speicherkapazität erweitern. Dies ist beim Raspberry Pi ganz einfach via USB-Speicherstick oder externer Festplatte möglich.

## Einen Server permanent unter derselben IP-Adresse erreichbar machen

Server müssen nicht nur ständig online sein, damit die Nutzer zu jeder Zeit zugreifen können, sondern auch durchgehend unter der gleichen IP-Adresse erreichbar. In der Regel verfügt der Internetanschluss eines Heimservers jedoch nur über eine **dynamische IP-Adresse**. Diese wechselt also regelmäßig (meist nach 24 Stunden) und verhindert so, dass der Server stets unter derselben IP-Adresse erreichbar ist. Eine statische IP-Adresse würde hier helfen, wird aber nicht von jedem Internetdienstanbieter (und wenn, nur mit monatlichen Mehrkosten) angeboten. Es gibt jedoch noch andere Möglichkeiten, um einen Server unter der gleichen Adresse zu hosten; etwa über **dynamisches DNS** (**DDNS**). Es gibt sowohl kostenpflichtige als auch gebührenfreie DDNS-Dienste. Hier registrieren Sie einen Domain-Namen und verknüpfen diesen mit einem Computer oder Router. Über eine Software wird dem Domain-Namen immer automatisch die aktuelle IP-Adresse Ihres Internetzugangs zugewiesen, wodurch der Server kontinuierlich unter demselben Namen online zugänglich bleibt. Eine weitere Option steht Ihnen zur Verfügung, wenn Sie einen Fritz!Box-Router besitzen und über diesen ins Internet gehen – auf der Herstellerseite des Routers finden Sie viele Informationen dazu, wie Sie dynamisches DNS auf dem Router einrichten.

## Raspberry-Pi-Webserver mit LAMP aufsetzen

Über das folgende Tutorial richten Sie mit einem sogenannten **LAMP-Stack** einen Webserver auf Ihrem Raspberry Pi ein. [LAMP](https://www.ionos.at/digitalguide/server/knowhow/lamp-server-die-loesung-fuer-dynamische-websites/ "LAMP") ist das Akronym für ein Programmpaket, das aus folgenden Teilen besteht: ein Linux-Betriebssystem (in diesem Tutorial: das bereits auf dem Gerät vorhandene Raspbian), ein Apache-Webserver, eine MySQL-Datenbank und die Skriptsprache PHP. Zusätzlich zum LAMP-Paket wird außerdem **phpMyAdmin** installiert. Melden Sie sich zunächst in der Eingabe-Konsole (Terminal) auf Ihrem Raspberry Pi an. Bevor Sie mit der Einrichtung des LAMP-Software-Pakets anfangen, sollten Sie zunächst mit diesen beiden Befehlen **alle schon installierten Pakete aktualisieren**:

```none
sudo apt-get update
```

```none
sudo apt-get upgrade
```

Nun beginnen Sie mit der Einrichtung der einzelnen LAMP-Bestandteile. Das Tutorial leitet Sie dabei **etappenweise** an, um die einzelnen Zwischenschritte hervorzuheben und zu verdeutlichen. Dabei werden einige wichtige Zusammenhänge erklärt sowie Testläufe aufgezeigt, mit denen Sie die Funktionstüchtigkeit der jeweiligen Installation überprüfen.

### Apache einrichten

Die Installation des Apache HTTP Servers ist sehr schnell vollzogen. Sie richten diesen mit nur einem einzigen Befehl ein – gleiches gilt im Übrigen auch für die anderen drei LAMP-Komponenten des Raspberry-Pi-Webservers. Für den Apache 2 geben Sie im Terminal einfach folgendes Kommando ein:

```none
sudo apt-get install apache2
```

Um zu überprüfen, ob die Installation erfolgreich war, rufen Sie die **IP-Adresse des Raspberry Pis** in der **URL-Leiste Ihres Browsers** auf. Wenn Apache 2 korrekt eingerichtet wurde, erscheint nun im Browser eine voreingestellte Seite, die „It works!“ verkündigt. Diese HTML-Seite befindet sich unter Raspbian Jessie in dem Verzeichnis */var/www/html/index.html*; auf der älteren Wheezy-Version von Raspbian wird diese hingegen unter */var/www/index.html* abgelegt. In dem Verzeichnis können Sie die Seite bearbeiten und beliebig viele weitere Webseiten anlegen:

```none
sudo nano /var/www/index.html
```

bzw.

```none
sudo nano /var/www/html/index.html
```

Wenn Sie Veränderungen vorgenommen haben, sollten Sie diese nach dem erneuten Laden der Seite im Browser sehen können.

### PHP einrichten

Damit der Webserver nicht nur HTML-, CSS- und JavaScript-Dateien, sondern auch PHP verarbeiten kann, installieren Sie nun **PHP5**:

```none
sudo apt-get install php5 libapache2-mod-php5
```

Nun können Sie unter */var/www* eine **PHP-Datei erzeugen**. Testweise legen Sie die Datei *phpinfo.php* an:

```none
sudo nano phpinfo.php
```

Im Editor nehmen Sie jetzt noch folgende Ergänzungen vor:

```none
<?php
phpinfo();
?>
```

Wenn Sie im Browser Ihre Raspberry-Pi-IP-Adresse gefolgt von */infophp.php* aufrufen (*192.168.X.X/phpinfo.php*), sollte daraufhin die entsprechende Seite erscheinen. Geschieht dies, ist auch PHP auf Ihrem Raspberry Pi vollständig eingerichtet.

### MySQL einrichten

Mit MySQL legen Sie die **Datenbank des Webservers** an. Über das Kommando:

```none
sudo apt-get install php5-mysql mysql-server mysql-client
```

installieren Sie alles Nötige hierfür. Nach einem Moment werden Sie aufgefordert, das **Root-Passwort für MySQL** festzulegen. Ist dies geschehen und die Einrichtung der Datenbank beendet, schließen Sie die Installation mit einem Neustart von entweder MySQL (Kommando: *sudo /etc/init.d/mysql restart*) oder des Raspberry Pis (Kommando: *sudo reboot*) endgültig ab.

### phpMyAdmin einrichten

Für die Administration von MySQL bietet sich die Nutzung von **phpMyAdmin** an. Mithilfe dieser freien Software verwalten Sie die Datenbank ganz einfach über eine grafische Benutzeroberfläche im Browser. Für die Installation führen Sie diesen Befehl aus:

```none
sudo apt-get install phpmyadmin
```

In dem daraufhin erscheinenden Bildschirm wählen Sie den Apache 2 als Webserver aus. Im Folgenden werden Sie gefragt, ob die phpMyAdmin-Verwaltungsdatenbank installiert werden soll – was Sie bejahen. Daraufhin bestimmen Sie noch ein Passwort für phpMyAdmin (es kann dasselbe wie das MySQL-Passwort sein) und die Installation ist fertiggestellt. Als Letztes müssen Sie noch das frisch installierte **phpMyAdmin mit dem Apache Webserver verbinden**. Dies gelingt mit folgendem Kommando, worüber Sie die Konfigurationsdatei *apache2.conf* mit dem Nano-Editor editieren können:

```none
sudo nano /etc/apache2/apache2.conf
```

Jetzt gehen Sie mit dem Cursor ans Ende der Konfigurationsdatei (Sie können hierfür auch einfach die Tastenkombination „Strg“ + „V“ wiederholt drücken) und schreiben hier eine neue Zeile in die Datei:

```none
Include /etc/phpmyadmin/apache.conf
```

Nun speichern Sie die Änderungen über das Tastenkürzel „Strg“ + „O“ und schließen die Konfigurationsdatei mit „Strg“ + „X“. Daraufhin starten Sie den Apache-Webserver über einen weiteren Befehl in der Konsole neu:

```none
/etc/init.d/apache2 restart
```

Nun ist nicht nur Ihr Webserver vollständig eingerichtet, sondern dessen Datenbank auch über phpMyAdmin im Webbrowser administrierbar. Hierfür tragen Sie einfach in der URL-Leiste die Raspberry-Pi-IP-Adresse sowie anschließend */phpmyadmin* ein (*192.168.X.X/phpmyadmin*) und melden sich auf der phpMyAdmin-Seite mit dem **Benutzernamen** „**root**“ und Ihrem schon **vorher festgelegten MySQL-Passwort** an. Sobald Sie eingeloggt sind, können Sie in phpMyAdmin Datensätze auflisten, Datenbanken und Tabellen anlegen oder löschen und einige weitere Funktionen nutzen.

## Einsatzfelder des Raspberry-Pi-Webservers

Ihr Webserver ist nun grundsätzlich konfiguriert und einsatzfähig. Sie können beispielsweise eine **Website erstellen und hosten**, indem Sie Ihren Webserver mit HTML- und PHP-Seiten bestücken. Die einzelnen Webseiten legen Sie entweder direkt auf dem Raspberry Pi unter dem Verzeichnis */var/www* (Raspbian Wheezy) bzw. */var/www/html* (Raspbian Jessie) an. Oder Sie fertigen die Seiten an einem externen Rechner mit einem Webeditor Ihrer Wahl an und übertragen diese danach über eine SFTP-Client-Software auf den Webserver. Dies gelingt mit Programmen wie [FileZilla](https://www.ionos.at/digitalguide/server/konfiguration/filezilla-tutorial-zum-ftp-clientprogramm/ "FileZilla: Tutorial zum FTP-Clientprogramm"), WinSCP, PuTTY oder OpenSSH.

Einstellungen des Apache-Webservers können Sie mit der **Konfigurationsdatei .htaccess** vornehmen. Hierüber erstellen Sie beispielsweise eine individuelle [404-Fehlerseite](https://www.ionos.at/digitalguide/websites/webseiten-erstellen/originelle-und-schoene-404-seiten-tipps-und-beispiele/ "Originelle und schöne 404-Seiten: Tipps und Beispiele") für Ihre Website oder eine [Weiterleitung zu einer anderen Domain](https://www.ionos.at/digitalguide/domains/domainverwaltung/grundlagen-der-domain-weiterleitung/ "Grundlagen der Domain-Weiterleitung"). Die Nutzung des Raspberry Pis als Webserver erlaubt Ihnen, in einfachen Schritten sowohl das Erstellen von Webseiten als auch die Administration eines Webservers zu lernen und auszuprobieren.

Neben dem Website-Hosting bietet sich der Webserver allerdings auch für viele weitere Vorhaben an. So ist es möglich, den Webserver des Raspberry Pis als privaten Datei- und Medienserver zu nutzen. Sie können auf ihm auch mit der freien Software ownCloud eine private Cloud einrichten und betreiben. Das Filehosting-Programm erlaubt Ihnen u. a., Dateien in der Cloud abzulegen, aufzurufen und zu synchronisieren. Die Liste der Projekte, die sich mit einem Raspberry-Pi-Webserver umsetzen lassen, ist lang – mit Ihrem eigenen Webserver haben Sie es nun selbst in der Hand, Ihr ganz persönliches Vorhaben zu realisieren.

## Sicherheit des Webservers

Unbedingt achten sollten Sie auf die Webserver-Sicherheit. Vor allem wenn ein Server permanent mit dem Internet verbunden ist, wird dieser sehr wahrscheinlich früher oder später angegriffen. Deshalb ist es erforderlich, dass Sie Ihren **Webserver stets mit den neuesten Updates versorgen** und sich beim Webhosting nicht übernehmen. Vor allem sensible Daten sollten Sie erst dann über einen Webserver hosten, wenn Sie sich sicher sind, was Sie hierbei beachten müssen.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/einen-raspberry-pi-webserver-mit-lamp-einrichten/](https://www.ionos.at/digitalguide/server/konfiguration/einen-raspberry-pi-webserver-mit-lamp-einrichten/) for AI/LLM consumption.