Auf Raspbian Jessie / Stretch / Buster: Apache, PHP 7.3, MariaDB & WordPress installieren

Eine komplette Umgebung.

Ausgangslage

Wir installieren auf einem Raspberry Pi, auf welchem das Grundbetriebsystem Raspbian Jessie oder Raspbian Stretch 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:

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.

Raspbian Apache 2 Welcome-Seite

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.

PHP 7.3 PHPinfo

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.

PHPMyAdmin Login-Screen

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.

7 Kommentare

    Sehr gute Anleitung! Frage: Funnktioniert diese Anleitung auch mit dem neuen Raspbian 4.9 Stretch?

    Antworten

    Klar – die Anleitung ist erweitert.

    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!

    Antworten

    führte bei mir zum Fehler „ERROR 1698 (28000): Access denied for user ‚root’@’localhost'“.
    Abhilfe mit

    Antworten

    Habe genau das gleiche Problem.
    Wie hast du Abhilfe schaffen können?

    sudo mysql -u root -p

    #….danach mit dem vorher vergebenen Kennwort anmelden und weiter nach Anleitung……

Kommentar schreiben

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.