====== 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'' installiert
- ''Apache2'' 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''.
{{ :inf:msr:apache-it-works.png?400 |}}
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:
Hallo Informatik-Kurs!
FSG
Diese Seite kann dann aufgerufen und getestet werden. Der eigenen kleinen Homepage steht nun nichts mehr im Wege!