Inhaltsverzeichnis
Raspberry Pi Webserver: Apache2 einrichten und testen
Dieses Projekt zeigt, wie man den Raspberry Pi als Webserver nutzen kann.
Einen Webserver benutzen Sie gerade, wenn Sie diese Seite lesen, denn alle Internetseiten benötigen einen Webserver, der die Seiten, die man lesen möchte, bereitstellt.
Wir benutzen den professionellen Webserver Apache2. Anschließend steht der eigenen Homepage nichts mehr im Wege.
Internetseiten in ihrer einfachsten Form sind sogenannte HTML-Dateien. HTML-Dateien kann man z. B. mit einem Editor oder mit Libre-Office
erstellen.
Damit aber andere diese Seiten im Internet betrachten können, müssen in der Regel zwei Dinge erfüllt sein.
- Sie müssen auf einem Rechner liegen, auf dem ein Webserver läuft. ⇒ Wir benutzen den Webserver
Apache2
- Sie müssen in einem Verzeichnis liegen, wo der Webserver sie findet. Außerdem müssen die Dateirechte stimmen. Daran sollte man immer denken, wenn etwas mal nicht so läuft, wie man möchte
Voraussetzungen
Der Raspi muss im Netz erreichbar sein und der Name des Rechners (bzw. die IP-Adresse) muss auch bekannt sein.
Um Namen und Erreichbarkeit zu überprüfen, benutzt man die Befehle ifconfig
(bzw. /sbin/ifconfig
) und ping
.
- mit dem Befehl
ifconfig
kann die IP-Adresse des Raspi ermittelt werden, eine mögliche Ausgabe lautet:
ifconfig eth0 Link encap:Ethernet Hardware Adresse d8:50:e6:4d:96:44 inet Adresse:172.16.33.5 Bcast:172.16.255.255 Maske:255.255.0.0 inet6-Adresse: fe80::be13:f36f:2f28:b314/64 Gültigkeitsbereich:Verbindung
Hier lautet die IP-Adresse z. B. 172.16.33.5
eth0
steht hier übrigens für die LAN-Schnittstelle. Falls der Raspi über WLAN im Netz ist, muss der entsprechende Eintrag gesucht werden.
- mit dem Befehlt
ping
lässt sich testen, ob ein Rechner im Netz erreichbar ist.
Von einem anderen Rechner im Netz wird auf der Konsole ping 172.16.33.5
eingegeben, wobei die IP-Adresse entsprechend angepasst werden muss.
Eine gültige Ausgabe sieht dann in etwa so aus:
64 bytes from raspi200.fsg-preetz.org (172.16.33.200): icmp_seq=1 ttl=64 time=0.288 ms
Ist der Rechner hingegen nicht erreichbar (also nicht im Netz), erscheint folgende Zeile:
Destination Host Unreachable
Ist dieser Schritt nicht erfolgreich, fängt die Fehlersuche an. Jedenfalls ist es dann in aller Regel überflüssig, zu testen, ob Apache2
erreichbar ist.
Überblick
Dieser Beitrag zeigt, wie man:
Apache2
installiertApache2
testet- Die Rechte für den Benutzer pi anpasst, so das fortan der Benutzer pi HTML-Seiten erstellen kann
- Erster Test
Anschließend kann mal loslegen und mit einfachen HTML-Seiten eine Homepage erstellen.
Dies ist der erste Kontakt mit Apache2
und HTML
, deshalb werden Dinge wie z. B. Webseitenprogrammierung mit PHP oder Datenbanken nicht behandelt. Auch könnte in der Praxis der Einsatz anderer nicht so schwergewichtiger Webserver für den Raspi sinnvoll sein.
Details
1: Apache2 installieren
Hier reicht eine Zeile auf der Konsole:
sudo apt-get install apache2
2: Apache2 testen
Um zu testen ob alles geklappt hat und der Webserver von anderen Rechnern im Netz erreichbar ist, ruft man über einen Browser (Firefox, Chrome,…) die IP-Adresse des Raspi auf.
Wenn alles in Ordnung ist, wird jetzt die Standard-Beispielseite des Apache2-Servers angezeigt. Die Standard HTML-Seite heißt im allgemeinen index.html
.
Standard index.html
des Apache2-Webservers. Für eine eigene Seite muss die index.html
ersetzt werden.
3: Rechte anpassen
Damit der Benutzer pi HTML-Seiten erstellen und bearbeiten kann, muss er im Verzeichnis /var/www/html
Lese- und Schreibrechte haben. Hierzu fügen wir den Benutzer pi zu der Gruppe www-data
hinzu (dies ist die Standardgruppe für Webserver). Anschließend wird das Verzeichnis mit den Rechten 775
ausgestattet.
Step 1:
Das Verzeichnis mit dem Befehl chown
(change owner) ändern.
sudo chown www-data:www-data /var/www/html
Step 2:
Rechte des Verzeichnis ändern mit dem Befehl chmod
(change modus):
sudo chmod 775 /var/www/html
Step 3:
Der Benutzer pi
wird mit dem Befehl usermod
zu der Gruppe www-data
hinzugefügt:
sudo usermod -a -G www-data pi
Bedeutung der Parameter:
-a
steht für append (eng. anhängen), also den Benutzer einer weiteren Gruppe hinzuzufügen-G
steht für Group gefolgt vom Gruppennamenwww-data
pi
ist der Benutzer, der eine neue Gruppe bekommen soll
Step 4:
Rechner neu starten, um alles zu aktivieren. Hierfür reicht eine Zeile auf der Konsole:
sudo reboot
4: Erster Test
Im Verzeichnis /var/www/html
löschen wir alles (nach Bedarf eventuell alten Inhalt vorher sichern)
und legen eine neue Datei index.html
mit folgendem Inhalt an:
- index.html
<html> <header> <title>Raspberry Pi</title> </header> <body> Hallo Informatik-Kurs! <a href="http://www.informatics4kids.de/">FSG</a> </body> </html>
Diese Seite kann dann aufgerufen und getestet werden. Der eigenen kleinen Homepage steht nun nichts mehr im Wege!