4 Schritte zum eigenen Webserver mit dem Raspberry Pi 3

In meinem heutigen Artikel zeige ich dir, wie du mit einem Raspberry Pi einen eigenen Webserver aufsetzen kannst, mit dem du dann nach Herzenslust testen und üben kannst.

Wenn du ein bisschen mit WordPress und vielleicht einem eigenen Theme oder Plug-In testen willst, ist es von Vorteil, das nicht auf deiner Live- Webseite zu machen sondern auf einem eigenen Server. Du machst sonst viel zu schnell Schaden an deiner Datenbank oder deinem WordPress.

Und keine Angst, du musst dich weder mit dem Server selbst noch mit Linux auskennen. Die notwendigen Schritte zeige ich dir genau.

In diesem Artikel gehe ich davon aus, dass der Raspi läuft, in deinem Netzwerk ist, Internetzugriff hat und du entweder über SSH mit dem Raspberry verbunden bist oder direkt auf den Pi zugreifst. Du benötigst außerdem die IP- Adresse des Raspi in deinem Netzwerk.

Wenn du noch keinen Raspberry Pi besitzt oder den Pi noch nicht vollständig für den SSH Zugriff eingerichtet hast, lies bitte zuerst meinen Artikel über die Einrichtung des Raspberry Pi.

Das brauchst du für einen Webserver, auf dem WordPress läuft

Damit WordPress ordentlich läuft, benötigst du einen Webserver, PHP, eine MySQL- Datenbank sowie das Tool phpMyAdmin, um die Datenbank zu pflegen. Ich werde dir nun Schritt für Schritt zeigen, wie du die Tools auf deinem Raspberry Pi installierst und konfigurierst.

0. Update: Warum ich nicht einfach XAMPP nutze?

Nachdem ich die erste Version dieses Artikels veröffentlicht hatte, kam sofort die Frage, warum ich nicht einfach XAMPP nutze. Dazu hier ein kleines Update des Artikels.

XAMPP ist eine Serversoftware für Linux, Windows oder MAC die im Grunde das selbe tut, wie der Server auf dem Raspi. Das AMPP bedeuted nämlich Apache, MySQL, PHP, PEARL.

Vor- und Nachteile des Raspi ggü. XAMPP
  • ständig verfügbar da geringe (Strom)Kosten
  • kann einfach über das Internet freigegeben werden
  • Keine Beeinträchtigung der Rechenleistung meines Haupt-PCs
  • sicher, da lediglich der Raspi über das Internet erreichbar ist
  • nicht so komfortabel installierbar, wie XAMPP

Und wenn ich ehrlich bin, bin ich auch mit einem XAMPP- Server auf meinem Windows- PC gestartet. Allerdings will ich ja meinen PC nicht ständig laufen lassen und schon gar nicht möchte ich meinen PC über das Internet zugänglich machen. Deshalb musste eine Lösung her, die ständig verfügbar ist und auf die ich von überall zugreifen kann. Da kam mir die Idee mit dem Server auf dem Raspberry Pi.

So, nun aber los mit dem Tutorial. Viel Spaß.

1. Updaten des Raspberry Pi

Als erstes solltest du den Raspberry auf jeden Fall auf den neuesten Stand bringen. Das geht mit zwei einfachen Befehlen. Du solltest aber etwas Zeit mitbringen. Abhängig von deiner Internetgeschwindigkeit kann das Update eine Weile dauern.

Mit den folgenden Befehlen updatest du das Betriebssystem Raspbian (du musst jeden Befehl mit Enter bestätigen):

sudo apt-get update
sudo apt-get upgrade

2. Installation des apache2- Webservers

Als erstes installierst du nun den Apache2- Webserver. Das geht recht einfach mittels:

sudo apt-get install apache2

Ob der Server läuft, kannst du ganz einfach testen. Gib einfach in deinem Browser http://ip_raspi/ ein. (ip_raspi ersetzt du natürlich durch die IP- Adresse des Raspi in deinem Netzwerk.)
Du solltest nun eine Infoseite sehen, dass der Apache2 läuft.

Das Rootverzeichnis des Servers ist aktuell unter /var/www/html zu finden. Du kannst dieses Verzeichnis aber jederzeit ändern.

Dazu wechselst du in das Verzeichnis /etc/apache2/sites-available/ und lässt dir die Dateien anzeigen.

cd /etc/apache2/sites-available/
dir

Nun siehst du, welche Dateien das Verzeichnis enthält.

Bearbeite jede der angezeigten Dateien und setze das DocumentRoot auf dein gewünschtes Verzeichnis. Ich empfehle dir das Verzeichnis /var/www

Raspberry DocumentRoot ändern

Der Befehl zum Ändern der Dateien ist:

sudo nano dateiname

Speichern kannst du die Datei dann mit Strg+O. Die Datei schließen kannst du mit Strg+X.

3. Installation von PHP 7.0

Als nächstes brauchen wir eine PHP- Version, damit nicht nur HTML sondern eben auch dynamische Webseiten angezeigt werden können. (PHP muss für WordPress unbedingt vorhanden sein).

Auch das geht relativ einfach mit einem etwas längeren Befehl:

sudo apt-get install php7.0 php7.0-curl php7.0-gd php7.0-fpm php7.0-cli php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml php7.0-zip php7.0-mysql

Bitte beachte, dass es sich dabei um nur einen Befehl handelt, der hintereinander geschrieben werden muss.

Sollte es bei der Installation Fehlermeldungen geben, musst du noch eine neue Quelle angeben und die Installation wiederholen.

Dazu fügst du in die sources.list diese Zeile ein:

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi

Der Befehl dazu lautet:

sudo nano /etc/apt/sources.list

Nun muss PHP noch mit dem Apache2 Server verbunden werden.

sudo apt-get install libapache2-mod-php7.0

Um zu testen, ob PHP funktioniert, erstellst du in deinem Rootverzeichnis des Webservers (bei mir /var/www) eine neue Datei info.php.

cd /var/www
sudo nano info.php

Als Inhalt der Datei schreibst du folgendes:

<?php
phpinfo();
?>

(bitte vergiss das ; hinter phpinfo() nicht)

Zum Test rufst du nun http://ip_raspi/info.php auf. Du solltest jetzt eine Info- Seite über das installierte PHP sehen.

Als nächstes musst du nochmal ein Update des Systems durchführen. Die Befehle dazu sind wie unter Schritt 1 gezeigt:

sudo apt-get update
sudo apt-get upgrade

4. Installation der MySQL- Datenbank und phpMyAdmin

Der nächste Schritt ist aus meiner Sicht der schwierigste. Die Installation der MySQL- Datenbank.

4.1 MySQL

Hier habe ich selbst recht lange rumprobiert deshalb solltest du die Schritte wirklich in der angegebenen Reihenfolge ausführen, um Probleme zu vermeiden.
Wichtig ist, bei der Installation von MySQL KEIN root Passwort zu setzen. Ansonsten läuft später die Installation von phpMyAdmin nicht komplett durch und man muss sehr viele Sachen dann manuell einstellen. Eine Abfrage nach dem root- Passwort sollte allerdings auch nicht vorkommen.

sudo apt-get install mysql-server
sudo apt-get install mysql-client

4.2 phpMyAdmin

Als nächsten Schritt installierst du phpMyAdmin. Das ist ein Tool, mit dem man die Datenbanken auf einfache Art und Weise bearbeiten kann. Keine Sorge falls du das Tool noch nicht kennst. Wenn es später um die Installation von WordPress auf dem Server geht, zeige ich dir alles nötige zu phpMyAdmin.

Während der Installation musst du hier ein Passwort für phpMyAdmin festlegen.

sudo apt-get install phpmyadmin
sudo apt-get install libapache2-mod-auth-mysql

Nun muss phpMyAdmin mit dem Apache2 Server verbunden werden. Dazu musst du am Ende der php.ini die Zeile

extension=mysql.so

einfügen.

Der Befehl dazu:

sudo nano /etc/php/7.0/apache2/php.ini

4.3 Festlegen des root- Passworts für die MySQL- Datenbank

Nun muss das root- Passwort für den Zugriff auf die MySQL- Datenbank festgelegt werden.

sudo mysql -u root -p

Die Passwortabfrage bestätigst du zunächst mit Enter.

Nun gibst du die folgenden Befehle nacheinander ein. dein_passwort musst du natürlich mit dem gewünschten Passwort ersetzen.

grant all on *.* to root@localhost identified by ‚dein_passwort‘ with grant option;
flush privileges;
quit;

Damit ist das Passwort zur MySQL- Datenbank gesetzt.

Du kannst nun den MySQL Server testen. Das Passwort ist das soeben gesetzte MySQL- Passwort.

sudo mysql -u root -p

mit status; kannst du nun den Status der Datenbank abfragen. quit; bringt dich wieder zur Eingabeaufforderung.

Du kannst dich nun auch mittels http://ip_raspi/phpmyadmin an der Datenbank anmelden.

Der Benutzername ist root, das Passwort dein oben gewähltes MySQL- Passwort.

Herzlichen Glückwunsch, du hast nun einen eigenen Webserver, auf dem du WordPress oder jedes andere CMS installieren und laufen lassen kannst.

Im nächsten Artikel zeige ich dir dann, wie du auf den Webserver zugreifen, WordPress installieren und den Webserver sogar vom Internet zugänglich machen kannst. Sei gespannt…

Liebe Grüße,

der Alex

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.