Navigation

Subscribe

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!

Instalar Plex server en raspbian (Viejo método)

Hace poco compre un Raspberry pi v2 y pues decidí ponerlo como media server, está guía es sobre como instalar Plex media server en este dispositivo.
Los pasos los he sacado del siguiente tutorial en ingles:
https://bitbucket.org/inkubux/cubox-i/wiki/Plex%20Wheezy

Aquí pueden encontrar el NUEVO METODO.

Una nota importante es que todos los comandos hay que introducirlos como usuario root, ya sea logueados como root o usando el comando sudo.

Instalar Plex media server dentro de un entorno chroot

Montaje de chroot

Configurar el entorno chroot:

apt-get install debootstrap libexpat1  
debootstrap --no-check-gpg --arch=armel wheezy /chroots/wheezy-armel ftp://ftp.debian.org/debian/  

Luego de la instalación hay que configurar los puntos de montaje en /etc/fstab lo que sifnifica entrar al fichero y agregar al final lo siguiente:

# Chroot bind mounts
/home        /chroots/wheezy-armel/home        none bind 0 0
/mnt         /chroots/wheezy-armel/mnt         none bind 0 0
/tmp         /chroots/wheezy-armel/tmp         none bind 0 0
/proc        /chroots/wheezy-armel/proc        proc defaults 0 0
/dev         /chroots/wheezy-armel/dev         none bind 0 0
/dev/pts     /chroots/wheezy-armel/dev/pts     none bind 0 0

Para aplicar los puntos de montajes anteriores se ejectura el siguiente comando:

mount -a  

Entrar al entorno chroot:

chroot /chroots/wheezy-armel/  

Darle un nombre al chroot:

echo wheezyArmel > /etc/debian_chroot  

Corregir los locales:

apt-get install locales  
locale-gen en_US en_US.UTF-8 es_SV es_SV.UTF-8  
dpkg-reconfigure locales  

Una nota importante que yo instalo los locales en inglés de Estados Unidos (enUS) y los de español de El Salvador (esSV), pero solo se hago uso de los de inglés.

Arreglar problemas para ischroot:

dpkg-divert --divert /usr/bin/ischroot.debianutils --rename /usr/bin/ischroot  
ln -s /bin/true /usr/bin/ischroot  

Instalación de Plex

Descargar plex y descomprimirlo:

cd /tmp  
mkdir plex  
cd plex  
wget http://downloads.plex.tv/plex-media-server/0.9.11.7.803-87d0708/plex.tgz  
tar -zxvf plex.tgz  
mkdir -p /opt/plex/  
mv Application/ /opt/plex  
mkdir -p "/opt/plex/Library/Application Support"  

Nota que el link es para Plex v0.9.11.7 si hay una nueva versión hay que cambiar el link por la versión mas reciente la parte a cambiar es está 0.9.11.7.803-87d0708.

Crear un script de para ejecutar Plex:

vi /usr/local/bin/plexmediaserver  

Con el siguiente contenido:

#!/bin/sh
SCRIPTPATH=/opt/plex/Application  
export LD_LIBRARY_PATH="${SCRIPTPATH}"  
export PLEX_MEDIA_SERVER_HOME="${SCRIPTPATH}"  
export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6  
export LC_ALL="en_US.UTF-8"  
export LANG="en_US.UTF-8"  
export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/opt/plex/Library/Application Support"  
ulimit -s 3000  
/opt/plex/Application/Plex\ Media\ Server

Hacer ejecutable el script:

chmod +x /usr/local/bin/plexmediaserver  

Ejecutar el script dentro del entorno chroot para comprobar que funcione:

plexmediaserver &  

Con el comando anterior y entrando desde el navegador a la ip del raspberry:

http://<<Dirección IP>>:32400/web/index.html  

Hacer Plex ejecutable en el huésped

Hay que salir del chroot:

exit  

Instalar dchroot:

apt-get install dchroot  

Editar o crear /etc/dchroot.conf:

hvi /etc/dchroot.conf  

Y agregar lo siguiente:

# wheezyArmel chroot
wheezyArmel /chroots/wheezy-armel  

Editar /etc/schroot/schroot.conf:

Y agregar lo siguiente:

[wheezy-armel]
description=Contains the PLEX  program  
aliases=wheezyArmel  
directory=/chroots/wheezy-armel  

Ahora ya sera posible ejecutar Plex desde el host:

dchroot -c wheezyArmel -d /usr/local/bin/plexmediaserver --directory /  

Crear Un script para ejecutarlo desde huésped

Crear un script que haga el chroot:

vi /usr/local/bin/do_chroot  

Añadir lo siguiente:

#!/bin/sh
ARGS=""  
for i in "$@" ; do  
ARGS="$ARGS '$i'"  
done

exec dchroot -c wheezyArmel -d -q "`basename $0`" "$ARGS" --directory /  

Hacer el script ejecutable:

chmod +x /usr/local/bin/do_chroot  

Hacer un enlace simbólico a plexmediaserver:

ln -s /usr/local/bin/do_chroot /usr/local/bin/plexmediaserver  

Ahora se puede ejecutar el siguiente comando desde huésped para correr el servidor:

plexmediaserver &  

Crear un demonio

Crear el siguiente archivo /etc/init.d/plexmediaserver:

vim /etc/init.d/plexmediaserver  

Con el siguiente contenido:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          plexmediaserver
# Required-Start:    $remote_fs $syslog $networking
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Plex Media Server
# Description:       Plex Media Server for Linux,
#                    More information at http://www.plexapp.com
#                    Many thanks to the great PlexApp team for their wonderfull job !
# Author:            Cedric Quillevere / origin@killy.net
# Rewamped           Christian Svedin / christian.svedin@gmail.com
# Adapted (cubox-i)  Francis Belnger / francis.belanger@gmail.com
# Version:           1.2
### END INIT INFO

# Read configuration variable file if it is present
[ -r /etc/default/plexmediaserver ] && . /etc/default/plexmediaserver

test -f "/usr/local/bin/plexmediaserver" || exit 0

plex_running=`ps ax | grep "/opt/plex/Application/Plex Media Server" | awk '{ print $1 }' | wc -l`


case "$1" in  
    start)
        if [ "$plex_running" -gt 1 ]; then
                echo "Plex already running..."
                exit 0
        fi
        echo -n "Starting Plex Media Server: "
        su -l $PLEX_MEDIA_SERVER_USER -c "/usr/local/bin/plexmediaserver &" >/dev/null 2>&1
        sleep 1
        echo "done"
        ;;
    stop)
        if [ "$plex_running" -eq 1 ]; then
                echo "Plex Media Server is not running (no process found)..."
                exit 0
        fi
        echo -n "Killing Plex Media Server: "
        # Trying to kill the Plex Media Server itself but also the Plug-ins
        ps ax | grep "Plex Media Server" | awk '{ print $1 }' | xargs kill -9 >/dev/null 2>&1
        ps ax | grep "Plex DLNA Server" | awk '{ print $1 }' | xargs kill -9 >/dev/null 2>&1
        sleep 1
        echo "done"
        ;;
    restart)
        sh $0 stop
        sh $0 start
        ;;
    status)
        if [ "$plex_running" -gt 1 ]; then
                echo "Plex Media Server process running."
        else
                echo "It seems that Plex Media Server isn't running (no process found)."
        fi
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac

exit 0  

Hacer ejecutable el script:

chmod +x /etc/init.d/plexmediaserver  

Añadir el demonio al arranque del sistema:

update-rc.d plexmediaserver defaults  

Al reinicio el servidor de Plex debe correr automaticamente.

Comments: