How to set up murmur server/mumble client

From Salix OS
Jump to: navigation, search

This "Mumble & Murmur" voice chat application guide shows how to setup the murmur server on Salix, so a group of users can use mumble client to voice chat each other. Software used in this guide consists of:

  • murmur (the server application)
  • mumble (a voice chat application for groups)

Contents

What is Mumble?

Mumble is a voice chat application for groups. While it can be used for any kind of activity, it is primarily intended for gaming. It can be compared to programs like Ventrilo or TeamSpeak. People tend to simplify things, so when they talk about Mumble they either talk about "Mumble" the client application or about "Mumble & Murmur" the whole voice chat application suite.

What is Murmur?

"Murmur" is the name of the server application. In any case, if anyone talks about Murmur it is for sure the server part.

Obtain a dyndns domain

  • "Obtain a DNS domain" and create one with a dynamic dns provider (e.g. dyndns.org)
  • Port forward tcp, udp port 64738 using your router interface

After that, we are ready to go on.

Getting and Installing Mumble and Murmur

Install murmur and mumble with the usual commands:

slapt-get -u
slapt-get -i murmur
slapt-get -i mumble

Set Up murmur Server

To make things easier for you just run the script on /usr/doc/murmur-1.2.5/config-helper.sh to create mumble-server group and mumble-server user:

 sudo sh /usr/doc/murmur-1.2.5/config-helper.sh

The above script will also create:

  • /var/log/mumble-server
  • /var/lib/mumble-server
  • /var/run/mumble-server

and chown these by mumble-server group, mumble-server user

Next open as root /etc/murmur.ini
Change the following variables

  • database= to database=/var/lib/mumble-server/mumble-server.sqlite
  • #logfile=murmur.log to logfile=/var/log/mumble-server/mumble-server.log
  • #pidfile= to pidfile=/var/run/mumble-server/mumble-server.pid

The above variables are set up during installation, we just mention them here for users to know about them.

  • #welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />" to welcometext=<br />"whatever you like!<br />"

It is important to set up this because it is the name your server will appear in public lists under your country flag

  • #registerPassword=secret to registerPassword=secret
  • #registerUrl=http://mumble.sourceforge.net/ to registerUrl="your_dns_domain" (e.g. registerUrl=http://myserver.dyndns.org)

It is important to set up this otherwise no one can finds you.
It is your ip. Also put this in your router to be updated each time your ip changes.

  • #uname= to uname=mumble-server

this variable has also set up during installation Save the file /etc/murmur.ini and start murmur server as root

 sudo chmod 755 /etc/rc.d/rc.murmur 
 sudo /etc/rc.d/rc.murmur  start

Even you start murmur server as root it will switch to mumble-server user ( Look above uname=mumble-server)
After some minutes your murmur server will appear in Public Internet under your country flag with the name you have in registerName= variable

Setting SuperUser Password

Now you will need to set the SuperUser Password. The server should be running at this point. Open a terminal and write as root

 sudo murmurd -ini /etc/murmur.ini -supw  your-password

We will need this to set up rooms, register users, kick users etc

Set Up mumble client

As user run mumble client. It is in Internet group of programs in menus.

When mumble appears click on server --> connect

A window appears. You will see your server name under LAN.

  • Right click on your server name and click "add to Favorite".
  • Under Favorite, Right click on your server name and click on "Edit"
  • Delete the line next to Address and write there what there is in registerUrl without http:// (e.g. myserver.dyndns.org)
  • Next to Port write 64738
  • Next to Username write whatever nick you like
  • Click on "OK"
  • Click on "Connect"
  • In the next warning message, accept the certificate. Click on "Yes"

Congratulations You have just connected to your murmur server.

Connecting as SuperUser

  • click on server -> connect
  • Under Favorite, Right click on your server name and click on "Edit"
  • Delete the user name and write there SuperUser ( as i wrote it)
  • Write the SuperUser password
  • Click on "OK"
  • Click on "Connect"

You are SuperUser. But SuperUser has no voice. So give to your previous user all SuperUser capabilities plus voice ability.

Connecting as previous user

  • click on server -> connect
  • Under Favorite, Right click on your server name and click on "Edit"
  • Delete the Password
  • Delete the SuperUser name and write there the previous user name
  • Click on "OK"
  • Click on "Connect"

Make Your Server Public

create a Certificate Authority (CA)

You do not have to do the following anymore. Server will registered as Public using murmur certificate. You can do these if you want to use your own certificate Authority.

  • create a working directory
mkdir CAwork
cd CAwork
  • first set yourself up as a CA. a CA can sign a certificate requests to create an SSL certificate.
  • Run the command (a directory demoCA will be created under CAwork)
  /etc/ssl/misc/CA.pl -newca
  • hit enter to create CA certificate
  • enter the PEM pass phrase
  • renter the pass phrase
  • fill out the info asked for. Be sure to set all fields (for example )
countryName  = GR
stateOrProvinceName       = Some-State
organizationName          = Internet Widgits Pty Ltd
commonName                = ariadni.dynalias.net CA
emailAddress              = webmaster@ariadni.dynalias.net

Make sure the commonName to be different from the commonName in the next step.

CA.pl will create a cacert.pem in the directory demoCA, the private CA key is in private/cakey.pem

Create a Certificate Request

next we will create a request for a server certificate.

 /etc/ssl/misc/CA.pl   -newreq-nodes

some servers need a private certificate not protected by a pass phrase. the -nodes (note: no space between -newreq and -nodes) tells openssl to make an unpassword protected certificate. Be sure to set the Common Name to the dns name of the server that will be using it!

Be sure to set all fields (for example )

countryName  = GR
stateOrProvinceName       = Some-State
organizationName          = Internet Widgits Pty Ltd
commonName                = ariadni.dynalias.net 
emailAddress              = webmaster@ariadni.dynalias.net

Make sure the commonName to be different from the commonName in the above step. e.g I have set the names ariadni.dynalias.net CA and ariadni.dynalias.net

the request file will be created in the directory you're currently in with a name of newreq.pem and the private key is in newkey.pem

Sign the request

next use your CA certificate to sign the certificate request:

  /etc/ssl/misc/CA.pl   -sign

you'll be prompted for your CA password. the info from the newreq.pem file will be displayed and you'll be asked if you want to sign it. After the certificate is signed, and you're prompted if you want to commit the certificate.

The certificate is created, signed and stored in newcert.pem, in the same directory you're currently in.

Now some more job and we are ready. The certificate has both the encoded version and a human-readable version in the same file. You can strip off the human-readable portion as follows:

cp demoCA/cacert.pem tmp.pem
openssl x509 -in tmp.pem -out cert.pem

cert.pem is our Root certificate

mv newcert.pem tmp.pem
openssl x509 -in tmp.pem -out newcert.pem

newcert.pem is our signed requested file from our Certificate Authority

Installing the Certificate and Key

Create a file mycert.pem with contents of both Root Certificate Authority certificate (cert.pem) and signed certificate file (newcert.pem)

 cat cert.pem newcert.pem > mycert.pem

 mv newkey.pem mykey.pem

After this step, you have two files:

  • A private key in mykey.pem
  • A combined Root Certificate Authority certificate and your signed certificate in mycert.pem

Now the file mycert.pem contains the certificate and mykey.pem contains the key.

  • copy these two files to /etc/ where murmur.ini exists (you can copy them elsewhere but you have to put the path in murmur.ini)
  • Edit /etc/murmur.ini uncomment and change the following two lines:
 sslCert=mycert.pem
 sslKey=mykey.pem

Restart murmur

 /etc/rc.d/rc.murmur restart

Tell your friends about your murmur server and that they can found you under your country flag in Public Internet server list of mumble. In any case, give them your dyndns.org domain name to add it to "Favorite" (see above). And can connect and talk with you even your server do not appear in Public Internet server list of mumble.