Eine komplette Umgebung.
Ausgangslage
Wir installieren auf einem Raspberry Pi, auf welchem das Grundbetriebsystem Raspbian Jessie, Stretch oder Buster installiert ist, den Apache Webserver, PHP 7 und die Datenbanksoftware MariaDB. Danach erweitern wir mit Tools.
Raspberry PI Vorbereitung
Zur Verwaltung des Systems via Remote ist eine Installation von SSH sinnvoll.
sudo sudo raspi-config
Unter Interfacing options kann ssh gewählt werden. Dort kann Enable or disable ssh server gewählt werden.
Danach können wir mit dem Benutzer pi und dem Standardpasswort raspberry einloggen.
Als erstes machen wir ein Systemupdate.
sudo apt-get update sudo apt-get upgrade
Quellen hinzufügen
Da wir auf externe Paketquellen angewiesen sind, installierne wir diese nach einem ersten erfolgreichen Systemupdate.
sudo nano /etc/apt/sources.list
Wir fügen folgende weitere Zeile hinzu, oder kommentieren sie ein. Je nach Distribution kann stretch durch buster oder jessie ersetzt werden.
deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
Wir verwenden nur die zusäzlichen Programme dieser neuen Quelle, nicht alle. Daher erweitern wir unser
sudo nano /etc/apt/preferences
Mit folgendenen Einträgen. Je nach Distribution kann stretch durch buster oder jessie ersetzt werden.
Package: * Pin: release n=stretch Pin-Priority: 600
Danach machen wir nochmals ein Systemupdate.
sudo apt-get update sudo apt-get upgrade
Serversoftware installieren
Maria DB
Wir installieren die Datenbanksoftware MariaDB 10.x:
sudo apt-get -y install mariadb-server mariadb-client
Nach der Installation legen wir die Zugangsdaten fest.
sudo mysql_secure_installation
Das current password for root ist keines, daher legen wir dies dann fest.
Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y
Schlussendlich laden wir die Berechtigungen neu.
Reload privilege tables now? [Y/n] Y
Danach haben wir immenroch ein Login/Passwort-Fehler, wenn wir in MySQL einloggen möchten. Dies beheben wir ebenfalls auf der Shell. Dazu deaktivieren wir das Plugin-Login. Einloggen in MySQL:
sudo mysql -u root
Anpassungen:
MariaDB [(none)]> use mysql; MariaDB [mysql]> update user set plugin='' where User='root'; MariaDB [mysql]> flush privileges; MariaDB [mysql]> exit
Apache 2
Danach installieren wir den Webserver Apache 2.
sudo apt-get -y install apache2
Nun können wir schon mit dem Browser auf unsere IP, auf welcher unser Raspberry antwortet surfen: http://172.25.2.2/ und erhalten einen Willkommensbildschirm.
PHP 7
Weiter installieren wir PHP 7.3. Hierzu sollte Raspbian buster installiert sein: Die Version kann gewählt werden. Dann einfach php7.2-xx oder ähnlich verwenden.
sudo apt-get -t buster -y install php7.3 php7.3-mysql php7.3-curl php7.3-gd php7.3-zip php7.3-fpm php7.3-cli php7.3-opcache php7.3-json php7.3-mbstring php7.3-xml libapache2-mod-php7.3
Danach richten wir PHP 7 PFM, welches unter Apache 2 läuft ein.
sudo a2enmod proxy_fcgi setenvif sudo a2enconf php7.3-fpm sudo systemctl restart apache2
Serversoftware testen
Auf unserem Raspberry Pi können wir nun unsere erste PHP 7 Seite erstellen, eine PHP-Info Webpage. Dies kann einfach über ein erstes PHP-File erreicht werden.
sudo nano /var/www/html/info.php
Mit folgendem Inhalt.
<?php phpinfo(); ?>
Nun können wir wiederum mit dem Browser auf unsere IP des Raspberrys surfen und erhalten beim Aufruf von info.php (in Unserem Beispiel http://172.25.2.2/info.php) nachfolgende Seite.
Administrationssoftware installieren
Wir installieren phpMyAdmin (Stand des Downloads: 04.07.2019) und eine WordPress-Instantz. phpMyAdmin um die Datenbanken bearbeiten zu können. Dann als Ziel des Setups soll WordPress auf unserem Raspberry Pi laufen.
phpMyAdmin
cd /var/www/html/ sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip sudo unzip phpMyAdmin-4.9.0.1-all-languages.zip sudo mv phpMyAdmin-4.9.0.1-all-languages pma
Wir setzen im phpMyAdmin ein geheimes Passwort (blowfish_secret).
sudo nano pma/config.sample.inc.php
Wir gehen an die Stellen, an welcher sich blowfish_secret befindet geben und eine einmalige, krpytische Zeichenfolge ein. Dies muss pro phpMyAdmin Installation gemacht werden. Danach wird wir das Sample umbenannt.
sudo mv pma/config.sample.inc.php pma/config.inc.php
Nun können wir mittels Browser auf unsere Adresse aufs phpMyAdmin zugreifen: http://172.25.2.2/pma/ und erhalten folgende Seite, auf welcher wir mit dem Benutzer root und dem zuvor in der MariaDB-Installation festgelegtem Passwort einloggen können.
WordPress
WordPress installieren wir unter der Adresse /wordpress. Dazu laden wir WordPress und machen die allgemeinen Voreinstellungen.
cd /var/www/html sudo wget https://wordpress.org/latest.zip sudo unzip latest.zip sudo chown -R www-data:www-data wordpress/
Nun können wir schon mit unserem Browser auf http://172.25.2.2/wordpress. Uns fehlt noch eine Datenbank. Hier erstellen wir eine Datenbank und einen dazugehörenden Benutzer. Dies geschieht am einfachsten über phpMyAdmin.
Wir wählen uns ins phpMyAdmin ein, wählen Benutzerkonten und richten einen Neuen Benutzer ein. Es ist wichtig, dass wir gleich „Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte.“ anwählen. Somit wird ein Benutzer und eine Datenbank erstellt.
Nun richten wir WordPress ein, indem wir als erstes die Datenbankinformationen angeben und weiter die Seite konfigurieren.
Nach erfolgreicher WordPress-Installation ist das Raspberry ein komplett kleiner Webserver mit flexiblem Blog und CMS. Viel Spass!
Louis A. Venetz
Sehr gute Anleitung! Frage: Funnktioniert diese Anleitung auch mit dem neuen Raspbian 4.9 Stretch?
admin
Klar – die Anleitung ist erweitert.
Gerhard
Vielen Dank!
Die Anleitung hat mir beim Upgrade von php5 auf php7 auf dem RaspberryPi3 sehr geholfen. Hat alles wunderbar funktioniert.
Meine WordPress Seite ist nun wesentlich schneller!
Upgrade to PHP 7.0 gives a performance boost – Hardy's Homepage
[…] The upgrade procedure was done based on the detailed step by step description of this site. […]
K. Werner
führte bei mir zum Fehler „ERROR 1698 (28000): Access denied for user ‚root’@’localhost'“.
Abhilfe mit
Sebastian K.
Habe genau das gleiche Problem.
Wie hast du Abhilfe schaffen können?
Ralf
sudo mysql -u root -p
#….danach mit dem vorher vergebenen Kennwort anmelden und weiter nach Anleitung……
Patrick
Ich habe auf meinem RPi 3 B+ Raspbian Stretch installiert (SD-Karte formatiert und Image-Datei rauf gespielt) und bin der Anleitung gefolgt
Wenn ich
sudo nano /etc/apt/preferences
eingebe, erscheint ein leerer Editor, bei mir existiert also kein Datei „preferences“ in /etc/apt/
Ich habe dann eine neue Datei erstellt und die 3 Einträge laut Anleitung darin abgespeichert
Wenn ich aber ein Upgrade machen möchte, kommt folgender Fehler:
E: Paketdatei /etc/apt/preferences konnte nicht verarbeitet werden (1).
Was hab ich da falsch gemacht?
MvA
Vermutlich muss das File nicht mehr angepasst werden – also bitte leer lassen (oder löschen) und nochmals testen.
Patrick
Ja, ich habs mal gelöscht und weiter gemacht, dann hats mit dem Upgrade auch wieder geklappt
Aber ich bin schon beim nächsten Fehler angelangt…. :-S
Wenn man PHP installiert, soll laut Anleitung Raspbian Buster installiert sein
Ich habe aber noch Stretch auf meinem Pi
Also hab ich mal probiert, statt buster stretch einzugeben und die php-Dateien ohne Versionsnummern geschrieben, dann müsste ja automatisch die aktuellste Version heruntergeladen werden
Mein Pi arbeitet die Installationsliste gerade durch, und meldet bei jedem Paket:
Temporärer Fehlschlag beim Auflösen von >>raspbian.raspberrypi.org<<
Kann man die benötigten Pakete irgendwie mit Stretch installieren?
Oder muss ich Buster installieren?
MvA
Ein Mitarbeiter bei uns hat heute ein buster nach der Anleitung installiert und es hat soweit funktioniert. Die korrekte Quelle war im sources.list bereits drin und das preference File hat auch nicht existiert. Insofern wurde dieser Teil bei buster einfach weggelassen.
Ist wirklich die korrekte Quelle für stretch eingetragen? Der Befehl für PHP sollte lauten: sudo apt-get -t stretch -y install.
Prüfen Sie doch auch, ob eine Internetverbindung vom Raspberry auf die Sources vorhanden ist.
Patrick
Ich habe jetzt Buster installiert, da ich sowiso mal auf die neues Version aktualisieren wollte…
Die Anleitung funktioniert hier perfekt
(habe
sudo nano /etc/apt/sources.list
und
sudo nano /etc/apt/preferences
nicht geändert/erstellt)
Danke
Janna Kaminski
Hi,
danke für dieses umfangreiche tutorial. Hat mir sehr weitergeholfen.
Grüße
Klaus
Super. Nach 3 Stunden rumprobieren mit anderen Anleitungen habe ich neu aufgesetzt und mit dieser Anleitung hat alles (außer WP, wird nicht benötigt), bestens funktioniert. Vielen Dank.
Will
Super, hat alles perfekt funktioniert. Dankeschön
Johannes
Eine perfekte Anleitung, vielen Dank! Und alles hat auf Anhieb funktioniert! Ein kleiner Fehler hat sich eingeschlichen, bei dem Befehl mysql -u root muss ein sudo davor. Hat mich einen Moment gekostet, weil ich nicht dran gedacht hab.
Vielen Dank!
MvA
Danke für Ihre Rückmeldung und kleine Korrektur, welche nun eingepflegt ist!
spacytracy
Hallo
bei mir hat es nicht geklappt. Ich hatte PHP Version 7.20.1+b2 schon installiert. Die neue Version wird auch nicht angezeigt. Nach der Installation von PHP Admin erhalte ich nachfolgende Fehlermeldung beim einloggen (IP/pma).
phpMyAdmin – Fehler
Die Erweiterung mysqli fehlt. Bitte die PHP-Konfiguration überprüfen. Siehe unsere Dokumentation für mehr Informationen.
Maexx
Endlich mal eine Anleitung, mit der das Einrichten eines LAMP-Stacks auf dem Raspi für mich in einem Rutsch geklappt hat. Einfach nur klasse! Besten Dank dafür!
spacytracy
Nach einigem probieren hat es jetzt alles geklappt.
Alte Version von PHP removed
und für blowfish ein passwort zwischen ‚ ‚ eingetragen und nicht ersetzt
Denk815
Vielen lieben Dank!
ich beschäftige mich erst seit kurzem mit der Thematik und du hast mich ein großes stück weiter gebracht.
Super Anleitung!