GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar el servidor de medios Serviio en Raspberry Pi

Objetivo

Instale el servicio multimedia Serviio en Raspberry Pi

Requisitos

  • Una Raspberry Pi con una instalación funcional de Raspbian "Stretch"
  • Privilegios de raíz

Dificultad

FÁCIL

Convenios

  • # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea
    directamente como usuario root o mediante el uso de sudo comando
  • $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios

Introducción

Serviio es un servidor de medios escrito en Java. Está disponible en dos versiones:la gratuita (lamentablemente gratis como en la cerveza) y la versión “pro”, que viene con algunas características adicionales como el acceso remoto. En este tutorial, cubriremos la instalación de Serviio en una Raspberry Pi con versiones mínimas de Raspbian "Stretch".

Instalando dependencias

Serviio está escrito en java, por lo tanto debemos instalar el kit de desarrollo de java para poder utilizarlo. Hay dos versiones del JDK en los repositorios de Raspbian Stretch:la versión de código abierto, publicada bajo la GPLv2 licencia, llamada OpenJDK , y la versión comercial propietaria de Oracle (el paquete en realidad se llama oracle-java8-jdk). Ambos deberían funcionar correctamente, pero en este tutorial usaremos el primero.

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

Consigue e instala Serviio

Ahora que hemos instalado todos los paquetes necesarios, debemos agarrar el tarball de Serviio:como estamos trabajando en una máquina sin cabeza, usaremos wget para cumplir con la tarea. Por lo tanto, ejecutamos:

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

Una vez finalizada la descarga, podemos proceder a la instalación real de Serviio. Vamos a extraer el contenido del tarball dentro del /opt directorio:obviamente, puede elegir otro, pero /opt se usa convencionalmente para alojar aplicaciones independientes de terceros. Procedamos:

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

El -C opción (abreviatura de --directory) ) le indica a tar que cambie el directorio al dado, antes de realizar las operaciones.

Crear el servicio systemd para Serviio

Ahora que Serviio está instalado, puede observar que existen dos scripts dentro del /opt/serviio-1.9/bin directorio:serviio.sh y servio-console.sh. El primero lanza el servidor mientras que el segundo la interfaz para controlarlo.

En este punto, tenemos todo lo que necesitamos para crear el servicio systemd para iniciar serviio cuando se inicia el sistema. Para realizar esta tarea, debemos escribir un pequeño archivo de servicio. Como seguramente sabrá, systemd es el nuevo sistema de inicio de Linux, ahora adoptado por todas las principales distribuciones. Ha sido fuente de muchas discusiones en la comunidad de código abierto, pero sin duda se ha convertido en el estándar. Para crear el servicio, simplemente inicie su editor favorito y cree un archivo llamado serviio.service que contenga el siguiente texto:

[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

Describir la sintaxis de un archivo de servicio systemd no es el propósito de este tutorial, pero observe la línea que contiene el User=serviio instrucción. Lo que queremos obtener con él, es especificar que el daemon debe correr con el serviio privilegios de usuario y no como root, por razones de seguridad. El serviio el usuario aún no existe, así que vamos a crearlo y darle la propiedad del directorio /opt/serviio-1.9 y todos los archivos que contiene:

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

Probablemente estés familiarizado con el useradd comando, pero en aras de la claridad, especifiquemos para qué son las opciones proporcionadas. El -r La opción especifica que queremos crear una system account . Las cuentas del sistema no tienen información de antigüedad y un uid con un valor <1000; para tales cuentas no se crea ningún directorio de inicio. El -U La opción indicará al programa que cree también un grupo con el mismo nombre que el usuario, y automáticamente agregará al usuario a dicho grupo. Finalmente con -s , especificamos el shell para el usuario. En este caso usamos /sbin/nologin que es un fake shell . Lo usamos por razones de seguridad:de esta manera, el usuario, el servicio se está ejecutando, nunca podrá usar un shell real para ejecutar comandos.

Ahí estamos:hemos creado el usuario serviio y escrito nuestro archivo de servicio. Ahora debemos copiarlo en el /usr/systemd/system directorio:

# cp serviio.service /etc/systemd/system

Para habilitar el servicio que ahora ejecutamos:

# systemctl enable serviio.service

Ahora, reinicie el sistema:si todo va bien, el servicio de serviio ya estará activo cuando se complete el proceso de arranque. Puede verificar su estado ejecutando:

$ systemctl status serviio.service

Systemd le informará sobre el estado del demonio, por ejemplo:

● 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
[...]

Como puede ver, el servicio está activo y en ejecución, por lo que todo salió como se esperaba. Si algo sale mal y hay problemas para iniciar el servicio, puede usar los registros proporcionados por el mismo comando para resolver los problemas.

Si está ejecutando un firewall en su máquina, también debe abrir los puertos 8895/tcp , 1900/udp , 23423/tcp y 23424/tcp . Los dos últimos puertos son necesarios respectivamente para controlar la consola y acceder al navegador de medios

Servicio de control

Para controlar el serviio, tenemos pocas opciones. Dado que estamos ejecutando en una máquina sin periféricos, no podemos acceder a la consola gráfica, pero podemos acceder a la interfaz web navegando a http://yourmachineip:23423/console/ desde otra máquina en la misma LAN o use aplicaciones de terceros como la aplicación de Android "ServiiDroid".

Una lista completa de posibles opciones está disponible aquí:http://serviio.org/apps" . Si está ejecutando la versión "pro" de serviio, también podrá explorar su catálogo utilizando el navegador de medios integrado accesible en http://yourmachineip:23424/mediabrowser/ .


Debian
  1. Cómo instalar Plex Media Server en Ubuntu 20.04

  2. Cómo instalar Plex Media Server en Ubuntu 18.04

  3. Cómo instalar Plex Media Server en CentOS 7

  4. Cómo instalar Plex Media Server en Debian 9

  5. Cómo instalar Plex Media Server en CentOS 7

Cómo instalar Ubuntu Server en una Raspberry Pi

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS

Cómo instalar Plex Media Server en Debian 9 Stretch

Cómo instalar el servidor multimedia Jellyfin en Debian 11

Cómo instalar Plex Media Server en Debian 11

Cómo instalar Plex Media Server en Debian 10