Mumble Server on Debian Jessie
Posted on Mon 09 May 2016 in Linux
If you don't have a domain name, just skip the parts with letsencrypt and Mumble will generate a self-signed certificate.
Letsencrypt SSL certificate
First we need to install packages required for the letsencrypt application and the application itself:
apt-get install curl libffi-dev libssl-dev python-dev curl -kLO https://bootstrap.pypa.io/get-pip.py python get-pip.py pip install -U pip pip install letsencrypt
Now we can use the letsencrypt application to get a SSL certificate, note that the below requires your domain name to point towards the server you are running these commands on:
letsencrypt certonly --standalone -d mumble.yourdomain.com
The relevant files will be created in /etc/letsencrypt/live/mumble.yourdomain.com
Setting up Mumble
We will be using the up-to-date statically linked binary directly from Mumble - if you don't mind running a slightly older version you can just install the mumble-server package with apt instead.
curl -kLO https://github.com/mumble-voip/mumble/releases/download/1.2.16/murmur-static_x86-1.2.16.tar.bz2 tar xvf murmur-static_x86-1.2.16.tar.bz2 ln -s /root/murmur-static_x86-1.2.16/murmur.x86 /usr/bin/murmur
Service user
We will also create a dedicated user so we don't run the server as the root user:
adduser --home /home/murmur --shell /bin/bash murmur mkdir /home/murmur/.murmurd chown -R murmur /home/murmur
Murmur configuration
Use your favorite text editor to add the configuration file at /home/murmur/.murmurd/murmur.ini
Comment the lines starting with "ssl" if you don't have a valid SSL certificate. Comment the "serverpassword" line if you don't want a password.
database= dbus=session #ice="tcp -h 127.0.0.1 -p 10001" welcometext="<br />Welcome message" port=64738 host=YOUR_PUBLIC_IP serverpassword=yourpassword bandwidth=144000 users=100 registerName=YOUR_SERVER_NAME uname=murmur sslCert=/etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem sslKey=/etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem [Ice] Ice.Warn.UnknownProperties=1 Ice.MessageSizeMax=65536
Run the server
murmur
Bonus: Add a cronjob to start the Mumble server after boot:
crontab -e #Add the below line to the end of the file @reboot murmur