Install a Mumble Server on CentOS 7
The CentOS firewall will prevent that clients can connect to the Murmur default port 64738, therefore, we will have to allow that port in the firewall before we install Murmur. If you plan to use a different port for Murmur, then opne that port in the firewall instead of port 64738. To open the default port in the firewall settings run this command.
sudo vi /etc/firewalld/services/murmur.xml
<?xml version=”1.0″ encoding=”utf-8″?> <service> <short>Murmur</short> <description>Mumble Server</description> <port protocol=”tcp” port=”64738″ /> <port protocol=”udp” port=”64738″ /> </service>
Add Murmur firewall file to firewalld and reload it.
sudo firewall-cmd --permanent --add-service=murmur sudo firewall-cmd --reload
The first step is to go to Mumble Wiki Page and download the latest stable release of the Mumble Static Linux Server.
As we are using the CentOS 7 operating system, we have to use the wget command to download it. We can do this by right-clicking on the direct link and select ‘Copy Link Adress’ and then paste it to the command line after the wget command.
After downloading the latest version of Murmur onto our system, we now have to extract all the files from the tarball. Execute the command given below to extract the tarball.
tar -vxjf ./murmur-static_x86-1.2.13.tar.bz2
Create a directory /usr/local/murmur. In this directory copy all the extracted files from the package to /usr/local/murmur/.
sudo mkdir /usr/local/murmur sudo cp -r ./murmur-static_x86-1.2.13/* /usr/local/murmur/
Then copy the murmur configuration file to etc/murmur.ini.
sudo cp ./murmur-static_x86-1.2.9/murmur.ini /etc/murmur.ini
Now, we have to create a murmur user under murmur group with the home directory assigned as /var/lib/murmur/. Run the following command to do so:
sudo groupadd -r murmur sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
To store the logs from murmur, we have to create a log directory. After that, we have to assign the ownership of that directory to murmur.
udo mkdir /var/log/murmur $ sudo chown murmur:murmur /var/log/murmur
Now, we will set stricter permissions of the log directory to protect the log files.
sudo chmod 0770 /var/log/murmur
The file /etc/murmur.ini is the default configuration file for murmur. Now we will add following lines to the file /etc/murmur.ini with the help of a text editor. I’ll use vi here, but other editors like nano or joe will work as well.
sudo vi /etc/murmur.ini
Change or add the following 2 lines:
We are using vim editor, press “i” to open the insert mode, then insert two lines above
Type :wq and press enter to write the file to disk and quit vi.
To manage and start the murmur service with systemd, we have to create a systemd unit file. To do that, we will create a new file /etc/system/system/murmur.service by using the text editor. This operation has to be done as root user or with sudo as shown below.
sudo vi /etc/systemd/system/murmur.service
After that, copy and paste the following lines into the file.
[Unit] Description=Mumble Server (Murmur) Requires=network-online.target After=network-online.target mariadb.service time-sync.target [Service] User=murmur Type=forking PIDFile=/var/run/murmur/murmur.pid ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini [Install] WantedBy=multi-user.target
On modern systems, /var/run is discarded after a re-boot. To regenerate the pid directory, we simply have to create the configuration file /etc/tmpfiles.d/murmur.conf.
sudo vi /etc/tmpfiles.d/murmur.conf
Insert the following line into the file and save it.
d /var/run/murmur 775 murmur murmur
Now let systemd create the temp files for Murmur and reload the systemd configuration.
sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf sudo systemctl daemon-reload
To enable the server to start alongside the system boot, execute this command to make it happen:
sudo systemctl enable murmur.service
Now we can start the murmur service by using this command
sudo systemctl start murmur.service