Raspberry Pi Webserver: Apache2 einrichten und testen
WWWAbkürzung für World Wide Web (weltweites Netz). |
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
.
Dieser Beitrag zeigt, wie man:
- Apache2 installiert
- Apache2 testet
- Die Rechte für den Benutzer pi anpasst, so das fortan der Benutzer pi HTML-Seiten erstellen kann
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.
0: 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.
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 Gruppennamen www-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:
<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!