Wie man einen Webserver auf dem Raspberry Pi installiert (Apache + PHP + MySQL)
ⓘ Dieser Artikel wurde möglicherweise teilweise oder vollständig mit automatischen Tools übersetzt. Wir entschuldigen uns für etwaige Fehler, die dadurch entstehen können.
Nach dem Erstellen der SD-Karte und dem ersten Start des Raspberry Pi ist die Wahrscheinlichkeit groß, dass Sie ihn als Webserver verwenden möchten.
Warum ein Raspberry Pi als Webserver?
Aber warum einen Raspberry als Webserver verwenden, anstatt einen auf Webhosting spezialisierten Dienstleister in Anspruch zu nehmen?
Erstens sollten Sie aus wirtschaftlicher Sicht wissen, dass Webhosting-Dienste nicht kostenlos sind und Sie jeden Monat/Jahr bezahlen müssen. Im Gegensatz zu den Raspberry, die nur brauchen, um eine Verbindung.
Zusätzlich durch die Wahl Raspberry, haben Sie die Möglichkeit, Ihre Dienste zu ändern, wie Sie wollen (Beispiele: die Größe der Festplatte, das Hosting von Datenbank, etc.), die in der Regel nicht der Fall mit spezialisierten Hosts, die oft verkaufen Shared-Hosting mit niedrigen Konfiguration Kapazität.
Um jedoch mehr Benutzer zu unterstützen, sollten Sie einen Raspberry Pi 3 verwenden (den Pi 3 finden Sie hier), den Raspberry Pi mit 1 GB RAM, und nicht den Raspberry Typ B + (512 MB RAM)
Die Frage, die sich nun stellt, ist, wie man einen Webserver auf dem Raspberry Pi macht?Installation du serveur Apache avec Raspbian
Was ist Apache?
Zunächst installieren wir Apache, den Webserver als solchen.
Wenn wir von einem Webserver sprechen, denken wir oft an die Maschine, aber dieser Begriff bezieht sich auch auf die Software, die es der Maschine ermöglicht, Benutzeranfragen (in http-Form) zu analysieren und die der Anfrage entsprechende Datei zurückzugeben (oder eine Fehlermeldung, wenn die Datei nicht gefunden wird oder die Anfrage falsch formuliert ist).
Als Teil von Apache ist es die Software, über die wir sprechen.
Zurzeit ist Apache der meistgenutzte Webserver, mit etwa 60% Marktanteil. Apache hat eine eigene Lizenz, die von vielen anderen Projekten genutzt wird. Darüber hinaus hat der massive Einsatz von Apache (der zum Standard für Webserver geworden ist), gepaart mit seiner hohen Popularität, zu einer enormen Fülle von Dokumentationen, Kursen und anderen Büchern geführt, die sich mit seiner Verwendung und seiner Sicherheit beschäftigen, wie dieses Buch.
Ob für den Raspberry Pi und Raspbian oder für einen allgemeineren Rechner, Apache ist daher eine sichere Wahl, und die Kenntnisse, die Sie zu diesem Thema erwerben können, werden immer nützlich sein.
Apache-Installation
Bevor wir den Server installieren, stellen wir sicher, dass wir einen aktuellen Rechner haben. Dazu müssen wir Administratorrechte haben, entweder durch den sudo-Befehl.
sudo apt updatesudo apt upgradesudo apt update
Sobald der Raspberry Pi auf dem neuesten Stand ist, werden wir den Apache-Server installieren.
sudo apt install apache2
Bei der Gelegenheit werden wir es uns zunutze machen, der apache-Datei Rechte zu geben, damit man seine Seiten einfach verwalten kann. Um dies zu tun, führen Sie die folgenden Befehle aus:
sudo chown -R pi:www-data /var/www/html/sudo chmod -R 770 /var/www/html/
Prüfen Sie, ob Apache funktioniert
Nachdem die Installation abgeschlossen ist, können wir testen, ob Apache ordnungsgemäß funktioniert, indem wir auf die Raspberry-Adresse zugreifen.
Um dies zu tun, ist es notwendig, zu versuchen, auf den Raspberry von Port 80 zuzugreifen (dieser Port wird nicht von außen geöffnet, es wird zu tun haben, da der Raspberry selbst). Keine Sorge, es ist sehr einfach. Öffnen Sie einfach den Webbrowser des Raspberrys und gehen Sie zu „http://127.0.0.1“. Sie sollten dann eine Seite mit einer Meldung wie „Es funktioniert! “ und vielem anderen Text.
Wenn du noch keine GUI auf deinem Raspbian hast, oder du SSH verwendest, um dich mit deinem Raspberry zu verbinden, kannst du den folgenden Befehl verwenden:
wget -O check_apache.html http://127.0.0.1
Dieser Befehl speichert den HTML-Code der Seite in der Datei „check_apache.html“ im aktuellen Verzeichnis.
So müssen Sie die Datei nur noch mit dem Befehl
cat ./check_apache.html
Wenn Sie an einer Stelle im Code „It works! “ sehen, bedeutet das, dass Apache funktioniert.
Apache verwendet das Verzeichnis „/var/www/html“ als Stammverzeichnis für Ihre Website. Das bedeutet, wenn Sie Ihren Raspberry auf Port 80 (http) aufrufen, sucht der Apache nach der Datei in „/var/www/html“.
Wenn Sie zum Beispiel die Adresse „http://127.0.0.1/example“ aufrufen, sucht der Apache nach der Datei „example“ im Verzeichnis „/var/www/html“.
Um neue Dateien, Sites, etc. hinzuzufügen, müssen Sie sie zu diesem Verzeichnis hinzufügen.
Sie können nun Ihren Raspberry verwenden, um intern eine Website in HTML, CSS und JavaScript zu erstellen.
Allerdings möchten Sie vielleicht schnell Interaktionen zwischen der Website und dem Benutzer ermöglichen. Zum Beispiel, um dem Benutzer die Möglichkeit zu geben, sich zu registrieren, usw. Dafür benötigen Sie PHP.
PHP-Installation auf Ihrem Raspberry Pi
Was ist PHP?
Zunächst sollten Sie wissen, dass PHP eine interpretierte Sprache ist. Und wie bei Servern kann das Akronym PHP mehrere Bedeutungen haben. Wenn wir von PHP sprechen, können wir entweder die Sprache oder den Interpreter meinen.
Wenn wir hier von der Installation von PHP sprechen, bedeutet das, dass wir den Interpreter installieren, um die Sprache nutzen zu können.
PHP (diesmal die Sprache) wird hauptsächlich verwendet, um eine Website dynamisch zu machen, d.h. der Benutzer sendet Informationen an den Server, der die geänderten Ergebnisse entsprechend dieser Informationen zurückgibt. Im Gegensatz dazu passt sich eine statische Website nicht an die vom Benutzer bereitgestellten Informationen an. Sie wird einmal als Datei gespeichert und liefert immer denselben Inhalt.
PHP ist kostenlos und wird von der PHP Foundation sowie von Zend Enterprise und verschiedenen anderen Unternehmen gepflegt (es sei darauf hingewiesen, dass Zend auch der Autor des berühmten Zend-PHP-Frameworks ist, das in der Welt des “ Business weit verbreitet und anerkannt ist).
Es handelt sich um eine der am weitesten verbreiteten Programmiersprachen, und mit einem Marktanteil von 79% ist es sogar die am häufigsten verwendete für die Webprogrammierung.
Auch hier sind alle Kenntnisse, die Sie sich aneignen können, sei es über die Sprache oder über die Installation und Konfiguration des Interpreters, immer nützlich. Wir können Ihnen also nur raten, PHP zu lernen, das wirklich eine wunderbare Sprache ist und zu oft unterschätzt wird.
Wie man PHP installiert
Wir werden wieder den Administrator benutzen, um PHP mit der Kommandozeile zu installieren.
sudo apt install php php-mbstring
Kontrolle, ob PHP funktioniert
Um zu wissen, ob PHP richtig funktioniert, ist es nicht sehr kompliziert, und die Methode ist ziemlich ähnlich der, die für Apache benutzt wird.
Löschen Sie zunächst die Datei „index.html“ im Verzeichnis „/var/www/html“.
sudo rm /var/www/html/index.html
Erstellen Sie dann eine Datei „index.php“ in diesem Verzeichnis mit dieser Befehlszeile
echo "<?php phpinfo ();?>" > /var/www/html/index.php
Von dort aus ist der Vorgang der gleiche wie bei der Apache-Überprüfung. Versuchen Sie, auf Ihre Seite zuzugreifen, und Sie sollten ein Ergebnis erhalten, das diesem Bild ähnelt (wenn Sie keine Schnittstelle haben, verwenden Sie die gleiche Methode wie zuvor, und suchen Sie nach den Worten „PHP Version“).
Tabelle, die durch den phpinfo-Befehl auf einem Raspberry erzeugt wird.
Eine MySQL-Datenbank für Ihren Server
Ein DBMS, was ist das? Warum MySQL?
Nachdem wir nun PHP eingerichtet haben, werden Sie wahrscheinlich Informationen zur Verwendung auf Ihren Websites speichern wollen. Zu diesem Zweck werden am häufigsten Datenbanken verwendet.
Wir werden daher ein DBMS (Database Management System) einrichten, nämlich MySQL.
MySQL ist ein kostenloses, leistungsfähiges und viel genutztes DBMS (etwa 56% Marktanteil bei den kostenlosen DBMS). Auch hier ist MySQL so wichtig für die Entwicklung, egal in welcher Sprache, dass Sie es unbedingt lernen und beherrschen müssen, zum Beispiel mit diesem Buch.
So installieren Sie MySQL
Zu diesem Zweck installieren wir mariadb-server und php-mysql (das als Bindeglied zwischen php und mysql dient)
sudo apt install mariadb-server php-mysql
Überprüfen Sie, ob MySQL richtig funktioniert
Um den Betrieb von MySQL zu überprüfen, verwenden wir diesmal nur die Befehlszeile. Dazu verbinden wir uns einfach über den Befehl:
sudo mysql --user=root
Wir löschen den Standard-MySQL-Root-Benutzer und erstellen einen neuen MySQL-Root-Benutzer, da der Standard-Benutzer nur mit dem Linux-Root-Konto verwendet werden kann und daher für den Webserver und die PHP-Skripte nicht verfügbar ist.
Um dies zu tun, führen Sie nach der Verbindung mit MySQL einfach diese Befehle aus (ersetzen Sie password
durch das gewünschte Passwort) :
DROP USER 'root'@'localhost';CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
So haben Sie nun einen Webserver, der mit PHP und MySQL verbunden ist. Das ist alles, was es braucht.
(Bei Ihren nächsten Verbindungen können Sie sich ohne sudo mit dem Befehl mysql --user=root --password=yourmysqlpassword
mit mysql verbinden).
Hinzufügen PHPMyAdmin
Die Installation von PHPMyAdmin ist absolut nicht notwendig. Bei dieser Installation werden wir uns nicht um spezielle Sicherheitseinstellungen kümmern !
Die PHPMyAdmin-Installation ist ziemlich schnell und einfach, wir müssen nur den Paketmanager mit diesem Befehl benutzen :
sudo apt install phpmyadmin
Das PHPMyAdmin-Installationsprogramm wird dir einige Fragen stellen. Den dbconfig-common
-Teil können Sie ignorieren (da wir unsere Datenbank bereits konfiguriert haben). Bei der Frage nach dem Server, für den PHPMyAdmin konfiguriert werden soll, wählen Sie Apache. Und das Root-Passwort ist das, das du für MySQL festgelegt hast.
Du solltest auch die mysqli-Erweiterung mit dem obigen Befehl aktivieren:
sudo phpenmod mysqlisudo /etc/init.d/apache2 restart
Prüfe, ob PHPMyAdmin richtig funktioniert
Um zu prüfen, ob PHPMyAdmin funktioniert, versuchst du einfach, darauf zuzugreifen, indem du die Adresse deines Raspberrys gefolgt von /phpmyadmin verwendest. Lokal ist das zum Beispiel http://127.0.0.1/phpmyadmin
Wenn du immer noch eine Fehlermeldung bekommst, könnte es sein, dass PHPMyAdmin in ein anderes Verzeichnis umgezogen ist. In diesem Fall versuche es mit dem Befehl
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Jetzt können wir vom Browser des Raspberry Pi aus auf PHPMyAdmin zugreifen, mit der URL: http://127.0.0.1/phpmyadmin
Server aus dem Web zugänglich machen
Dein Webserver ist fertig. Allerdings können Sie ihn wahrscheinlich nicht vom Internet aus erreichen. In der Tat wäre es notwendig, dass Ihr Modem die Anfragen an Ihren Raspberry umleitet, die guten Ports.
Um diese Umleitungen einzurichten und sogar eine URL zu erhalten, sollten Sie sich mit DynDNS und Portweiterleitung beschäftigen!