Mumble - Open Source VOIP Client and Server
Mumble, a new Open Source version for all those VoIP lovers.
You can find the website here http://mumble.sourceforge.net/Main_Page
I am a bit new to this program, but found it very easy to install. Once people discover Mumble I am sure we can add to the How-To, please see the forum site.
Install Program Tools
SSH logon
You can pickup WinSCP here; http://winscp.net/eng/index.php
Putty here; http://www.chiark.greenend.org.uk/~sgtatham/putty/ This all could be done via Putty too if you want.
Get the latest version of Mumble Here Download here http://sourceforge.net/projects/mumble/files%2FMumble%2F1.2.2%2Fmurmur-static_x86-1.2.2.tar.lzma/download

Install Mumble
Create a new user within the Webgui
User: mum Name: Mumble Last Name: Server
Everything else is up to you, but don’t give it access to anything
Logon to you ClearOS box via SSH
Go: /home/mum
Copy the murmur-static_x86-version.tar.lzma file into this directory
Command chown mum:allusers murmur-static_x86-version.tar.lzma
Update: Please provide a CLI command to open this file???
You can delete the zip file if you like
Type: chown -R mum:allusers /home/mum/server Type: chmod -R 0755 /home/mum/server
Next, edit the .ini file
The murmur.ini file located under;
/home/mum/server/
Here is where you can store the password for users, name of the server, etc.
Here is .ini File, since this is different than Ventrilo or TS, you can modify this as you like. I have indicated areas that you need to change for this How-To, but you'll need to change them to your liking;
# Path to database. If blank, will search for # murmur.sqlite in default locations or create it if not found. database= # If you wish to use something other than SQLite, you'll need to set the name # of the database above, and also uncomment the below. # Sticking with SQLite is strongly recommended, as it's the most well tested # and by far the fastest solution. # #dbDriver=QMYSQL #dbUsername= #dbPassword= #dbHost= #dbPort= #dbPrefix=murmur_ #dbOpts= # Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the # RPC methods available in murmur, please specify so here. # dbus=session # Alternate service name. Only use if you are running distinct # murmurd processes connected to the same D-Bus daemon. #dbusservice=net.sourceforge.mumble.murmur # If you want to use ZeroC Ice to communicate with Murmur, you need # to specify the endpoint to use. Since there is no authentication # with ICE, you should only use it if you trust all the users who have # shell access to your machine. # Please see the ICE documentation on how to specify endpoints. #ice="tcp -h 127.0.0.1 -p 6502" # Ice primarily uses local sockets. This means anyone who has a # user account on your machine can connect to the Ice services. # You can set a plaintext "secret" on the Ice conntection, and # any script attempting to access must then have this secret. #icesecret= # How many login attempts do we tolerate from one IP # inside a given timeframe before we ban the connection? # Note that this is global (shared between all virtual servers), and that # it counts both successfull and unsuccessfull connection attempts. # Set either Attempts or Timeframe to 0 to disable. #autobanAttempts = 10 #autobanTimeframe = 120 #autobanTime = 300 # Murmur default to logging to murmur.log. If you leave this blank, # murmur will log to the console (linux) or through message boxes (win32). logfile=murmur.log (MODIFY THIS BASED ON YOUR OWN DESIRE OR DEFAULT) # If set, murmur will write its process ID to this file. pidfile=murmur_server # The below will be used as defaults for new configured servers. # If you're just running one server (the default), it's easier to # configure it here than through D-Bus or Ice. # # Welcome message sent to clients when they connect welcometext="
Welcome to this server running Murmur.
Enjoy your stay!
" (YOU CAN CHANGE THIS TOO) # Port to bind TCP and UDP sockets to port=64738 (YOU CAN CHANGE THIS DEFAULT) # Specific IP or hostname to bind to. # If this is left blank (default), murmur will bind to all available addresses. host=ENTER YOUR DOMAIN # Password to join server serverpassword=ENTER YOU PASSWORD HERE # Maximum bandwidth (in bits per second) clients are allowed # to send speech at. bandwidth=72000 (THIS IS SET TO MAX, REDUCE IF NECESSARY) # Maximum number of concurrent clients allowed. users=10 (CHANGE TO THE AMOUNT OF USER YOU THINK WILL BE USING IT) # Regular expression used to validate channel names # (note that you have to escape backslashes with \ ) #channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+ # Regular expression used to validate user names # (note that you have to escape backslashes with \ ) #username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+ # Maximum length of text messages in characters. 0 for no limit. #textmessagelength=5000 # Maximum length of text messages in characters, with image data. 0 for no limit. #imagemessagelength=131072 # Allow clients to use HTML in messages, user comments and channel descriptions? allowhtml=true # Murmur retains the per-server log entries in an internal database which # allows it to be accessed over D-Bus/ICE. # How many days should such entries be kept? #logdays=31 # To enable public server registration, the serverpassword must be blank, and # this must all be filled out. # The password here is used to create a registry for the server name; subsequent # updates will need the same password. Don't lose your password. # The URL is your own website, and only set the registerHostname for static IP # addresses. # #registerName=Mumble Server #registerPassword=secret #registerUrl=http://mumble.sourceforge.net/ #registerHostname= # To enable bonjour service discovery uncomment the following line. # To change the name announced by bonjour adjust the registerName variable. # See http://developer.apple.com/networking/bonjour/index.html for more information # about bonjour. bonjour=True (IF YOU WANT TO PLAY MUSIC) # If you have a proper SSL certificate, you can provide the filenames here. #sslCert= (I WOULD ASSUME YOU CAN ADD THE ONE FROM CLEAR OS, JUST NEED TO KNOW WHERE THEY ARE STORED) #sslKey= # If murmur is started as root, which user should it switch to? # This option is ignored if murmur isn't started with root privileges. uname=mum ### - CHANGE TO THE NAME OF YOUR FILE IN INIT.D # If this options is enabled, only clients which have a certificate are allowed # to connect. #certrequired=False # You can configure any of the configuration options for Ice here. We recommend # leave the defaults as they are. # Please note that this section has to be last in the configuration file. # [Ice] Ice.Warn.UnknownProperties=1 Ice.MessageSizeMax=65536
Modifying your Script File
Next will be to create script file so you can load the service from CLI or later in the webgui.
You need to run the service in order for it to create some files, including the .log file.
Copy the text below into a script file
Location of the file
/etc/rc.d/init.d/
Name the script file
mum
Enter the following information into the script file.
#!/bin/bash # # Mumble This shell script takes care of starting and stopping # the Mumble subsystem (Mum). # # chkconfig: - 90 10 # description: Mumble Chat Interface. # processname: mum # config: /do_not_remove/murmur.ini # pidfile: /do_not_remove/murmur_server.pid # Source function library. . /etc/rc.d/init.d/functions # CONFIG prog="Mumble Server" vent_path=/home/mum/server # <---- Replace with the path to your /ventsrv directory vent_user=mum # <---- Replace with sudo user vent_bin=$vent_path/ vent_server=murmur.x86 vent_log=$vent_path/murmur.log vent_pid=$vent_path/murmur_server # Startup ventrilo servers. start(){ sudo -u $vent_user $vent_path/$vent_server ret=0 if [ $ret -eq 0 ]; then STARTTIMEOUT=30 while [ $STARTTIMEOUT -gt 0 ]; do RESPONSE=`ls -al murmur_server.pid 2>&1` && break echo "$RESPONSE" | grep -q "root" && break break sleep 1 let STARTTIMEOUT=${STARTTIMEOUT}-1 done if [ $STARTTIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to start $prog Daemon." action $"Starting $prog: " /bin/false else action $"Starting $prog: " /bin/true fi else action $"Starting $prog: " /bin/false fi return $ret } stop(){ VENTPID=`cat "$vent_pid" 2>/dev/null ` if [ -n "$VENTPID" ]; then /bin/kill "$VENTPID" >/dev/null 2>&1 ret=$? if [ $ret -eq 0 ]; then STOPTIMEOUT=60 while [ $STOPTIMEOUT -gt 0 ]; do /bin/kill -0 "$VENTPID" >/dev/null 2>&1 || break sleep 1 let STOPTIMEOUT=${STOPTIMEOUT}-1 done if [ $STOPTIMEOUT -eq 0 ]; then echo "Timeout error occurred trying to stop $prog Daemon." ret=1 action $"Stopping $prog: " /bin/false else action $"Stopping $prog: " /bin/true fi else action $"Stopping $prog: " /bin/false fi else ret=1 action $"Stopping $prog: " /bin/false fi return $ret } restart(){ stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status vent ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac
Copy the same text above into a file and put it under
Type: chown -R mum:allusers /etc/rc.d/init.d/mum Type: chmod +xw /etc/rc.d/init.d/mum Type: chkconfig --add mum Type: chkconfig --levels 345 mum on && chkconfig --list mum
Now you can start your server
Type: service mum startIf the service does start. You make need to modify the mum file be executable. You can do this by this command.
chmod +xw /etc/rc.d/init.d/mum
ignore it, because the file is not there, as you just created it. Then you should see the system come back as “OK” in green.
service mum restart service mum stop
Almost Done
Next we need to create a link file under the /var/log so we can view it via the webgui.
Type: mkdir /var/log/mum Type: cd /home/mum/server/ Type: cp murmur.log /var/log/mum/murmur.log Type: rm murmur.log then Y Type: chown -R mum:allusers /var/log/mum/murmur.log Type: ln -s /var/log/mum/murmur.log murmur.log
Now restart the webconfig service
Type: service webconfig restart
Now you should be able to access your log menu and see
mum/murmur.log
Next we'll want to add the necessary changes to the webgui in order to see the server as a service.
You need to locate the following file.
/var/webconfig/api/daemon.inc.php
And insert this line.
"mum" => array("httpd", "murmur.x86", "no", "Mumble Chat Server", "no", null),
Restart the webconfig
Type: service webconfig restart
You should be all done!!!