Kleiner Raspberry Pi Server der alles kann. (Kurzanleitung)

 

Wichtig zu wissen für alle, die mit einem Content Management System arbeiten wollen, wie zum Beispiel Joomla oder Wordpress!

Die standart Methode um ein Raspberry Pi zu installieren und betreiben, ist das Betriebssysem auf einer SD Karte zu installieren. Nach dieser Anleitung befindet sich auch die Datenbank auf der SD Karte. Da bei diesen Systemen viel auf die Datenbank zugreifen wird und dies die SD Karte recht schnell beschädigt. Ist diese Art der Installation nicht die richtige Wahl!

 

Für die Leute, die nur einen Mediaserver betreiben wollen.

Ihr könnt eigentlich bereits nach dem zweiten Punkt: 2 Media Server einrichten aufhören und neu Booten. Unten, nach Punkt 7, sind noch ein paar Infos.
Willst du später doch mehr, können die restlichen Punkte zu einem Späteren Zeitpunkt ausgeführt werden.

 

Wer einen Mediaserver und einen DNS Server will, aber kein Intranet aufbauen will.

Das funktioniert natürlich auch. Der Arbeitet nur die Punkte 1, 2 und 4 ab. Unten, nach Punkt 7, sind noch ein paar Infos.
Willst du später mehr, kann nachträglich Punkt 3 ausgeführt werden. Sollte PiHole danach nicht mehr richtig laufen hilft in vielen fällen ein update mit dem Konsolebefehl pihole -up

 

Aber jetzt get's los!

Diese Anleitung ist für diese Person die weis, wie ein Raspberry funktioniert und auch was mit SQL, HTML, cURL und PHP anzufangen weis, das ganze Lokal zusammen mit Mediaserver und PIHole auf einem System will. Wer das jetzt nicht verstanden hat, empfehle zuerst etwas mit den Themen zu befassen. Ich benutze ein Raspberry 4, daran hängt eine USB 3 Festplatte. Gerade beim Kopieren von grossen Videodateien auf den Mediaserver, besitzt er deutliche Geschwindigkeitsvorteile. Er sollte wegen der Geschwindigkeit und Systemstabilität auch per Kabel ans Netzwerk angeschlossen werden.

Zukünftige Projekte die ich hier vorstelle die Datenbanken benötigen oder sonst irgendwie Netzwerktauglich sind. Werden auf dieses System angepasst und lauffähig sein. Somit sollte jedes Projekt klar nachbaubar sein und nicht abhängig von dritten.

Wichtig ist die Reihenfolge, da teilweise benötigte Pakete von mehreren benutzt werden. Ansonsten klappt die Installation nicht oder Konfigurationsdateien werden überschrieben.

 

1 Raspian installieren

  • raspi-config ausführen
  • Speicher vergrössern
  • SSH Aktivieren
  • apt-get update
  • apt-get dist-upgrade
  • apt-get autoremove

 

2 Media Server einrichten

wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash

Im Browser IP von Raspberry PI eingeben und einloggen.

  • Benutzer: admin PW: openmediavault
  • Allgemeine Einstellungen Port 81 wählen.
  • Erweiterung miniDLNA hinzufügen.
  • Dienste: DLN, SMB/CIFS und SSH aktivieren
  • Freigegebene Ordner: Ordner hinzufügen z.B. httpdocs, Video, Musik (httpdocs wird später benutz für Webseiten)
  • Dienste, SMB/CIFS, Freigeben: Hinzufüge aller erstellten Ordner.
  • Dienste, DLNA, Freigeben: Die Ordner Video, Musik freigeben und Mediatyp wählen.

Neu booten

 

3 Intranet und Datenbank einrichten

 

Für diese installation geht man am besten nach der Anleitung im untenstehendem Forum vor.

https://raspifun.de/viewtopic.php?t=16

 

4 DNS Server einrichten

curl -sSL https://install.pi-hole.net | bash

  • DNS Server: 1.0.0.1 und 1.1.1.1 verwenden oder cloudfire.
  • Router DNS Server IP von Raspery eintragen 

 

5 Verzeichnis auf Festplatte mit hostordner verknüpfen

sudo ln -s  /srv/dev-disk-by-NAME_ANPASSEN! /httpdocs/var/www/html

neu booten

 

6 cURL einrichten, wird z.B. von Pushbullet benutzt

apt-get install php-curl

 

7 exec befehl aktivieren

Dem User www-data der Usergruppe video zuortnen. Wird benötigt damit, in PHP-Skript,  Commandozeilen mit exec ausgeführt werden können.

sudo usermod -aG video www-data

neu booten

 

 8 Updates

Update vom Raspberry Pi. Der befehl aktualisiert den Raspberry Pi zusammen mit dem Mediaserver.

sudo apt-get update && apt-get dist-upgrade -y

Pihole hingegen braucht ein seperates Update. Zum einen kann man über das Webinterface unter Tools mit Update Gravity die blockierten Seiten updaten. Scrollt man im Webinterface ganz nach unten, wird dort die Programmversion angezeigt. Zugleich erscheint dort ein hinweis, wenn es eine neue Programmversion gibt. Dies funktioniert aber nur über die Konsole.

sudo pihole -up

Für ein Update von PHP 7 auf PHP 8 muss alles ab Punkt 3 widerholt werden. Da stellt sich aber schnell mal die Frage ob eine komplette neu Installation nicht sauberer währe.

 

Erreichbarkeit Intranet

Es können an zwei Orten Dateien abgelegt werden, für das Intranet. Entweder auf die SD Karte, in das /httpdocs/var/www/ Verzeichnis. Dies muss aber über SSH oder Remote Desktop Verbindung geschehen. Hat den Vorteil, das die Seite direkt über die IP aufzurufen ist. Aber Dieses Verzeichnis liegt aus der SD Karte und viele zugriffe zerstören die SD Karte.

Der zweite ablagepunkt findet man unter Netzwerk //RASPBERRY in dem Ordner httpdocs. Diser befindet sich auf Der Festplatte. Nachteil hier ist, das im Browser über IP/httpdocs/ aufzurufen ist. 

 

Erreichbarkeit im Dateimanager

In Windows 10 im Explorer werden die im SMB/CIFS Freigegebene Ordner unter Netzwerk/RASPBERRY angezeigt.

 

Erreichbarkeit im Browser

Intranet   =>   http:// IPADRESSE /httpdocs/
PHPmyAdmin   =>   http:// IPADRESSE /phpmyadmin/
PIhole   =>    http:// IPADRESSE /admin/
Openmediavault    =>   http:// IPADRESSE :81/

 

Solltet Ihr anschliessend Probleme mit der SQL Datenbank haben, schaut mal diesen Forumbeitrag an: Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable · Issue #15574 · phpmyadmin/phpmyadmin · GitHub