Baue einen Raspberry Pi LAMP Stack Webserver mit PHPMyAdmin und Filezilla

WARNUNG Wir raten niemandem, eine öffentlich zugängliche Website auf einem Raspberry Pi zu betreiben, oder gar auf einem Heim- oder Büroserver. Wir haben keinen Versuch unternommen, den Webserver sicher zu machen, da dies für unser Projekt kein Thema war. Es wären weitere Untersuchungen erforderlich, um den LAMP-Stack zu härten, bevor der Server im Internet veröffentlicht werden könnte.

Linux installieren

  • Betriebssystem Raspbian (basierend auf Debian Linux)
  • Benutzen Sie die Benutzeroberfläche, um ein Anmeldepasswort festzulegen und die automatische Anmeldung zu deaktivieren
  • Benutzen Sie die Benutzeroberfläche, um eine feste IP-Adresse und einen benutzerdefinierten Hostnamen festzulegen
  • Rebooten Sie und melden Sie sich mit Ihrem neuen Passwort an
  • Aktualisieren Sie mit sudo apt-get update und sudo apt-get dist-upgrade (ein guter Zeitpunkt, um sich eine Tasse Tee zu machen, da es eine Weile dauert)
  • Ein letzter Neustart, da eines oder mehrere der Upgrades dies erfordern

Installieren Sie Apache

sudo apt-get install apache2 -y

Testen Sie lokal, indem Sie Öffnen Sie den Webbrowser des Pi und besuchen Sie http://localhost/ und testen Sie optional auch über einen Netzwerkcomputer, indem Sie http://your-pi’s-ip-address

Dateien werden in /var/www/html/ gespeichert – um das Leben einfach zu machen, habe ich allen Benutzern Schreibzugriff auf diesen Ordner gegeben:

sudo chmod -R 777 /var/www/html

Wir werden wissen, ob dies funktioniert hat, wenn wir im nächsten Schritt PHP testen.

PHP installieren

sudo apt-get install php libapache2-mod-php -y

Sie können PHP testen, indem Sie die standardmäßige index.html-Datei durch eine index.php-Datei (sie sollte phpinfo(); enthalten) in /var/www/html ersetzen – wenn Sie feststellen, dass Sie in diesem Verzeichnis keine Dateien löschen, erstellen oder ändern können, dann überprüfen Sie, ob Sie die Berechtigungen im obigen Schritt gesetzt haben

TIP Bis jetzt war der Prozess narrensicher, aber ich fand, dass die korrekte Konfiguration von MySQL und seinen Nutzern eine Art Trial-and-Error-Prozess war. Ich brauchte mehrere Anläufe, um das untenstehende System zu finden – das vielleicht nicht für Sie richtig ist oder immer noch stimmt, wenn Sie dies lesen. Dies könnte ein guter Zeitpunkt sein, um ein Image der SD-Karte Ihres Pi zu erstellen, damit Sie experimentieren und bei Bedarf schnell zu diesem Schritt zurückkehren können.

MySQL Server installieren

sudo apt-get install mysql-server php-mysql -y

Die Installation fragt nicht mehr nach einem Passwort für root, stattdessen müssen Sie

sudo mysql_secure_installation

ausführen und ein paar Fragen beantworten. Denken Sie daran, dass es sich hier um den MySQL-Root-Benutzer und NICHT um den Linux-Root-Benutzer handelt. Sie können also verschiedene Passwörter verwenden, wenn Sie wollen – Sie müssen nur gut Buch führen.

Starten Sie den Apache neu:

sudo service apache2 restart

Versuchen Sie nun, sich bei MySQL als neuer Root-Benutzer anzumelden, und geben Sie das soeben eingerichtete Passwort ein, wenn Sie dazu aufgefordert werden:

mysql -u root -p

Wenn Ihr Zugriff verweigert wird, müssen Sie die folgenden zusätzlichen Schritte durchführen.

Zunächst verwenden Sie sudo, um sich bei MySQL anzumelden:

sudo mysql -u root

Zugriff auf die MySQL-Tabelle:

 USE mysql;

Und nun der magische Teil:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

dann

FLUSH PRIVILEGES;

jetzt

quit

und

service mysql restart

dann versuchen Sie erneut, sich wie oben beschrieben anzumelden – d.h. ohne sudo. Wenn du nicht weiterkommst, fang an zu googeln – mach nicht weiter, bevor du diesen Schritt geknackt hast.

Installieren Sie PHPMyAdmin (optional)

Sie benötigen dies vielleicht nicht, aber für mein Projekt habe ich mich entschieden, die MySQL-Administrations-GUI zu installieren, mit der ich am besten vertraut bin – PHPMyAdmin.

sudo apt-get install phpmyadmin

(Bestätigen Sie, dass Sie fortfahren möchten, wählen Sie den Apache2-Server aus, klicken Sie auf „Ja“ für die Paketkonfiguration, geben Sie ein Kennwort an und notieren Sie es. Wenn Sie das Passwort leer lassen, wird ein zufälliges Passwort erstellt, das Ihnen aber nicht mitgeteilt wird!

Bearbeiten Sie die Datei /etc/apache2/apache2.conf, indem Sie die Zeile

include /etc/phpmyadmin/apache.conf

am Ende der Datei hinzufügen.

Starten Sie Apache neu:

sudo /etc/init.d/apache2 restart

Testen Sie, indem Sie http://localhost/phpmyadmin besuchen und sich mit dem Benutzernamen phpmyadmin und dem Passwort anmelden, das Sie bei der Einrichtung angegeben haben.

Installieren Sie den FTP-Client Filezilla (optional)

Es gibt viele Möglichkeiten, mit FTP umzugehen, aber ich habe mich dafür entschieden, bei dem zu bleiben, was ich kenne, und Filezilla zu installieren:

sudo apt-get install filezilla

Der wichtigste Schritt!

Wenn Sie sicher sind, dass alles funktioniert, stellen Sie sicher, dass Sie ein Image der SD-Karte erstellen, damit Sie eventuelle Probleme schnell beheben können. SD-Karten sind nicht sehr robust oder langlebig, also rechne damit, dass sie ausfallen und plane entsprechend. Sie werden es Ihnen danken!

Abschluss

Mit Ausnahme der Installation von MySQL ist der Prozess unglaublich schnell und einfach. Der resultierende Server ist zuverlässig und mehr als fähig, das WordPress-basierte Admin-Tool auszuführen, das wir ins Haus holen wollten. Der Pi-basierte Webserver steht jetzt neben unserem Pi-basierten NAS-Laufwerk und wir fragen uns, was wir als nächstes bauen können!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.