Ice/Deutsch
Mumur unterstützt Remote scripting mit ZeroC ICE, einem RPC Mechanismus.
Es gibt C++, Java, .NET, Python, PHP and Ruby Unterstützungen für alle Platformen (Win32, Linux and OSX).
Ice kann auch über ein Netzwerk betrieben werden, somit kann eine Webapplikation mit dem laufenden Murmur Prozess komunizieren.
debian Webserver und Murmur für ZeroC-Ice konfigurieren
Dies sind Beispiele nutze sie auf eigene Gefahr!
Dieser Leitfaden ist für debian 5.0 (lenny)
Ich gehe davon aus das du bereits einen funktionierenden apache2 mit PHP Unterstützung hast.
Voraussetzungen
Als erstes installieren wir einige benötigte Packete, dies machen wir in einem root-shell.
apt-get update apt-get install mumble-server libzeroc-ice32 php-zeroc-ice lzma
Diese sind namentlich der Mumble-Server selbst (mumble-server), die ZeroC-Ice C++ Laufzeitbibliothek (libzeroc-ice32), das IcePHP Modul (php-zeroc-ice) und der lzma Extraktor. Sei dir bewusst darüber das wir vorerst eine älterer Serverversion OHNE Ice Unterstützung installieren. Das werden wir später korrigieren.
Zusätzlich benötigen wir den aktuellen Server (Murmur).
Man kann ihn über die Adresse http://mumble.sourceforge.net/ beziehen. "Stable Static Linux Server". Ich empfehle dafür das Heim-Verzeichnis.
cd ~ wget http://switch.dl.sourceforge.net/sourceforge/mumble/murmur-static_x86-1.1.8.tar.lzma unlzma -v murmur-static_x86-1.1.8.tar.lzma tar xfv murmur-static_x86-1.1.8.tar
Schritt 1 - Murmur konfigurieren
OPTIONAL: Um Murmur mit jedem Systemstart automatisch zu starten bearbeite die Datei /etc/default/mumble-server entsprechend mit einem Editior deiner Wahl.
Nun öffne die Datei /etc/mumble-server.ini
vim /etc/mumble-server.ini
OR
nano -w /etc/mumble-server.ini
Kommentiere die Zeile die mit dbus= beginnt aus
#dbus=system
Erstelle eine neue Zeile und füge folgendes in diese ein
ice="tcp -h 127.0.0.1 -p 6502"
Murmur weiß damit das er auf Ice Anfragen achten soll.
Schritt 2 - Murmur manuell aktualisieren
First of all why did we installed a old version first to replace it now?
It's easy, we have much less to do. Anyway there is a downside.
When the package is updated in the repository you will probably break your Ice support. But i think thats the best way and you can easily fix that just with replacing the murmurd binary again.
You alread extracted the Static Linux Server to your home directory. Now we need some files from there.
First replace the repository binary with the manually downloaded one.
cd ~/murmur-static_x86-1.1.8 chmod +x ./murmur.x86 cp murmur.x86 /usr/sbin/murmurd
Now copy the Ice specification for murmur.
cp Murmur.ice /var/lib/mumble-server/Murmur.ice
Step 3 - PHP Setup Now we need to tell the PHP-Ice Extension where the Ice specification file can be found. You should already have a file /etc/php5/conf.d/IcePHP.ini from your PHP module install. Open it with a editor.
vim /etc/php5/conf.d/IcePHP.ini
OR
nano -w /etc/php5/conf.d/IcePHP.ini
Paste the folowing in a new line at the end of the file
ice.slice = /var/lib/mumble-server/Murmur.ice
Step 4 - Relaod and Check
Everything needed should be done now let us populate your new settings.
Restart your apache2.
/etc/init.d/apache2 restart
And start your Mumble server
/etc/init.d/mumble-server start
Now we will take a look in the mumble-server log to see if everything is fine.
tail -n10 /var/log/mumble-server/mumble-server.log
If you find a line similar to the following
... <W>2009-04-06 13:37:11.316 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running ...
everything is fine and you can now comunicate to Murmur over the IcePHP extension.
Again be aware of that you can break your Ice support when the package gets an update in the repository!