Changes

Jump to: navigation, search
no edit summary
This howto is adapted from [https://www.slsmk.com/how-to-install-universal-media-server-ums-on-ubuntu-in-headless-mode/ this article] describing how to install an older version of UMS on an older version of Ubuntu.
<pre style="color: red">This article assumes the hostname of your server is MyMediaServer</pre>
=Install UMS=
#Install the necessary packages by running the following commands <pre>sudo apt-get install software-properties-common&#10;sudo apt-get update&#10;sudo apt-get install openjdk-8-jre openjdk-8-jre-headless&#10;apt-get install mediainfo dcraw vlc-bin mplayer mencoder</pre>
#Install UMS 8.0.1 by running the following commands <pre>cd /opt&#10;sudo wget https://downloads.sourceforge.net/project/unimediaserver/Official%20Releases/Linux/UMS-8.0.1.tgz&#10;sudo tar -xvzf UMS-8.0.1.tgz&#10;sudo ln -s /opt/ums-8.0.1 ums&#10;sudo rm UMS-8.0.1.tgz</pre>
#Setup =Make UMS to auto start at bootStart on Boot=
#Create an init.d script by running <pre>sudo nano /etc/init.d/ums</pre> and copying the following into that file <pre>#!/bin/bash&#10;#&#10;### BEGIN INIT INFO&#10;# Provides: ums&#10;# Required-Start: $local_fs $remote_fs $network&#10;# Required-Stop: $local_fs $remote_fs $network&#10;# Default-Start: 2 3 4 5&#10;# Default-Stop: 0 1 6&#10;# Short-Description: Starts UMS program.&#10;# Description: Java Upnp Media Server dedicated to PS3&#10;### END INIT INFO&#10;&#10;#set -x&#10;&#10;# Author: Papa Issa DIAKHATE <paissad@gmail.com>&#10;#&#10;PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&#10;DESC="Universal Media Server"&#10;NAME=ums&#10;UMS_PROFILE=/etc/UMS.conf&#10;DAEMON=/opt/ums/UMS.sh&#10;DAEMON_OPTS="console"&#10;SCRIPTNAME=/etc/init.d/ums&#10;UMS_START=1 # Wether to start or not UMS ver at boot time.&#10;DODTIME=30 # Time to wait for the server to die, in seconds.&#10; # If this value is set too low you might not&#10; # let the program to die gracefully and 'restart' will not work&#10;&#10;test -x $DAEMON || exit 1&#10;&#10;# Load the VERBOSE setting and other rcS variables&#10;. /lib/init/vars.sh&#10;&#10;# Define LSB log_* functions.&#10;# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.&#10;. /lib/lsb/init-functions&#10;&#10;# Include ums defaults if available&#10;if [ -f "/etc/default/$NAME" ] ; then&#10; . /etc/default/$NAME&#10;fi&#10;&#10;# May we run the init.d script ?&#10;[ $UMS_START = 1 ] || exit 1&#10;&#10;#--------------------------------------------------------------------------&#10;# Some color codes&#10;txtred=$'\e[0;31m' # Red&#10;txtylw=$'\e[0;33m' # Yellow&#10;txtrst=$'\e[0m' # Text Reset&#10;#--------------------------------------------------------------------------&#10;warnout(){&#10; echo >&2 -e ""$txtylw"Warning:$txtrst $1"&#10;}&#10;#--------------------------------------------------------------------------&#10;running(){&#10; pid=`pgrep -f 'java .*ums.jar.*'`&#10;}&#10;#--------------------------------------------------------------------------&#10;do_start(){&#10; running && { warnout "$NAME is already running !"; exit 0; }&#10; echo "Starting $DESC : $NAME"&#10; UMS_PROFILE="$UMS_PROFILE" start-stop-daemon --start --quiet --background --oknodo \&#10; --exec $DAEMON -- $DAEMON_OPTS&#10;&#10;}&#10;#--------------------------------------------------------------------------&#10;do_stop(){&#10; running || { warnout "$NAME is NOT running !"; exit 0; } &#10; local countdown="$DODTIME"&#10; echo -e "Stopping $DESC : $NAME \c "&#10; kill -9 $pid&#10; while running; do&#10; if (($countdown >= 0)); then&#10; sleep 1; echo -n .;&#10; ((--countdown))&#10; else&#10; break;&#10; fi&#10; done&#10; echo&#10; # If still running, then try to send SIGINT signal&#10; running && { \&#10; echo >&2 "Using kill -s SIGINT instead"; \&#10; echo >&2 "If you see this message again, then you should increase the value of DODTIME in '$0'."; \&#10; kill -2 $pid; \&#10; }&#10;&#10; if [ -e "/usr/share/ums/debug.log" ]; then&#10; count=9&#10; while [ $count -ge 1 ]&#10; do&#10; if [ -e "/usr/share/ums/debug.log.$count" ]; then&#10; plus=$((count+1))&#10; mv "/usr/share/ums/debug.log.$count" "/usr/share/ums/debug.log.$plus"&#10; fi&#10; count=$((count-1))&#10; done&#10; if [ -e "/usr/share/ums/debug.log" ]; then&#10; mv "/usr/share/ums/debug.log" "/usr/share/ums/debug.log.1"&#10; fi&#10; fi&#10;&#10; return 0&#10;}&#10;#--------------------------------------------------------------------------&#10;do_force-stop(){&#10; running || { warnout "$NAME is NOT running !"; exit 0; } &#10; echo "Stopping $DESC : $NAME"&#10; kill -9 $pid&#10; if [ -e "/usr/share/ums/debug.log" ]; then&#10; count=9&#10; while [ $count -ge 1 ]&#10; do&#10; if [ -e "/usr/share/ums/debug.log.$count" ]; then&#10; plus=$((count+1))&#10; mv "/usr/share/ums/debug.log.$count" "/usr/share/ums/debug.log.$plus"&#10; fi&#10; count=$((count-1))&#10; done&#10; if [ -e "/usr/share/ums/debug.log" ]; then&#10; mv "/usr/share/ums/debug.log" "/usr/share/ums/debug.log.1"&#10; fi&#10; fi&#10;}&#10;#--------------------------------------------------------------------------&#10;do_status(){&#10; echo -n " * $NAME is "&#10; ( running || { echo "NOT running "; exit 0; } )&#10; ( running && { echo "running (PID -> $(echo $pid))"; exit 0; } )&#10;}&#10;#--------------------------------------------------------------------------&#10;case "$1" in&#10;&#10; start|stop|force-stop|status)&#10; do_${1}&#10; ;;&#10; restart|reload)&#10; do_stop&#10; do_start&#10; ;;&#10; force-restart|force-reload)&#10; do_force-stop&#10; do_start&#10; ;;&#10; *)&#10; echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}"&#10; exit 1&#10; ;;&#10;esac</pre>
##Make that script executable by running <pre>chmod +x /etc/init.d/ums</pre>##Make the system aware of your new script by running <pre>update-rc.d ums defaults</pre>#=Configure UMS=
##Copy the default configuration files to ''/etc/'' by running the following commands <pre>sudo cp /opt/ums/UMS.conf /etc/&#10;sudo cp /opt/ums/WEB.conf /etc/ums/</pre>
##Edit ''UMS.conf'' by running <pre>sudo nano /etc/UMS.conf</pre> and setting the following variables (you'll have to setup ''folders'' and ''folders_monitored'' to something specific for your environment) <pre>server_name = MyMediaServer&#10;language = en-US&#10;minimized = true&#10;auto_update = true&#10;hide_advanced_options = false&#10;single_instance = true&#10;chromecast_extension = true&#10;prettify_filenames = true&#10;show_server_settings_folder = true&#10;atz_limit = 3000&#10;show_recently_played_folder = true&#10;folders = /mnt/media/Video/Movies, /mnt/media/Video/TV_Shows, /mnt/media/Video/Web_Shows, /mnt/media/Music, /mnt/media/Comedy&#10;folders_monitored = /mnt/media/Video/Movies, /mnt/media/Video/TV_Shows, /mnt/media/Video/Web_Shows, /mnt/media/Music, /mnt/media/Comedy&#10;web_port = 80&#10;web_conf = /etc/ums/WEB.conf&#10;name = main</pre>
 
=Start UMS=
##start UMS by running <pre>sudo service ums start</pre>##visit the UMS webpage by going to ''http://<UMSServerHostname>MyMediaServer'' in a web browser
=References=

Navigation menu