GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Serviio Media Server auf Raspberry Pi

Ziel

Installieren Sie den Serviio-Mediendienst auf dem Raspberry Pi

Anforderungen

  • Ein Raspberry Pi mit einer funktionierenden Installation von Raspbian „Stretch“
  • Root-Rechte

Schwierigkeit

EINFACH

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder
    direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Einführung

Serviio ist ein in Java geschriebener Medienserver. Es ist in zwei Versionen erhältlich:die kostenlose (leider kostenlos wie bei Bier) und die „Pro“-Version, die einige zusätzliche Funktionen wie den Fernzugriff bietet. In diesem Tutorial behandeln wir die Installation von Serviio auf einem Raspberry Pi mit minimalen Versionen von Raspbian „Stretch“.

Installation von Abhängigkeiten

Serviio ist in Java geschrieben, daher müssen wir das Java Development Kit installieren, um es verwenden zu können. Es gibt zwei Versionen des JDK in den Raspbian Stretch Repositories:die Open-Source-Version, veröffentlicht unter GPLv2 Lizenz namens OpenJDK , und die kommerzielle, proprietäre Version von Oracle (das Paket heißt eigentlich oracle-java8-jdk). Beide sollten korrekt funktionieren, aber in diesem Tutorial werden wir ersteres verwenden.

# apt-get update && apt-get install --no-install-recommends openjdk-8-jdk ffmpeg x264

Besorgen und installieren Sie Serviio

Nachdem wir alle benötigten Pakete installiert haben, müssen wir uns den Serviio-Tarball schnappen:Da wir an einer Headless-Maschine arbeiten, werden wir wget verwenden um die Aufgabe zu erfüllen. Daher führen wir Folgendes aus:

wget http://download.serviio.org/releases/serviio-1.9-linux.tar.gz

Nachdem der Download abgeschlossen ist, können wir mit der eigentlichen Serviio-Installation fortfahren. Wir werden den Inhalt des Tarballs in /opt extrahieren Verzeichnis:Natürlich können Sie ein anderes wählen, aber /opt wird üblicherweise verwendet, um eigenständige Anwendungen von Drittanbietern zu hosten. Fahren wir fort:

# tar -xvzf serviio-1.9-linux.tar.gz -C /opt

Das -C Option (kurz für --directory ) weist tar an, in das angegebene Verzeichnis zu wechseln, bevor die Operationen ausgeführt werden.

Erstellen Sie den systemd-Dienst für Serviio

Nachdem Serviio nun installiert ist, können Sie beobachten, dass zwei Skripte in /opt/serviio-1.9/bin vorhanden sind Verzeichnis:serviio.sh und serviio-console.sh. Der erste startet den Server, der zweite die Schnittstelle zur Steuerung.

An diesem Punkt haben wir alles, was wir brauchen, um den systemd-Dienst zu erstellen, um serviio zu starten, wenn das System bootet. Um diese Aufgabe zu erfüllen, müssen wir eine kleine Servicedatei schreiben. Wie Sie sicherlich wissen, ist systemd das neue Linux-Init-System, das jetzt von allen wichtigen Distributionen übernommen wird. Es war die Quelle vieler Diskussionen in der Open-Source-Community, aber es ist zweifellos zum Standard geworden. Um den Dienst zu erstellen, starten Sie einfach Ihren bevorzugten Editor und erstellen Sie eine Datei namens serviio.service, die den folgenden Text enthält:

[Unit]
Description=Serviio media Server
After=syslog.target network.target

[Service]
User=serviio
ExecStart=/opt/serviio-1.9/bin/serviio.sh
ExecStop=/opt/serviio-1.9/bin/serviio.sh -stop

[Install]
WantedBy=multi-user.target

Die Beschreibung der Syntax einer systemd-Dienstdatei ist nicht der Zweck dieses Tutorials, aber beachten Sie bitte die Zeile mit dem User=serviio Anweisung. Was wir damit erreichen wollen, ist die Angabe, dass der Daemon mit dem serviio laufen muss Benutzerrechte und nicht als root, aus Sicherheitsgründen. Der serviio Benutzer existiert noch nicht, also erstellen wir ihn und geben ihm den Besitz des Verzeichnisses /opt/serviio-1.9 und aller darin enthaltenen Dateien:

# useradd -r -U -s /sbin/nologin serviio && chown -R serviio:serviio /opt/serviio-1.9

Sie sind wahrscheinlich mit useradd vertraut Befehl, aber lassen Sie uns der Klarheit halber spezifizieren, wofür die bereitgestellten Optionen sind. Das -r Option gibt an, dass wir ein system account erstellen möchten . Systemkonten haben keine Alterungsinformationen und eine uid mit einem Wert <1000; für solche Konten wird kein Home-Verzeichnis erstellt. Das -U Option weist das Programm an, auch eine Gruppe mit demselben Namen wie der Benutzer zu erstellen und den Benutzer automatisch zu dieser Gruppe hinzuzufügen. Abschließend mit -s , haben wir die Shell für den Benutzer angegeben. In diesem Fall haben wir /sbin/nologin verwendet das ist eine fake shell . Wir haben es aus Sicherheitsgründen verwendet:Auf diese Weise wird der Benutzer, unter dem der Dienst ausgeführt wird, niemals in der Lage sein, eine tatsächliche Shell zum Ausführen von Befehlen zu verwenden.

Da sind wir:Wir haben den Benutzer serviio erstellt und unsere Servicedatei geschrieben. Jetzt müssen wir es in das Verzeichnis /usr/systemd/system kopieren Verzeichnis:

# cp serviio.service /etc/systemd/system

Um den Dienst zu aktivieren, führen wir jetzt Folgendes aus:

# systemctl enable serviio.service

Starten Sie nun das System neu:Wenn alles gut geht, ist der serviio-Dienst bereits aktiv, wenn der Bootvorgang abgeschlossen ist. Sie können seinen Status überprüfen, indem Sie Folgendes ausführen:

$ systemctl status serviio.service

Systemd informiert Sie über den Status des Daemons, zum Beispiel:

● serviio.service - Serviio media Server
   Loaded: loaded (/etc/systemd/system/serviio.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-09-28 21:29:18 CEST; 31s ago
 Main PID: 420 (java)
   CGroup: /system.slice/serviio.service
           └─420 java -Xmx512M -Xms20M -XX:+UseG1GC -XX:GCTimeRatio=1 -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -Djava.net.preferIPv4Stack=true
[...]

Wie Sie sehen können, ist der Dienst aktiv und läuft, also lief alles wie erwartet. Wenn etwas schief geht und Probleme beim Starten des Dienstes auftreten, können Sie die mit demselben Befehl bereitgestellten Protokolle verwenden, um die Probleme zu beheben.

Wenn Sie auf Ihrem Computer eine Firewall ausführen, müssen Sie auch die Ports 8895/tcp öffnen , 1900/udp , 23423/tcp und 23424/tcp . Die letzten beiden Ports werden jeweils zur Steuerung der Konsole und zum Zugriff auf den Mediabrowser benötigt

Steuerungsdienst

Um serviio zu steuern, haben wir nur wenige Optionen. Da wir auf einer Headless-Maschine laufen, können wir nicht auf die grafische Konsole zugreifen, aber wir können auf die Weboberfläche zugreifen, indem wir zu http://yourmachineip:23423/console/ navigieren von einem anderen Computer im selben LAN oder verwenden Sie Anwendungen von Drittanbietern wie die Android-App „ServiiDroid“.

Eine vollständige Liste möglicher Optionen finden Sie hier:http://serviio.org/apps" . Wenn Sie die „Pro“-Version von serviio ausführen, können Sie Ihren Katalog auch durchsuchen, indem Sie den integrierten Mediabrowser verwenden, der unter http://yourmachineip:23424/mediabrowser/ verfügbar ist .


Debian
  1. So installieren Sie Plex Media Server unter Ubuntu 20.04

  2. So installieren Sie Plex Media Server unter Ubuntu 18.04

  3. So installieren Sie Plex Media Server unter CentOS 7

  4. So installieren Sie Plex Media Server unter Debian 9

  5. So installieren Sie Plex Media Server unter CentOS 7

So installieren Sie Ubuntu Server auf einem Raspberry Pi

So installieren Sie Jellyfin Media Server auf Ubuntu 20.04 LTS

So installieren Sie Plex Media Server auf Debian 9 Stretch

So installieren Sie Jellyfin Media Server unter Debian 11

So installieren Sie Plex Media Server unter Debian 11

So installieren Sie Plex Media Server unter Debian 10