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