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 auf Rasbian Buster installieren könnt, das Ganze mit Apache2, PHP, Mysql und PHPMyAdmin.
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 …
Das wars auch schon mit dem Tutorial Webserver auf Rasbian Buster installieren. Wenn Ihr weitere RaspberryPi Tutorials sucht, findet ihr z.B. eine Anleitung wie man einen Taster ansteuert hier oder hier. Viel Spass
Excelent!
but what is with the “root@RBP01:~# mariadb
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
Hello
I changed the tutorial to a more simple solution. Try using mysql -u root -p and enter your rootpassword.
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’;
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
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
Hallo,
ich habe das Tutorial schritt für Schritt befolgt. Mehrmals. Mit einer Ausnahme mysql_secure_installation und mysql – u root -p lässt mein Pi nicht zu ohne ein sudo davor. Schon bei der secure installation bringt er mir ohne sudo ein fehler beim blanken passwort, also nur enter.
Wenn ich nun alles zu ende installiert habe und versuche von einem anderen Rechner auf phpMyAdmin zuzugreifen bringt er folgenden fehler:
#1698 – Access denied for user ‘root’@’localhost’ am oberen Rand vom Login und
mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’
Woran könnte das liegen und wie behebe ich das? Nach 2 Tagen macht es irgendwann kein Spaß mehr.
Viele Grüße
Hallo Sven
Versuche mal «root» Zugang zu den Datenbanken zu geben:
mysql -u root -p
GRANT USAGE ON *.* TO ‚root’@localhost IDENTIFIED BY ‚meinrootpasswort‘;