**2014-12-29**
This was tested on CentOS 7 with Serviio 1.41.
==== Prerequisites ====
**1.** SELinux is disabled
**2.** Install Java (Serviio version 1.5 and later requires minimum Java 8):
yum install java-1.7.0-openjdk
Some repo's do not have a late enough Java version available. In these cases, downloading Java manually will be required. In this case please follow this recipe:
**2a.** Go to Oracle Java 8 JRE Downloads Page (http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html) and download the appropriate version. You will need to accept the t's and c's, after that the URL can be copied using your browser.
**2b.** Use wget to download the package. Example instructions follow, your URL may be different.
cd ~
wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jre-8u131-linux-x64.rpm
sudo yum localinstall jre-8u131-linux-x64.rpm
**2c.** Assuming all goes well, delete the RPM when done:
rm ~/jre-8u131-linux-x64.rpm
**2d.** If you install the openJDK and find it doesn't work, you may need to remove it to allow instructions 2a thru c to work. I did this by using YUM to search for installed packages, finding the jre package, and then issuing sudo yum remove (package) to get rid of it. Uninstalling the "java-1.7.0-openjdk" on its own was not enough.
**3.** Install necessary repositories for ffmpeg:
yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install http://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm
**4.** Install ffmpeg:
yum install ffmpeg
==== Install/Extract Serviio ====
Always check http://www.serviio.org/download for the latest version first.
wget http://download.serviio.org/releases/serviio-1.4.1.2-linux.tar.gz
tar -C /opt -zxvf serviio-1.4.1.2-linux.tar.gz
mv /opt/serviio-1.4.1.2 /opt/serviio
==== Create Serviio's user ====
useradd -d /opt/serviio -r serviio
chown -R serviio:serviio /opt/serviio
passwd serviio
//enter a secure password you just have to remember for one login//
After the password for the user serviio is set, please logon and logoff with this user via console or ssh. If you won't, user serviio won't have any access to directories you want to share.
==== Create Service called serviio ====
Create systemd service file:
touch /lib/systemd/system/serviio.service
File /lib/systemd/system/serviio.service requires the following content:
[Unit]
Description=Serviio Server Daemon
After=syslog.target network.target
[Service]
User=serviio
Type=simple
ExecStart=/opt/serviio/bin/serviio.sh
[Install]
WantedBy=multi-user.target
Enable Serviio Service on Linux startup:
systemctl daemon-reload
systemctl enable serviio
Start Serviio Service:
systemctl start serviio
==== Firewall issues ====
**1.** Register Serviio as a configurable firewall package
Create firewall configuration file / etc/ firewalld/services/serviio.xml (Sorry for the blanks in the path above, but unfortunately this wiki says 'access denied' when trying to code subdirs of etc without blanks)
File requires the following content:
serviio
Serviio Server
**2.** Open Firewall for Serviio:
systemctl stop firewalld
systemctl start firewalld
firewall-cmd --permanent --zone=public --add-service=serviio
firewall-cmd --reload