Installation eines Raspberry Pi
mit einem Webserver inkl. Php, MySQL & FTP
Lerne heute Schritt für Schritt die Installation eines Raspberry Pi als Php Webserver mit MySQL & FTP in unserer Anleitung inklusive Tutorial und bereitstehenden Codes.
- Raspberry Pi
- SD Karte (mind. 8 GB)
- Stromkabel für das Raspberry Pi
- ggf. Gehäuse für den Pi
- LAN Kabel (mit dem Router verbunden)
- Apple Laptop/ PC (Windows ähnlich, Programme differenziert)
Einen Raspberry Pi einrichten inklusive dem dazu benötigten Webserver, php, einer MySQL Datenbank, dem phpMyAdmin sowie einem FTP-Zugang.
Erste Schritte: Downloads starten
Zunächst benötigst Du einen Raspberry Pi sowie ein dazugehöriges Stromkabel mit einer passenden SD Karte; gleichzeitig sollte auch ein LAN Kabel vorhanden sein, welches mit dem Router verbunden ist.
Im ersten Schritt downloadest Du das aktuelle Betriebssystem Raspbian Stretch Desktop, indem Du die Datei von der verlinkten Webseite herunterlädst. Um fortfahren zu können, musst Du noch folgende Programme herunterladen: den ApplePi Baker (MAC) oder für Windows den Win32 Disk Imager.
Um den ApplePi Baker zu nutzen, öffne die Datei im Download Ordner und gib‘ hier zunächst das Admin Passwort deines MACs ein. Jetzt ist es auch an der Zeit, die SD Karte in den Computer zu stecken, ggf. mit einem SD Karten Lesegerät. Danach wird sich ein zweites Fenster öffnen, in dem Du links die nun eingelegte SD Karte siehst. Rechts im Fenster muss hier noch das Betriebssystem ausgewählt werden, welches sich im Download Ordner befindet. Dazu einfach auf die drei Punkte neben der Beschriftung „IMG File“ klicken. Zusätzlich muss der Haken bei „Auto eject after successfully restore“ entfernt werden, damit die SD Karte nicht aus dem Mac Book entfernt wird, sobald der Kopiervorgang abgeschlossen ist. Anschließend auf „Restore Backup“ klicken und warten, bis der Kopiervorgang fertig ist und der ApplePi Baker eine Bestätigung zur Fertigstellung des Kopiervorgangs öffnet, welchen Du einfach akzeptieren kannst.
Einen SSH Zugang anlegen
Nun folgt das Anlegen eines SSH Zugangs, welchen Du selbst aktivieren musst, da dieser aus Sicherheitsgründen nicht automatisch aktiviert ist. Da der Raspberry Pi ohne Maus und Tastatur arbeitet, benötigst Du noch einen SSH Zugang, um auf den PI zugreifen zu können. Die SD Karte muss für diesen Schritt noch im PC eingesteckt bleiben. Öffne nun ein Textfile, welches Du leer auf der SD Karte sicherst und mit „ssh“ benennst. Wichtig: Der Name darf keine Endung wie „.php“ oder „.text“ aufweisen. Um das sicherzustellen, öffne den Finder deines MACs. Diesen kannst Du ganz leicht öffnen, indem Du mit der Maus und zwei Fingern gleichzeitig auf die Datei klickst. Der Finder öffnet sich direkt daneben (s. Bild). Hier werden Dir einzelne Möglichkeiten zum Fortfahren angeboten. Wähle „Informationen“ aus. Dabei öffnet sich ein neues Fenster, in dem Du beim Feld „Name & Suffix“ die überflüssige Endung entfernen kannst. Danach kurz bestätigen und kontrollieren, ob der Vorgang bei der Datei (am Icon) übernommen wurde.
Im Anschluss die SD Karte über die Dateiverwaltung (Finder – Mac; Explorer – Windows) auswerfen und entfernen, danach in den Raspberry Pi einstecken und mit einem LAN Kabel von deinem Router verbinden. Jetzt kannst Du das Ganze mit deinem Netzteil an der Steckdose anschließen.
Im nächsten Schritt ist es wichtig, die IP-Adresse herauszufinden,
die der Pi durch den Router zugeteilt bekommen hat. Solltest Du keine Fritzbox nutzen, kannst Du sicherlich über Google herausfinden, wie es bei Deinem Router funktioniert. Benutzt Du eine Fritzbox, kannst Du einfach im Browser deines PC’s „fritz.box“ eingeben und auf der geladenen Seite das Passwort der FritzBox eingeben. Danach auf der Startseite über „Heimnetz“ und „Heimnetzübersicht“ die „Netzverbindungen“ auswählen und den Raspberry Pi finden. Ist dies gelungen, siehst Du die dazugehörige IP-Adresse. Über den nachfolgenden Button kannst Du diese bearbeiten. Hier ist wichtig, dass Du einen Haken bei der Option „Diesem Netzwerk immer die gleiche Ipv4-Adresse zuweisen“ setzt, damit der Raspberry Pi nicht jedes Mal eine neue IP-Adresse erhält. Abschließend die IP-Adresse kopieren und den Vorgang speichern. damit der Rasp.
Auf den Raspberry Pi zugreifen
Nun geht es darum, auf den Raspberry Pi zuzugreifen. Wenn Du mit Windows arbeitest, lade hierfür das Programm PuTTY herunter. Bei PuTTY musst Du die kopierte IP-Adresse, Deinen Raspberry Pi sowie den Port 22 eintragen. Die Standard Logindaten sind: Username: pi Passwort: raspberry. Beim MAC für diesen Schritt über die Suche einen Terminal auswählen und im Terminal-Fenster folgenden Befehl eingeben.
1 | ssh username@dieipadressedeinespi -p 22 |
Beispiel:
1 | ssh pi@IPADRESSE -p 22 |
In diesem Fall ist „pi“ der Benutzername, über den Du dich einloggst und anstelle der „IPADRESSE“ setzt Du Deine vorher kopierte IP ein.
Für den Fall, dass eine Fehlermeldung auftauchen sollte, wenn Du vorher beispielsweise schon einmal einen Pi installiert hast, musst Du alle bestehenden Hosts mit folgendem Befehl löschen:
1 | rm -f ~/.ssh/known_hosts |
Danach erneut den vorherigen Befehl anwenden, um Dich einzuloggen:
1 | ssh pi@IPADRESSE -p 22 |
Hat dieses Mal alles funktioniert, fragt der Terminal um Erlaubnis, fortzufahren. Hier einfach mit „yes“ bestätigen und mit dem Standardpasswort: raspberry einloggen.
Nach diesem Schritt ist Dein Rapsberry Pi auch schon verbunden und es fehlt nur noch das Konfigurieren. Dazu nachfolgenden Befehl eingeben und anschließend bestätigen:
1 | sudo raspi-config |
Es öffnet sich ein neues Interface. Hier ist es zunächst wichtig, das Passwort zu ändern. Dieses muss ein zweites Mal bestätigt werden.
Auch die Sprache sollte natürlich noch auf Deutsch umgestellt werden. Hierfür im Interface „Localisation Options“ – „Change Locale“ und darauffolgend die deutsche Sprache auswählen. Diese ist durch „de_DE.UTF-8 UTF-8“ gekennzeichnet. Nun heißt es bestätigen und warten, bis die Sprachänderung aktualisiert wurde.
Als nächstes die Zeitzone über „Localisation Options“ – „Change Timezone“ – „Europa“ und natürlich „Berlin“ auswählen. Im letzte Schritt unter den erweiterten Einstellungen („Advanced Options“) das „Expand Filesystem“ aktivieren und bestätigen, damit die SD Karte vollständig genutzt werden kann. Zum Schluss mit <Finish> bestätigen.
Auch die Frage „Would you like to reboot now?“ mit <Yes> bestätigen und das System neu starten lassen. Dies kann einige Minuten dauern. Du kannst aber versuchen, Dich schon wieder neu zu verbinden, indem Du wieder folgenden Befehl passend mit deiner IP-Adresse eingibst:
1 | ssh pi@IPADRESSE -p 22 |
Und natürlich das neu vergebene Passwort nicht vergessen, mit dem Du Dich jetzt neu einloggen kannst!
Jetzt bist Du wieder im Raspberry Pi eingeloggt und dieser ist erneut hochgefahren. Als nächsten Schritt empfiehlt es sich, ein Update zu machen:
1 | sudo apt-get update |
Nach dem Bestätigen erfolgt ein Upgrade, indem Du den folgenden Befehl eingibst und anschließend bestätigst:
1 | sudo apt-get upgrade |
Nun das Upgrade laden lassen, bevor es zum nächsten Schritt weiter geht.
Den Webserver installieren & aktivieren
Nun kannst Du einen Webserver auf Deinem Raspberry Pi installieren, dafür installierst Du den Webserver „Apache2“ und gibst folgenden Befehl ein:
1 | sudo apt install apache2 |
Nach dem Bestätigen, kannst Du den Apache 2 Webserver aktivieren und gleichzeitig in den Autostart legen, damit dieser beim Start des Pi sofort aktiviert ist. Für die Aktivierung einfach nachfolgenden Befehl in den Terminal eingeben und bestätigen:
1 | sudo systemctl start apache2 |
Um den Webserver auch in den Autostart zu setzen, gib‘ noch folgenden Befehl ein und bestätige diesen anschließend:
1 | sudo systemctl enable apache2 |
Um sicher zu gehen, dass auch alles funktioniert, einfach Deine IP-Adresse im Browser Deines PC’s einfügen und bestätigen. Wenn alles funktioniert hat, müsste eine Bestätigung auf dem Bildschirm im Browser-Fenster erscheinen.
MySQL Server installieren
Zurück im Terminal kannst Du nun den MySQL Server installieren, indem Du zunächst nachfolgenden Befehl eingibst und danach bestätigst:
1 | sudo apt install mariadb-server-10.0 |
Auf Nachfrage des Terminals, ob man fortfahren möchte und 173 MB genutzt werden dürfen, antwortest Du mit „J“ für „Ja“, bestätigst und wartest danach, bis die Installation fertig ist. Dies kann einige Minuten dauern.
Nachdem MySQL installiert ist, muss auch hier der Dienst neu gestartet und in den Autostart gelegt werden. Hier wird nun der Name „mariadb“ verwendet. Dies ist der Name des MySQL Systems. Zum Starten als erstes folgenden Befehl eingeben und anschließend bestätigen:
1 | Su sudo systemctl start mysql |
Danach den Dienst in den Autostart legen mit:
1 | sudo systemctl enable mysql |
Auch hier das Bestätigen mit der Enter-Taste nicht vergessen. Als nächstes fehlt noch das Konfigurieren der MySQL Datenbank mit dem Befehl:
GRANT ALL ON *.* TO ‘maxchr256’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
1 | sudo mysql_secure_installation |
Erneut den Befehl bestätigen und danach das Passwort eingeben, mit „Y“ bestätigen und ein weiteres Mal zur Überprüfung eingeben. Hierauf folgen einige Fragen des Terminals:
- „Remove anonymous user?“ – mit „y“ beantworten und bestätigen
- „Disallow root login remotely?“ – mit „n“ beantworten und bestätigen
- „Remove testdatabase and access to it?“ – mit „n“ beantworten und bestätigen
- „Reload privilege tables now?“ mit „y“ beantworten und bestätigen
Nach dem Beantworten und Bestätigen der Fragen ist die Installation von MySQL abgeschlossen.
DAS HAT FUNKTIONIERT Terminal Starten und mit su Rootrechte anmelden
root@RaspiMax:/home/pi# systemctl start mysql
root@RaspiMax:/home/pi# systemctl enable mysql
mysql.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysql
root@RaspiMax:/home/pi# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer ‘n’.
Change the root password? [Y/n] n
… skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n
… skipping.
root@RaspiMax:/home/pi#
PHP Installation
Der nächste Schritt beinhaltet die Installation von PHP. Dazu als Befehl folgendes in den Terminal eingeben und bestätigen:
1 | sudo php –version |
Auf die Frage zum Fortfahren der Installation mit „J“ wie „Ja“ antworten und warten, bis die Installation abgeschlossen ist. Daraufhin kannst Du einen Testlauf starten mit:
1 | sudo php –version |
Auch hier die Eingabe bestätigen. Bei einem positiven Testlauf wird der PHP 7.0.19-1 als aktuelle Version angegeben (Stand September 2017: Es ist auch möglich, dass eine andere Version erscheint, dies ist jedoch nicht von schlimm):
phpMyAdmin installieren
Um die MySQL Datenbank verwalten zu können, fehlt noch die Installation des phpMyAdmin. Die Installation startest Du mit:
1 | sudo apt install phpmyadmin |
Nach dem Bestätigen erneut die Frage zum Fortfahren der Installtion mit „J“ erlauben. Nach diesem Schritt und erfolgreicher Installation öffnet sich ein neues Fenster. Hier wird nach der Konfiguration gefragt. Zum Auswählen einfach die Leertaste benutzen und „apache2“ mit Enter bestätigen. Ein weiteres Konfigurationsfenster fragt nach der Konfiguration der Datenbank – hier mit „Ja“ bestätigen. Zum Schluss ein Passwort in das nächste geöffnete Fenster eingeben und ein zweites Mal zur Bestätigung wiederholen. Ist der Vorgang abgeschlossen, kannst Du auch hier einen Testlauf starten, indem Du im Browser die IP-Adresse Deines Pi’s eingibst plus folgende Endung: „/phpmyadmin“. Es müsste also beispielsweise so aussehen: http://192.168.178.56/phpmyadmin
Wenn alles funktioniert, öffnet sich eine Startseite zum Login. Der Login ist allerdings noch nicht möglich, da der phpMyAdmin zunächst noch konfiguriert werden muss. Für diesen Schritt erneut ins Terminal zurückkehren und folgenden Befehl eingeben und mit Enter bestätigen:
1 | sudo dpkg-reconfigure -plow phpmyadmin |
Es öffnet sich erneut eine neue blau, graue Maske, die Du durchlaufen und auf die einzelnen Fragen antworten musst. Zunächst den Warnhinweis jeweils mit „Ok“ bestätigen und sicherstellen, dass Du diesen gelesen hast. Außerdem die Frage zur Neuinstallation der Datenbank für phpMyAdmin mit „Ja“ beantworten und ebenfalls bestätigen. Als Verbindungsmethode „TCP/IP“ auswählen, mit Enter bestätigen und als Rechnername des MySQL-Datenbankservers für den phpMyAdmin „localhost“ bestätigen, mit der Standardportnummer „3306“ (wieder das Bestätigen nicht vergessen). Auch den MySQL-Datenbanknamen mit „phpmyadmin“ beibehalten und mit „Ok“ bestätigen. Hierauf folgt ein Hinweis des Systems, den Du erneut mit „Ok“ bestätigst, um danach den MySQL-Benutzernnamen für den phpMyAdmin zu ändern. Dafür änderst Du den vorgegebenen Namen „phpmyadmin@localhost“ um in „root@localhost“ und bestätigst mit „Ok“. Danach wird nach Deinem Anwendungspasswort gefragt, welches Du neu festlegst und ein zweites Mal zur Bestätigung eingibst, bevor Du mit „Ok“ fortfährst. Danach den Namen für den administrativen Datenbank-Benutzer festlegen: „root“. Nun fragt das System nach dem Webserver, welcher konfiguriert werden soll. In dem Fall „apache2“ auswählen, wieder bestätigen.
Die Konfiguration beginnen, es kann jedoch auch eine Fehlermeldung erscheinen. Dafür beide Hinweise mit „Ok“ akzeptieren und um fortzufahren, im nächsten Schritt für die Installation auf „Wiederholen“ klicken und bestätigen. Jetzt die Frage nach der Konfiguration der phpMyAdmin Datenbank mit dbconfig-common mit „Ja“ beantworten und erneut die Schritte von vorher wiederholen. Das heißt, erneut „TCP/IP“ als Verbindungsmethode auswählen sowie den „localhost“ mit der Portnummer „3306“ bestätigen. Wieder „phpmyadmin“ beibehalten, den darauffolgenden Hinweis bestätigen, und danach den Benutzernamen in „root@localhost“ ändern. Dein Passwort festlegen, ein zweites Mal bestätigen und „root“ als Datenbank-Benutzer eingeben. Als letzen Schritt für den Datenbank-Benutzer „root“ festlegen. Jetzt heißt es, neuer Versuch und abwarten, ob die Konfiguration funktioniert. Wenn alles geklappt hat, ist dieser Schritt abgeschlossen.
Zugang zu phpmyadmin
Jetzt sollte der von Dir festgelegte Benutzernamen sowie das dazugehörige Passwort funktionieren. Dafür wieder den Browser öffnen und die Startseite des phpMyAdmin aufrufen, welche vorher noch eine Fehlermeldung aufgrund des nicht funktionierenden Logins aufgezeigt hat. Hier Deine Zugangsdaten eingeben, diese sollten Dir nun einen Zugang zur Seite verschaffen. Über den Reiter „Datenbanken“ gelangst Du zu der Funktion, neue Datenbanken anlegen zu können. Genauso auch neue Benutzerkonten über den Reiter „Benutzerkonten“.
FTP Benutzer einrichten
Als nächster Schritt fehlt noch die Einrichtung eines FTP Benutzers. Diesen benötigst Du nicht zwingend, da auch alles über das Terminal gesteuert werden kann, es ist jedoch einfach, über den FTP direkt an Dateien arbeiten zu können. Für die Einrichtung wird das Programm ProFTPD benutzt, welches Du über den Terminal mit folgendem Befehl installieren kannst:
1 | sudo apt-get install proftpd |
Diesen Befehl mit Enter bestätigen und warten, bis die Installation erfolgreich abgeschlossen ist. Hier erscheint wieder eine Frage zum Fortfahren des Vorgangs. Einfach mit „J“ bestätigen. Nach der Installation musst Du noch die Konfiguration öffnen, um dort einen Code einzufügen. Dafür im Terminal als nächsten Befehl eingeben:
1 | sudo nano /etc/proftpd/proftpd.conf |
Wieder mit Enter bestätigen. Jetzt hat sich die Datei geöffnet, welche Du über den vorherigen Befehl aufgerufen hast. Hier einmal bis nach ganz unten scrollen und folgenden Code hinein kopieren:
1 2 3 4 5 | DefaultRoot ~ AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthPAM off RequireValidShell off |
Innerhalb der Datei sollte es dann so aussehen:
Anschließend mit der Tastenkombination „CTRL + O“ die Datei speichern und mit der Kombination „CTRL + X“ ebendiese wieder verlassen.
Nun kannst Du das Verzeichnis wechseln, indem Du im Terminal als Befehl eingibst:
1 | cd /etc/proftpd/ |
Nachdem Du bestätigt hast, bist Du nun im ProFTPD Verzeichnis angekommen. Als Bestätigung wird Dir hierfür folgendes im Terminal angezeigt:
Nun legst Du mit dem untenstehenden Code einen neuen Benutzer an:
1 | sudo ftpasswd –passwd –name piftpuser –uid 33 –gid 33 –home /var/www/ –shell /bin/false |
Anstelle von „piftpuser“ setzt Du nun hier Deinen neuen Benuntzernamen rein. Wichtig ist, die Groß- und Kleinschreibung zu beachten und zu merken, denn wenn Du Dich später im Programm einloggst, sollte die Schreibweise gleich sein. Nach dem Ändern des Benutzernamens mit Enter bestätigen und ein neues Passwort eingeben. Dieses ein zweites Mal bestätigen, mit Enter jeweils akzeptieren und fortfahren. Danach ist dieser Schritt abgeschlossen.
Als nächstes musst Du noch dem FTP-Benutzer die Dateirechte geben, damit dieser die Dateien auf Deinem Pi lesen und bearbeiten kann. Dafür zunächst folgenden Befehl eingeben:
1 | sudo chmod g+s /var/www |
Bestätigen und als nächsten Code eingeben und bestätigen:
1 | sudo chmod 775 /var/www |
Abschließend den letzten dafür benötigten Befehl einfügen und ebenfalls mit Enter bestätigen:
1 | sudo chown -R www-data:www-data /var/www |
Ist das erledigt, fehlt noch ein Reboot, also ein Neustart, indem Du in den Terminal als Befehl folgendes einfügst und anschließend bestätigst:
1 | sudo reboot |
Dies kann ein paar Sekunden dauern. Um zu schauen, ob der Neustart erfolgreich abgeschlossen ist, kannst Du einfach wieder die IP-Adresse deines Rapsberry Pi’s in den Browser deines PC’s einfügen sowie bestätigen, sodass die Seite des phpMyAdmin neu lädt. Funktioniert alles, wird Dir dies dementsprechend angezeigt.
Auf die Funktionsweise testen
FTP-Nutzer testen. indem Du über FileZilla öffnest. Hier kannst Du die IP-Adresse Deines Pi’s in das dafür vorgesehene Feld „Server“ einfügen, gleichzeitig den Benutzernamen und das Passwort nicht vergessen und ebenfalls in die dafür vorgesehenen Felder eintragen. Am Ende als Port „21“ eintragen, dies ist standardmäßig so vorgesehen. Danach auf „Verbinden“ klicken. Wenn alles funktioniert hat, kannst Du im selben Fenster, unten rechts das html-Verzeichnis durch einen Doppelklick mit der Maus öffnen. Hier kannst Du neue Dateien anlegen. Beispielsweise kannst Du das Programm Coda nutzen, da es hier leicht ist, die Dateien schnell und einfach zu bearbeiten. In Coda kannst Du über den Button „Add Site“ eine neue Seite hinzufügen, alle notwendigen Felder ausfüllen und die IP-Adresse im Feld „Server“ nicht vergessen sowie Benutzername, Passwort und der standardmäßige Port „21“. Am Ende speichern und die angelegte Seite neu öffnen. Nun kannst Du in der linken Spalte das html-Verzeichnis öffnen und über den Finder/Explorer eine neue Datei („New File“) hinzufügen. Diese „test.php“ benennen, Du willst ja zunächst austesten, ob alles funktioniert, und mit Enter bestätigen. In der rechten Spalte kannst Du nun eine php-Info erstellen, um zu schauen, ob der php-Bereich richtig installiert ist.
1 2 3 | <?php phpinfo(); ?> |
Zur Kontrolle erneut die IP-Adresse deines Raspberry Pi im Browser eingeben, dazu „/“ und den Namen der Datei „test.php“ nicht vergessen (Beispiel: 192.169.178.65/test.php) und mit Enter absenden. Danach wird Dir angezeigt, ob der PHP-Bereich richtig installiert wurde. Dir wird dementsprechend angezeigt, dass „apache2“, „php7.0“ und „mysql“ zur Verfügung stehen und somit alles funktioniert hat.
Am Ziel angekommen
Nun ist der Raspberry Pi eingerichtet – bestenfalls hat alles funktioniert.