Difference between revisions of "Running Murmur"
m (Remove my service's info)
|Line 149:||Line 149:|
| Admin functionality
| Admin functionality
Revision as of 01:46, 1 March 2010
If you find anything incorrect or missing in this article feel free to add it yourself. After you register, you must wait three days before you can edit a page.
- 1 Introduction
- 2 Distribution-Specific Murmur
- 3 Basic Configuration
- 4 Advanced Configuration and Administration
- 5 Alternative Murmur Implementations
For a step-by-step guide to setting up a Murmur server, read this.
Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.
By default, Murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works.
However, on distributions with prepackaged Murmur (Debian/Ubuntu), Murmur is configured to run as a system service, just like your webserver, mailserver and whatever else you have running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).
So, on these systems, you can still run Murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.
If you need to register users externally, or change the settings of a virtual server, read the section on Advanced Configuration.
Settings, Ports, and Authentication
The default settings for a Murmur server are configured in murmur.ini. Here, you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the Ice RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has it's own configuration, which is maintained internally by Murmur (see below).
The default port for a Murmur server is UDP and TCP 64738. Have a look at URLs to see how to publish links to your server.
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use Ice or DBus.
Setting the SuperUser Password
Until you've set a password for the SuperUser, the account will be disabled. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges.
To set the password on the Linux static server, run
murmur.x86 -supw <password>
To set the password on Debian-based systems, run
sudo dpkg-reconfigure mumble-server
To set the password on Windows systems, run
<path to murmur.exe> -supw <password>
This will set the password and then shut down Murmur. To run the server, remove this parameter.
Note that on some configurations, the -supw flag will only work if the server's database already exists i.e. you must have already run the server process once.
To start Murmur,
On a static Linux build, cd to the directory where you extracted the files and do
sudo dpkg-reconfigure mumble-server
<path to murmur.exe> (usually C:\Program Files\Mumble\Murmur.exe)
For debugging or real time logging, you might want to add -fg -v to the command line, which will stop the program from running in the background.
By default, Murmur opens it's configuration file, database file and logfile in your current directory. The configuration file can be overridden with the -ini parameter, and the database and logfile can be set from the ini file, using their respective parameters.
Advanced Configuration and Administration
This section contains different ways of administrating a Murmur Server.
Note: Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects. Also, nearly all of the basic administration tasks can be completed through the client when using > Mumble 1.2.x.
Compatibility With RPC-Interfaces
For full functionality with an RPC interface, Murmur requires either a working DBus daemon or Ice installation that is enabled. We recommend using the Ice interface; DBus is considered deprecated and although it will not be removed in the near future, it is not receiving any new functionality. Once you have Murmur working with the RPC interface, you can install a compatible web interface; see below for possible options.
Authenticating With an External Database/Forum
For phpBB3, there is phpBB3auth. You must point the python script to the ini file; read the in-source documentation for more infomation.
For SMF (Simple Machines Forum), there is smfauth. You must point the python script to the ini file; read the in-source documentation for more infomation.
There is an extended example of how to use the authenticator called scripts/dbusauth.pl. You'll need to configure where your phpBB3 database resides, but once that is done you'll simply have to run the script after starting murmur to allow authentication to be done through the phpBB3 database.
Any group associations the user has on phpBB3 is copied to a temporary group on a root channel (and by default inherited to all subchannels). Please note that this is a temporary group membership and as such will not show up in the Edit ACL dialogs.
There are several browser based interfaces which can be used to administrate the Murmur server. If you need something very basic or want to create your own interface you should take a look at Murmur's script folder which contains some basic web-interface examples which use Ice or DBus. Additionally the following table contains a collection of more elaborate Web-Interfaces:
|MAP - Mumb1e Admin Plugin||PHP||Yes||Yes||Yes||Yes||Serverhosting; Permissionssystem; Webinterface to manage Server User, Plugin User and virtual Servers; request function for Server Users; uses DBUS or Slice or nothing; Channelviewer for own homepage; Logging functions; German, English, Frensh; Template functions and more!|||
|Mumble-Django||Python + Django||Yes||Yes||Yes||Yes||Channel viewer, admin panel, multiserver, registration, textures|||
|MumPI - Mumble PHP Interface||PHP||No||Yes||Yes||Yes||Admin and User functionality; multiserver (start, stop, add, remove, edit virtual servers), registration & online user management, interface admin, admin-group and permission system, (serverviewer in repository)|||
|MurmurCP||ASP.NET + ICE||No||Yes||Yes||No||Multiple Virtual Servers, Registration, Server Status, Forgot Password|||
|Simpleregister||PHP||No||Yes||Yes||No||Extended script from the sample folder|||
|Mumble Admin Ice PHP||PHP||No||Yes||Yes||No||Admin functionality|||
|Php Mumble Admin||PHP||No||Yes||No||Yes||Administration panel control for murmur designed for multiple virtual server.|||
|Murmur Admin Console||Windows||Yes||No||Add, edit and delete players over SSH|||
|mice||multi-platform||No||Yes||Helper script written in Python|||
|mmctl||Python||Yes||No||1.1.8 - Easy to use script for managing servers and adding users locally|||
Manual Configuration Using DBus
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using DBus. You can find detailed information on this in our DBus article.
Alternative Murmur Implementations
The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications, everyone is free to their own Mumble server software and add it to this list.
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers. It currently supports 1.1.x Mumble clients, but 1.2.x support is available, if you're willing to compile it from source (it's very easy to do). Read more at the uMurmur project page.
There is currently an iPhone version of Mumble in the works; you can see more information about it from the Git repository. Any help with the project is always appreciated.