**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