Aus Raspberry Pi Geek 05/2013

Raspberry Pi als Webserver

© Volodymyr Krasyuk, 123RF

Appetitlich serviert

Marko Dragicevic

Raspbian bringt alles mit, was Sie für die Konfiguration und den Betrieb eines vollwertigen Webservers samt PHP, Datenbank und CMS im heimischen LAN brauchen. So erstellen und testen Sie eigene Webseiten, ohne der Gefahr von Attacken ausgesetzt zu sein.

Nicht umsonst entwarf die Raspberry Pi Foundation ihren Minicomputer für Ausbildungszwecke – gerade auch für den Anwendungsfall eines Webservers eignet er sich hervorragend. Die nur begrenzt leistungsfähige Hardware erlaubt anschaulich zu lernen, welche Vorgehensweisen zu viel Last erzeugen und somit einen weitaus stärkeren Server bei einer großen Nutzerzahl ebenfalls in die Knie zwingen würden – beispielsweise schlecht programmierte PHP-Skripte.

Dennoch ist der RasPi mächtig genug, um die grundlegenden Konfigurationsschritte innerhalb des für Webserver typischen Debian-Systems zu üben. So kann man eigene Webseiten erstellen und testen, ohne den Gefahren von Angriffen ausgesetzt zu sein: Die NAT-Firewall des heimischen Routers beschützt den Raspberry Pi. Und wenn man den kleinen Rechner zwischendurch doch wieder für etwas anderes verwenden möchte, bootet man ihn einfach von einer anderen SD-Karte.

Ein Raspberry Pi im Server-Einsatz muss “headless” funktionieren, also ohne Monitor. Die Verwaltung erfolgt über eine SSH-Verbindung von einem anderen Rechner im LAN aus. Dazu gehen Sie wie im vorigen Artikel [1] ab Seite 42 beschrieben vor: Sie schalten bei einer frischen Raspbian-Installation den Desktop aus, aktivieren den SSH-Server und melden sich über die vorher ermittelte IP-Adresse des Raspberry mit einer SSH-Verbindung an.

Haben Sie jedoch keinen PC in Reichweite und möchten stattdessen den Raspberry Pi nicht nur als Webserver einsetzen, sondern auf ihm auch im Webbrowser die Seiten betrachten, dann verzichten Sie auf die im vorigen Artikel beschriebenen Schritte. Stattdessen geben Sie im Browser als IP-Adresse die 127.0.0.1 an, also die Referenz für den lokalen PC (sprich: den RasPi).

Apache & Co

Apache ist mit Abstand der beliebteste Webserver: Anfang 2013 benutzten ihn 53 Prozent aller Internet-Sites, der nächste Konkurrent erreichte nur einen Wert von unter 20 Prozent [2]. Schon diese Verbreitung macht Apache zu einer guten Wahl: So fällt es etwa bei Problemen leicht, in Internet-Foren eine Lösung zu finden, falls die ausführliche Dokumentation keine Antwort bietet. Dennoch gibt es Fälle, in denen ein anderer Webserver die bessere Wahl darstellt – dazu später noch mehr.

Residiert auf der SD-Karte des RasPi die neueste Raspbian-Version, installieren Sie als erstes über das Kommando sudo apt-get install apache2 den Webserver. Bei älteren Versionen führte dies zu einem Installationsfehler, weil dort die nötige Benutzergruppe www-data noch nicht vorhanden war. Falls Sie aus irgendeinem Grund eine ältere Raspbian-Installation nutzen, müssen Sie deswegen vor dem Einrichten von Apache den Befehl sudo groupadd www-data aufrufen.

Sobald Sie nach der Apache-Installation die IP-Adresse des Raspberry Pi in einen Browser eingeben, erscheint die voreingestellte index.html mit dem Schriftzug It works! (Abbildung 1). Diese Seite befindet sich auf dem Raspberry Pi im Verzeichnis /var/www/. Editieren Sie testweise den angezeigten Text mit sudo nano /var/www/index.html und laden Sie die Page im Browser neu. Sie sollten die Änderungen sofort sehen können.

Abbildung 1: Nach der Apache-Installation sieht die Index-Seite zunächst noch recht karg aus.

Abbildung 1: Nach der Apache-Installation sieht die Index-Seite zunächst noch recht karg aus.

PHP & MySQL

Eine statische Webseite mutet wie ein Relikt aus der Internet-Steinzeit an. Deswegen peppen Sie nun den Webserver mit PHP und MySQL auf. Die hierzu notwendigen Pakete installiert folgender Befehl:

$ sudo apt-get install php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql

Lehnen Sie sich nach dem Eintippen zurück und trinken Sie erst einmal einen Kaffee. Der Minirechner hat jetzt einiges zu tun, weil er viele Pakete mit installieren muss, von denen die Installationskandidaten abhängen. Im Zug der Einrichtung fragt ein Textdialog nach dem Passwort für den MySQL-Root-Benutzer. Für Übungszwecke genügt vorerst eines, das Sie sich leicht merken können, wie etwa raspberry.

Nach dem Abschluss der Installation legen Sie nun mithilfe eines Texteditors unter /var/www/ ein Skript namens firsttest.php an. Die Datei erhält als Inhalt den Dreizeiler aus Listing 1. Rufen Sie nun das Skript über die IP-Adresse des RasPi ab, beispielsweise via http://192.168.2.131/firsttest.php, erhalten Sie eine Ausgabe wie in Abbildung 2. Hier sehen Sie auch, mit welchen Optionen PHP zur Zeit konfiguriert ist.

Listing 1

<?php
  phpinfo();
?>
Abbildung 2: Das Skript »firsttest.php« gibt Informationen zur PHP-Installation aus.

Abbildung 2: Das Skript »firsttest.php« gibt Informationen zur PHP-Installation aus.

Installieren Sie später einmal ein Skript, das aus Konfigurationsgründen denn Dienst versagt, können Sie anhand der firsttest.php-Seite nachforschen, welcher Parameter dafür möglicherweise verantwortlich zeichnet. So haben Sie die Möglichkeit, diesen in der Datei /etc/php5/apache2/php.ini zu ändern.

Es empfiehlt sich, mittels des Befehls sudo apt-get install phpmyadmin zusätzlich PHPMyAdmin zu installieren. Es hilft dabei, die Inhalte der MySQL-Datenbank komfortabel über den Browser zu verwalten. Sofern Sie selbst PHP-Skripte schreiben, können Sie mit PHPMyAdmin auch kontrollieren, ob diese fehlerfrei sind und die Daten wie beabsichtigt ablegen. Um die Oberfläche aufzurufen, melden Sie sich im Browser über die URL http://192.168.2.131/phpmyadmin an (Abbildung 3), wobei Sie die IP-Adresse durch jene Ihres RasPi ersetzen. Für das Login lautet der Benutzername root, das Passwort entspricht dem bei der MySQL-Installation angegebenen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben