How to Install Murmur

What is Murmur?

Murmur is the server component of the Mumble communications platform; a federated Voice over IP (VOIP) application that provides low latency, high bitrate audio communication. This tutorial instructs you how to install and configure Murmur on Debian, though you can apply these instructions to other operating systems by changing commands where necessary.

Obtaining a Server

If you or your organization doesn’t have a server, you must obtain one. Many hosting providers are available, but I recommend Vultr. Take the following steps:

  1. Navigate to https://vultr.com
  2. Create an account
  3. Go to the Products tab and click on the blue ‘+’ button toward the upper right hand part of the page
  4. Select the following options:
    • Choose Server - Cloud Compute
    • Location - Your preferred location. For example, Chicago
    • Server Type - 64 bit OS Debian
    • Server Size - $5/mo
  5. If you have an SSH key, add it by clicking on the ‘Add new’ box
  6. Enter your desired server hostname and label in the text boxes below the previous configuration options
  7. Click ‘Deploy Now’

NOTE: You may need to increase the server size if you intend on having a room larger than 100 people and have large bandwidth requirements.

Server Configuration

Now that you deployed the server, go back to the Products page in the dashboard and click on your server. Access it with the given credentials. It’s best to create a non-root user, so we run useradd -G wheel samplename. Then, run visudo and delete the ‘#’ next to %wheel under “## Uncomment to allow members of group wheel to execute any command” in this section. It needs to look like this:

config

Then, save and exit. Log out of the root user and log back in as your new user. Next, configure a firewall. If you’re unfamiliar with nftables, install and configure uncomplicated firewall by running the following:

sudo apt-get update && sudo apt-get install ufw
sudo systemctl enable ufw.service && sudo systemctl start ufw.service
sudo ufw allow 64738 # This is the default mumble server port. Change it if you choose a different port
sudo systemctl restart ufw.service

Setting up Mumble Server

We’re ready to set up mumble server. Install it by running sudo apt-get install mumble-server. Let’s edit the configuration file by running sudo nano /etc/mumble-server.ini. Most of the defaults are sufficient, but we want to set a few options ourselves. We’re going to change three options:

  • Registration information
  • SSL certificates
  • Superuser password

First, Scroll down to the section starting with “# To enable public server registration”. For the option “registerName”, enter your desired server name (changes the root channel name). Fill out the rest of this if you want your server to be publicly visible. Next, we set up our SSL certificates with Lets Encrypt. You need to exit out of the configuration file for this part. If your organization already has their own SSL certificates, skip this part. If you do not have one, obtain a domain. You can lease them from domain registrars like Namecheap or Gandi. Lets install and configure certbot:

sudo apt-get install certbot
sudo certbot certonly --standalone

Certbot automatically renews your SSL certifications, so nothing else needs to be done here. Now, run sudo nano /etc/mumble-server.ini again and scroll down to the options “sslCert” and “sslKey”. Uncomment these and enter the full path to the fullchain.pem and privkey.pem files cerbot generated. A correct configuration looks something like this:

sslCert=/etc/letsencrypt/live/mumble.example.com/fullchain.pem
sslKey=/etc/letsencrypt/live/mumble.example.com/privkey.pem

Remember to change “mumble.example.com” to whatever you told certbot your domain is. We’re almost done! Now, launch the server by running the following:

sudo murmurd -ini /etc/mumble-server.ini -supw mypassword # This generates a password for the SuperUser
sudo systemctl enable mumble-server.service && sudo systemctl start mumble-server.service

Congratulations! You’ve successfully configured murmur. Share the domain with friends and enjoy quality audio communication.