Install CentOS7

From Mumble Wiki
Revision as of 23:12, 30 May 2016 by Notnamed (talk | contribs) (Setting PIDFile in the murmur.service causes warnings in journalctl on start (it's already defined in murmur.ini anyway))
Jump to: navigation, search

Installation of murmur server on CentOS 7 (RHEL 7) using the static mumble server.


Download the static murmur server. Then run the following commands to install:

tar -vxjf ./murmur-static_x86-1.2.8.tar.bz2
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.2.8/* /usr/local/murmur/
sudo cp ./murmur-static_x86-1.2.8/murmur.ini /etc/murmur.ini

Now create the murmur user and group, data directory, and logging directory:

sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
sudo chmod 0770 /var/log/murmur

System Configuration


Make sure that the following settings are configured correctly in /etc/murmur.ini:

# Reminder: When changing the port that murmur will listen to you will need to also update the firewall.
# Update the firewall by editing /etc/firewalld/services/murmur.xml
# Then run "sudo firewall-cmd --reload"
# Comment out the following setting since the service will already be executing as the correct user:
# uname=murmur

Allow to run as a background process

Create a systemd unit file so that the murmur service can be managed by the operating system. Using your text editor of choice, create the file '/etc/systemd/system/murmur.service' (Requires root). Copy and paste the following:

Description=Mumble Server (Murmur) mariadb.service

ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini


On modern systems /var/run is discarded after reboot. To regenerate the pid directory for murmur, create the configuration file '/etc/tmpfiles.d/murmur.conf' as root and copy and paste:

d /var/run/murmur 775 murmur murmur


Setup firewalld so that it allows the service to listen to TCP/UDP. If you adjusted murmur.ini so that it listens to a non-default port, then you will need to change this step to reflect your modifications. As root, create the configuration file '/etc/firewalld/services/murmur.xml' and copy and paste:

<?xml version="1.0" encoding="utf-8"?>
        <description>Mumble Server (Murmur)</description>
        <port protocol="tcp" port="64738" /><!-- Reminder: Update /etc/murmur.ini so that it uses the same ports -->
        <port protocol="udp" port="64738" />

Then add the firewall rule to the default zone and then reload:

sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload


Note: The steps outlined here will probably make security folks cringe. If anyone has the time and patience to figure out SELinux, please consider updating this document with a proper solution.

SELinux by default will prevent murmur from functioning correctly. The quick and easy solution is to simply disable it. To disable temporarily (until the next reboot), run:

sudo setenforce 0

To disable permanently (after the next reboot), edit '/etc/sysconfig/selinux' and change the "SELINUX" line to:


Finishing up

Update your system so that it is ready to start the murmur service:

sudo systemd-tmpfiles --create /etc/tmpfiles.d/
sudo systemctl daemon-reload

To temporarily start the murmur service (until the next reboot), run:

sudo systemctl start murmur.service

To tell the system to autostart the murmur service (this will NOT immediately start murmur, instead it will start on the next reboot):

sudo systemctl enable murmur.service