In diesem Tutorial möchte ich Euch zeigen, wie ihr mit einem Raspberry Pi Modell B einen funktionierenden lokalen Webserver einrichtet und anschließend das CMS Wordpress zum Laufen bekommt. Die Konfiguration ist für Testzwecke oder Arbeiten im lokalen Netz gedacht, nicht für den professionellen Einsatz im Internet. Der Pi eignet sich hervorragend um z.B. Kundenprojekte (Content Management Systeme oder statische Internetseiten) lokal zu bearbeiten und eine Schnittstelle für Betrachtungszwecke zu schaffen.
Das Kapitel Raspbian installieren wird anhand von MacOSX vorgestellt, alle weiteren Kapitel funktionieren plattformunabhängig also auch mit Windows. Windows Nutzer dürfen/müssen an dieser Stelle nicht aufhören, ich habe dort einen Link mit geeigneten alternativ Software zur Verfügung gestellt. Ab dem Kapitel Webserver installieren bewegen sich alle Systeme wieder am gleichen Strang.
Den Unterschied zwischen den Spezifikationen des Raspberry Pis findet ihr hier. Es ist wichtig, dass die Version 2 oder 3 erstanden wird, da der Unterscheid, vor allem bei der CPU und RAM, ausschlaggebend sind. Genauso wichtig ist die Wahl der passenden SD Karte - sie wird später Eure Festplatte und umso besser die Leistung, desto schneller ist das System. Die oben verlinkte SD Karte ist in meiner Sicht der Preis/Leistungssieger. Die Unterschiede bei SD-Karten sind enorm, teilweise sind die Zugriffszeiten 3x schneller oder die Schreibgeschwindigkeit nur 1/5 bei einer vergleichbaren Class 10 Karte. Es wurde vorzugsweise auf schnelle Zugriffszeiten, schnelles zufälliges Lesen und Schreiben, schnelles sequentielles Lesen und Schreibenund eine passable Schreibgeschwindigkeit geachtet.1 Mein Grundsystem2 mit übertaktetem Raspberry3 benötigt 23 Sekunden zum Hochfahren, damit habt ihr einen Vergleichswert bei der Nutzung von anderen Karten.
Damit das Tutorial komplett abgearbeitet werden kann, sind die oben genannten Bauteile nötig. Es gibt zwei Möglichkeiten zum Start,
Mit Tastatur und Bildschirm oder
Ich habe mich für die zweite Variante entschieden, da einfach weniger Verkabelung und Ausrüstung nötig ist.
Das Betriebssystem für den Raspberry Pi (Raspbian Wheezy) muss auf eine SD-Karte gespielt werden. Hierfür benötigt ihr die ISO Datei des Betriebssystems Raspbian Wheezy Image und ein paar kleine Helfer (MAC OSX): Pi Filler,Pi Copier und Pi Finder, diese findet ihr unter: ivanx.com/raspberrypi. Für Windows kann der Win32 Image Writer genutzt werden, zu finden unter: https://launchpad.net/win32-image-writer.
Ein externes Video hierzu:
Wie ihr nun vorgehen müsst, seht ihr in den nachfolgenden Videos. Zurücklegen und genießen. (Der Image-Clone-Prozess wird nur für MacOSX im Video gezeigt, im nächsten Kapitel geht es wieder für beide Systeme weiter.)
Video 1: Manfred Steger's Video Raspbian Image von der Herstellerseite herunterladen
Video 2: Manfred Steger's Video SD Karte formatieren und Raspbian installieren
Video 3: Manfred Steger's Video Raspberry Pi im Finder mit Pi Finder im Netzwerk identifizieren
Steckt jetzt die SD-Karte in das Kartenlesegerät, ladet das Programm herunter, installiert es anschließend mit der Standardkonfiguration und startet es. Die minimalistische Oberfläche von Disk Imager lässt kaum Fehlerquellen zu, ihr müsst lediglich auf das Ordner Symbol klicken und die heruntergeladene Raspbian Image Datei laden (In den Screenshots und den Videos wird OpenELEC installiert, nehmt anstelle die Raspbian Image).
Falls Euch die Datei nicht angezeigt wird, klickt neben dem Dateinamen auf die Dateiformate und wählt *.*, hiermit werden euch alle Dateitypen angezeigt.
Wählt die Image Datei aus und klickt auf öffnen. Neben dem Pfad der Image Datei müsst ihr noch den "Device", sprich das Speichermedium für den Clone Vorgang wählen. Passt hier sehr gut darauf auf, dass ihr den richtigen Laufwerksbuchstaben, und zwar den der Speicherkarte wählt. Seid hier doppelt vorsichtig! Eine Warnung taucht auf, die in etwa dem entspricht, was ich einen Satz vorher geschrieben habe. Bestätigt den Vorgang und wartet ab, bis der Vorgang beendet ist. Voilà!
Raspbian ist nun bootfähig auf der Speicherkarte und wartet darauf, in den Raspberry gesteckt zu werden. Falls euch Schritte unklar sind oder zu kompliziert, ein kleines Video zeigt die einzelnen Schritte nochmals genau. Nochmals der Hinweis, dass das Video die Installation von OpenELEC zeigt und nicht von Raspbian. Überspringt das Herunterladen der Image Datei und nehmt Eure geladene Raspbian Image.
Video: Download OpenELEC sowie Download und Installation Win32 Disk Imager unter Windows 8.1:
Manfred Steger's Video zu OpenELEC und Win32 Disk Imager Installation unter Windows 8.1
Video: Clone Vorgang von OpenELEC auf SD-Karte mit Win32 Disk Imager:
Manfred Steger's Video Clone OpenELEC auf SD Card via Win32 Disk Imager unter Windows 8.1
Sobald der Transfer der Daten auf die SD-Karte abgeschlossen ist, könnt Ihr die SD-Karte in den Raspberry stecken. Fahrt den Raspberry mit angeschlossenem Monitor und Tastatur hoch. Die Standard Nutzerdaten beim ersten Login heißen:
User: pi
Passwort: raspberry
(falls das Passwort falsch ist, raspberrz oder raspberrx schreiben, wegen nicht-deutschem Tastaturlayout).
Mit dem Befehl:
sudo raspi-config
könnt ihr den Burschen genauer unter die Lupe nehmen und an ein paar interessanten Schrauben drehen! Das Video zeigt Euch wie. Im Video sieht man leider nicht welche Tasten ich drücke - also kurz was getan werden muss: Grundsätzlich navigiert ihr mit den Pfeiltasten der Tastatur, aus- oder abwählen mit der Leertaste und zu einem Navigationselement springen (OK oder Finish) funktioniert mit der Tab-Taste.
Video: Raspberry konfigurieren im Terminal
Manfred Steger's Video Clone OpenELEC auf SD Card via Win32 Disk Imager unter Windows 8.1
Ein Reboot macht vieles Gut - bevor wir fortfahren einmal das System neu starten. Hierzu folgenden Befehl in die Konsole hacken:
sudo reboot
Wartet nun etwa 1 Minute und logt Euch über die Konsole über SSH ein. Der Befehl hierfür lautet:
ssh pi@ip-adresse-des-pis
Wenn ihr die IP nicht mehr wisst, benutzt das Tool: Pi Finder, damit bekommt Ihr die IP heraus. Alternativ könnt ihr die IP auch direkt am Pi über die Tastatureingabe herausfinden. Gebt dazu:
ifconfig
in die Console ein und lest die IP ab. Wir benötigen nun die Befehle:
sudo apt-get update
sudo apt-get upgrade
Aber was machen diese Befehle eigentlich? Hierzu könnt ihr die Befehlstabelle herannehmen:
Das Video zeigt Euch wie ihr die Befehle in die Konsole bekommt.
Manfred Steger's Video Raspberry Pi Raspbian mit dem Terminal update und upgrade
Ein kleiner Tipp noch, wollt Ihr die Dateistruktur des Linux Systems ohne FTP Programm einsehen, könnt Ihr den Midnight Commander (mc) installieren:
sudo apt-get install mc
Starten könnt ihr das Programm mit dem einfachen zwei Buchstaben:
mc
Im vorherigen Kapitel habt Ihr gesehen, wie Raspbian installiert und konfiguriert wird. Hier folgt erstmal ein kleiner Einschub, da wir nun darauf achten, dass das gesamte Tutorial plattformunabhängig genutzt werden kann. Unter MAC OSX ist die Steuerung des Pi's über das Terminal schnell gemacht - die Windowsianer müssen sich leider erstmal einen kleinen Helfer holen, denn Windows hat mit der UNIX Shell nichts am Hut. Wieso aber der MAC? Macintosh entstand aus Linux und ist sogar (noch) UNIX zertifiziert. So weg vom Exkurs - ab zum Workshop. Damit die nachfolgenden Schritte des Tutorials unter Windows funktionieren, müsst ihr xMing ;und _PuTTY_starten - Anweisungen findet Ihr im Video:
Manfred Steger's Video zur Installation von PuTTY unter Windows 8.1
Als erstes müssen wir uns natürlich auf den Raspberry Pi einloggen:
ssh pi@ipadresse
eingeben, Passwort eintippen und danach den Befehl eingeben:
sudo bash
Puh, jetzt aber Vorsicht! Wir haben nun die "ultimative Macht", alles was wir sagen wird OHNE Kompromisse erledigt.
Damit wir den Apachen (Webserver) installieren können, benötigen wir Nutzergruppen – ansonsten schlägt die Installation fehl. Mit den folgenden Befehlen könnt ihr die Standardnutzergruppen für den Apachen anlegen.
sudo groupadd www-data
sudo usermod -a -G www-data www-data
Geschafft? Dann sehen wir mal nach ob mittlerweile neue Updates vorhanden sind:
sudo apt-get update
Nach einem Update bzw. Upgrade sollte Linux, oder der aktualisierte Dienst neu gestartet werden.
sudo reboot
Alles aktuell – sehr schön. Hier kommt der Befehl für die Apache Installation:
sudo apt-get install apache2 apache2-doc apache2-utils
Nachdem der Installationsvorgang beendet ist, öffnet den Browser – gebt die IP-Adresse Eures Pis ein.
It Works!!!
Der Webserver läuft. Das Ganze auch noch als Video zum Nachvollziehen.
Manfred Steger's Video zur Installation Apache Webserver auf dem Raspberry Pi auf Raspbian OS
It Works!! Aber viel können wir damit noch nicht anstellen – ein handelsüblicher Webserver bietet einige Features, damit z.B. dynamische Internetseiten, Videostreams etc. überhaupt funktionieren. Wir rüsten nun PHP, MySQL und phpMyAdmin nach, damit später WordPress auch auf unserem Webserver läuft.
Damit wir wieder vollen Zugriff haben und auch die gewünschten Services installieren können, benötigen wir uneingeschränkte Zugriffsrechte:
sudo bash
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache
Nun haben wir PHP5 nachgerüstet, damit aber ein CMS wie WordPress läuft, benötigen wir noch eine Datenbank und die Verknüpfung zu dieser. Wir haben als Standardpasswort für den Datenbankzugriff iuk gewählt.
apt-get install php5-mysql
apt-get install mysql-server mysql-client
und ein Tool Namens phpMyAdmin, mit dem wir die Datenbank verwalten können:
apt-get install phpmyadmin
Das Ganze wie gewohnt als Video zum Nachvollziehen.
Manfred Steger's Video zur Aufrüstung des Webserver von PHP, MySQL und phpMyAdmin
Damit wir auch sicher sind, ob PHP wirklich mit den ganzen Features vorhanden ist, machen wir einen Check. Das Verzeichnis für die Internetseiten unter Linux ist standardmäßig:
/var/www
Seit dem Update auf Jessie (Ende 2015) ist das Standardverzeichnis:
/var/www/html
Logt Euch in den Pi ein und nutzt folgenden Befehl:
cd /var/www oder cd /var/www/html
Mit dem Befehl cd navigieren wir durch die Verzeichnisse und mit dem nachfolgenden Pfad /var/www oder /var/www/html an den gewünschten Ort. Wir erstellen nun eine Datei mit dem Namen phpinfo.php und tragen dort einen Befehl für das Auslesen der PHP Installation aus:
sudo nano phpinfo.php
Nano steht für den Nano-Editor, mit dessen Hilfe können wir nun die PHP-Datei beschreiben. Der Befehl für das Auslesen der PHP Installation lautet:
<?php
phpinfo();
?>
Tragt diesen Code in den Nano-Editor ein und speichert mit CTRL+O das Dokument ab, mit CTRL+X könnt Ihr den Editor verlassen.
Jetzt müssen wir natürlich auch noch testen, ob das Ganze Früchte getragen hat. Gebt im Webbrowser die IP des Pis an und schreibt dahinter:
/phpinfo.php (z.B. 192.168.2.10/phpinfo.php)
Manfred Steger's Video zum Testen der PHP Installation auf dem Raspberry Pi auf Raspbian OS
Das hat geklappt? Dann weiter mit der Verknüpfung zwischen phpMyAdmin und der SQL Datenbank. Damit wir unsere Datenbank über eine grafische Oberfläche administrieren können, benötigen wir noch eine kleine Einstellung bzw. die Verknüpfung des Diensts phpmyAdmin in unserer Server Konfigurationsdatei apache.conf.
nano /etc/apache2/apache2.conf
Mit dem Nano-Editor schreiben wir nun ans Ende der Konfigurationsdatei den Befehl zum Einbinden von phpMyAdmin:
Include /etc/phpmyadmin/apache.conf
Tipp: Damit Ihr schnell ans Ender der Datei kommt, drückt mehrmals CTRL+V.
Überspeichert das Dokument – ihr wisst nicht wie??? Dann nochmals oben nachlesen!
Nun steht die Verbindung – damit sie aber aktiv wird, muss der Apache neu gestartet werden:
/etc/init.d/apache2 restart
Wie immer, nachdem ihr etwas installiert habt, Paketstruktur neu einlesen, upgraden und das System neustarten.
sudo apt-get update
sudo apt-get upgrade
sudo reboot
Wenn alle Schritte erfolgreich absolviert wurden, können wir mittels phpMyAdmin auf die Datenbank zugreifen. Gebt hierzu die Adresse Eures Pis mit einem folgenden /phpmyadmin ein.
Der Benutzername für die Standard-Datenbank lautet:
root
und das zugehörige Passwort:
iuk
Erstellt nun eine neue Datenbank und einen Benutzer, in unserem Beispiel haben wir beide wordpress genannt. Falls Ihr keinen Benutzer anlegt, kann auch der Default-User root benutzt werden, standardmäßig hat dieser Nutzer kein Passwort was natürlich nicht gut ist!
Eine neue Datenbank kann über das Head-Menü: Datenbanken > Neue Datenbank anlegen > Anlegen-Button erstellt werden. Nutzt als Datenbankname wordpress anderenfalls erhaltet Ihr einen Error establishing a database connection Fehler im nachfolgenden Tutorial. Der Fehler besagt, dass die Verbindung zur Datenbank nicht hergestellt werden kann, dass liegt entweder an der nicht vorhandenen Datenbank oder einem falschen Passwort.
Standardmäßig verfügt ein Webserver über eine FTP Dienst, zum Austausch von Dateien. Im Terminal könnten wir mittels Eingabe Dateien hochladen, dass ist aber recht mühsam. In den nächsten Schritten, konfigurieren wir einen FTP Zugang, damit ihr Dateien leicht via Drag&Drop verschieben könnt.
Wie gewohnt brauchen wir das Terminal und folgende Befehle:
sudo bash
sudo apt-get install vsftpd
Wir müssen die vsftpd.conf bearbeiten:
nano /etc/vsftpd.conf
Sucht nach den folgenden Einträgen und ändert diese ab, achtet dabei auf die Schreibweise mit YES und NO und dem Kommentarzeichen #. Eine Raute klammert den Befehl aus, wenn ihr bei den unteren Befehlen eine Raute davor seht, entfernt diese.
Speichert die Datei mit CTRL+O und schließt Sie mit CTRL+X.
So nun müssen wir den Dienst neustarten:
/etc/init.d/vsftpd restart
Manfred Steger's Video zur Installation eines FTP-Servers auf dem Raspberry Pi unter Raspbian OS
Wir haben es fast geschafft!
Nun benötigen wir noch die Berechtigung das /var/www oder /var/www/html Verzeichnis zu beschreiben, hier kommen später unsere Internetseiten hin. Wir befinden uns immer noch im Terminal und wollen nun dem Nutzer: pi besondere Schreibrechte geben:
sudo usermod -a -G www-data pi
sudo chown -R pi /var/www
für das Update Jessie (Ende 2015):
sudo usermod -a -G www-data pi
sudo chown -R pi /var/www/html
Das Video zeigt Euch nochmals wie Ihr die Benutzerrechte vergebt und Dateien via FTP transportieren könnt. (Schiebt vorerstb bitte KEINE Dateien hoch – wir fahren im nächsten Schritt mit der Konsolen-Installation fort.)
Manfred Steger's Video über das Hochladen von Dateien via FTP auf den Raspberry Pi unter Raspbian OS
Die neueste Version von WordPress wird mit folgendem Befehl heruntergeladen:
wget http://wordpress.org/latest.tar.gz
Mit diesem Befehl entpacken:
tar -xvzf latest.tar.gz
Wir erstellen einen neuen Ordner mit dem Namen wordpress im Verzeichnis /var/www oder für oder für Jessie (Ende 2015) /var/www/html (dieses Verzeichnis ist für Internetseiten bzw. das CMS Wordpress gedacht)
sudo mkdir /var/www/wordpress
oder für Jessie (Ende 2015):
sudo mkdir /var/www/html/wordpress
Verlasst den den Root-Account und kehrt als normaler Nutzer pi zurück:
exit
Kopiert die entpackten Dateien in den neu erstellten Ordner:
sudo cp -r ~/wordpress/* /var/www/wordpress
oder für Jessie (Ende 2015):
sudo cp -r ~/wordpress/* /var/www/html/wordpress
Wir müssen dem Apachen noch beibringen, richtig mit PHP in HTML Dokumenten umzugehen. Öffnet dazu die apache2.conf:
sudo nano /etc/apache2/apache2.conf
Navigiert ganz nach unten (CTRL+V mehrmals drücken) und fügt ganz am Ende folgende Zeile ein und speichert das Dokuement.
AddType application/x-httpd-php .html
Damit alles auch vom Apachen übernommen wird, muss der Dienst neu gestartet werden.
sudo /etc/init.d/apache2 restart
WordPress wurde nun heruntergeladen und der Server vorbereitet – wir müssen nun eine Verknüpfung zwischen WordPress und der Datenbank herstellen. WordPress benötigt eine wp-config.php, diese beinhaltet die Zugangsdaten zur Datenbank (und noch vieles mehr). Bei einer frisch heruntergeladenen Version, gibt es diese Datei noch nicht, wir kopieren diese aus dem Vorlagen Ordner mit dem Befehl:
sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
oder für Jessie (Ende 2015)
sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
Derzeit stehen noch Beispieldaten in der wp-config.php, diese ersetzen wir nun mit den Anmeldinformationen zu unserer erstellen Datenbank:
sudo nano /var/www/wordpress/wp-config.php
oder für Jessie (Ende 2015)
sudo nano /var/www/html/wordpress/wp-config.php
Wenn ihr die Daten aus der Anleitung 1:1 übernommen habt, ersetzt diese wie im Bild zu sehen.
Speichern und schließen nicht vergessen.
Wenn nun alles richtig gemacht wurde, ist WordPress im Browser unter der IP Eures Pis + /wordpress zu erreichen, in unserem Beispiel war es 192.168.2.12/wordpress.
[1]: Benchmarks stammen von Tomshardware.de - die oben getätige Aussage bzgl. der Leistung bezieht sich nicht auf den Test, sondern auf Werte von NoName SD-Karten und Werte aus Benchmark Foren.
[2]: Grundsystem ist Debian Wheezy mit 16MB Grafikspeicher bereits aktiviertem SSH Server und deaktivierter Benutzeroberfläche.
[3]: Medium Voreinstellung auffindabr im raspi-config Menü unter Overclocking.
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.
Zitiervorschlag: Steger, Manfred: Der eigene Webserver mit dem Raspberry Pi. Medienzentrum EW, Uni Hamburg. CC BY-SA.
GitBook einzusehen unter: Der eigene Webserver mit dem Raspberry Pi.