Webserver auf Rasbian Buster installieren

Hallöchen, da wir heute mal wieder unseren Raspberry Pi für eine Reptiliensteuerung ausgegraben haben, möchten wir die Gelegenheit gleich nutzen um euch zu zeigen, wie ihr einen vollständigen Webserver mit Apache2, PHP, Mysql und PHPMyAdmin auf dem Raspberry Pi installieren könnt.

Update des Rpi

Wie jedes Linuxsystem bringen wir unseren Raspi erstmal auf den neusten Stand:

sudo apt update
sudo apt upgrade

Auf unserem Raspi dauert das einige Zeit also erstmal n Kaffee holen …
Ist der Raspi auf dem neusten Stand installieren wir gleich mal Apache2.

Apache2 installieren

Die Apache2-Installation besteht eigentlich nur aus einem Befehl und geht nun schonmal bedeutend schneller als das Upgrade von vorhin. Zugriffsrechte setzen und fertig.

sudo apt install apache2
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/

PHP installieren

PHP zu installieren geht eigentlich auch recht flott und ist mit diesem Befehl installiert:

sudo apt install php php-mbstring

Nun testen wir noch ob alles ordnungsgemäss läuft indem wir eine InfoPHP-Seite erstellen, wofür die index.html-Seite gelöscht werden muss.

sudo rm /var/www/html/index.html
echo "<?php phpinfo ();?>" > /var/www/html/index.php

nun einfach mal die IP des Raspis im Browser eingeben, wenn ihr so etwas ähnliches seht, «schauts scho mal guat aus» wie wir zu sagen pflegen.

MySQL-Installation

Für jede vernüftige Webapplikation benötigen wir aber eine Datenbank. Auf dem Rpi installieren wir hierfür MariaDB und die passende php-Extension mit folgendem Befehl:

sudo apt install mariadb-server php-mysql

Nach der Installation hat der User root allerdings kein Passwort, deshalb kämpfen wir uns noch kurz durch die Secure-Installation

mysql_secure_installation

Und beantworten die folgenden Fragen:

Enter current password for root (enter for none):
Remove anonymous users? [Y/n] ----> Y
Disallow root login remotely? [Y/n] ----> Y
Remove test database and access to it? [Y/n] ----> Y
Reload privilege tables now? [Y/n]----> Y

testen ob alles funktioniert hat können wir nun mit folgendem Befehl:

mysql -u root -p

PHPMyAdmin installieren

Nun installieren wir noch ein kleines Tool um unsere Datenbank administrieren zu können: PHPMyAdmin. Diese ist auch mit einem Befehl schnell installiert.

sudo apt install phpmyadmin

Die Installation kommt mit 2-3 Fragen daher, welche wir wie folgt beantworten:
Bei der ersten Frage wählen wir «Apache»
Beim dbconfig-common-Part sagen wir einfach «nein», da wir unsere Datenbank bereits konfiguriert haben. Nur noch 2 Befehle dann haben wirs geschafft:

sudo phpenmod mysqli
sudo /etc/init.d/apache2 restart


Testen mit <IP des Rpis>/phpmyadmin …

Fertig !!!

6 thoughts on “Webserver auf Rasbian Buster installieren

  1. Excelent!

    but what is with the „root@RBP01:~# mariadb
    ERROR 1045 (28000): Access denied for user ‚root’@’localhost‘ (using password: NO)

    1. you need a new user for phpmyadmin. Just login as root (sudo -s) and type „mysql“ to log into the mysql

      Now create a new user and give all privileges:
      CREATE USER ‚myuser‘ IDENTIFIED BY ‚mypassword‘;

      GRANT USAGE ON *.* TO ‚myuser’@localhost IDENTIFIED BY ‚mypassword‘;

  2. Hallo Jakob

    Vorab danke für das HowTo…optimal für einen Laien. Bzw. fast optimal 😉
    Ich scheitere am Punkt MySQL Passwort für root. Mein Raspbian Buster kennt das Kommando DROP nicht. Muss ich da noch ein Paket installieren?
    Zudem habe ich noch eine, hoffentlich für dich kleine bitte. Ich scheitere bei all meinen Versuchen einen lauffähigen Webserver für mein Webseiten Programm Siquando zu installieren. Scheitern heisst ich bin einige HowTo’s durchgegangen und es hat per dato nie funktioniert.
    Nein aber zur eigentlichen Bitte: könntest du hier noch die Einrichtung von ProFTPd zeigen? Denke das brauchen alle um die Daten auf den Webserver zu bringen. Hier scheiterte ich immer an den Rechten des Users bzw. dem Erstellen des FTPUsers.
    DANKE auf alle Fälle!
    Gruss Markus

    1. Hallo Markus
      Der DROP Befehl ist ein Mysql-Befehl, man muss diesen in der Mysql-Befehlszeile eingeben. Ich habe die Anleitung jedoch nun abgeändert und hoffe du hast keine Probleme mehr damit. Eine Anleitung für ProFTPd habe ich dir erstellt und findest du hier
      gruss Köbi

Schreibe einen Kommentar

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