2014-12-29
This was tested on CentOS 7 with Serviio 1.41.
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
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
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 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
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:
<?xml version="1.0" encoding="utf-8"?> <service version="1.0"> <short>serviio</short> <description>Serviio Server</description> <port port="8895" protocol="udp"/> <port port="8895" protocol="tcp"/> <port port="1900" protocol="udp"/> <port port="1900" protocol="tcp"/> <port port="23423" protocol="udp"/> <port port="23423" protocol="tcp"/> <port port="23424" protocol="udp"/> <port port="23424" protocol="tcp"/> </service>
2. Open Firewall for Serviio:
systemctl stop firewalld systemctl start firewalld firewall-cmd --permanent --zone=public --add-service=serviio firewall-cmd --reload