DrumbleViewer / dICE
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 20.09.2009 - 11:57 Uhr in
Hallo Leute.
habe hier mal eine Frage an die Mumble spezis.
Da ich eine Drupal Seite mein eigen nennen kann und auch einen Mumble Server auf dem gleichen Server am laufen habe, wollte ich mit DrumbleViewer den Mumble Server auf der Drupal Seite abbilden.
Leider stoße ich da auf schwierigkeiten.
Der Server läuft auf Debian Version 5. PHP und MYSQL in der aktuellsten Version.
Murmur bzw. mumble-server wurde aus den repos von Debian installiert.
Zusätzlich wurden noch folgendes auf dem Server installiert
libzeroc-ice32, php-zeroc-ice, lzma, icecpp, zeroc-ice
Bei Drupal ist außerdem noch das Modul dICE eingespielt.
Wenn ich jetzt auf dICE zugreife bekomme ich folgende Fehlermeldung im Browser
Fatal error: Ice_loadProfile() [function.ice-loadprofile]: unable to create Slice types: in /var/www/verloren/sites/all/modules/dice/dice.module on line 31
hier ein auszug aus der dice.module
<?php
// $ID$
/**
* Implementation of hook_menu().
*/
function dice_menu() {
$items = array();
$items['admin/settings/dice'] = array(
'title' => 'dICE',
'description' => 'Main Settings for dICE',
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('administer site configuration'),
'page callback' => 'drupal_get_form',
'page arguments' => array('dice_settings'),
'file' => 'include/dice_admin_settings.inc',
);
return $items;
}
/**
* This function load on module init the ICE profile
*/
function dice_init() {
if(extension_loaded('ice')){
if (variable_get('dice_active', 0) == 1) {
try {
Ice_loadProfile(variable_get( 'dice_profile', '' ));
global $ICE;
} catch(Ice_LocalException $ex) {
drupal_set_message(t('Cant load the ICE profile: %dice_profile', array('%dice_profile' => variable_get( 'dice_profile', '' ) )),'error',TRUE);
}
}
} else {
drupal_set_message(t('ICE extension not loaded! Please check your php config'),'error',TRUE);
}
}
function dice_create_proxy() {
global $ICE;
try {
$dice_proxy = $ICE->stringToProxy('Meta:tcp -h 127.0.0.1 -p 6502');
$dice_meta = $dice_proxy->ice_checkedCast("::Murmur::Meta" );
} catch(Ice_LocalException $ex) {
print_r($ex);
}
return $dice_meta;
}
Tja nach dem ich nun Stunden im Netz gesucht aber keine Lösung gefunden habe, hoffe ich das mir hier jemand helfen kann.
Gruss Bastian
Wenn ich weitere angaben braucht, einfach bescheid geben.
- Anmelden oder Registrieren um Kommentare zu schreiben
Tut mir leid für den
am 21.09.2009 - 08:59 Uhr
Tut mir leid für den Doppelpost.
Aber da ich absolut nicht weiter komme und hier bei Drupalcenter ja auch mumble im einsatz ist, hoffe ich das heute jemand draufguckt der sich mit der Thematik auskennt.
Gruss Bastian
So ich bin etwas weiter
am 21.09.2009 - 14:09 Uhr
So ich bin etwas weiter gekommen.
Habe mir aus dem Netz die IcePHP.so besorgt und eingebunden.
Jetzt bekomme ich keine Fehlermeldung mehr, wenn ich auf meine Seite gehe. Dafür wird die Seiite jetzt als Offline angezeigt, da die mysql verbindung nicht mehr existiert.
Dies, habe ich rausgefunden, liegt daran das ich in die php.ini die Zeile
extensions_dir = pfad/zur/so/Datei/IcePHP.so
eingebaut habe.
Nehme ich die zeile wieder raus kommt allerdings wieder die Fehlermeldung.
Wie bekomme ich denn jetzt hin das er mir sowohl die IcePHP.so lädt als auch meine mysql verbindung??
Gruss Bastian
So auch den letzten fehler
am 21.09.2009 - 16:47 Uhr
So auch den letzten fehler habe ich behoben.
Jetzt läd er soweit alle nötigen Dateien um wieder die Drupal Seite aufrufen zu können und um ICE zu starten.
Das Modul drumbleviewer habe ich nun aktiviert.
Leider bekomme ich jetzt diese Meldung im Browser:
Ice_UnknownLocalException Object ( [unknown] => Network.cpp:679: Ice::ConnectionRefusedException: connection refused: Connection refused [message:protected] => [string:private] => [code:protected] => 0 [file:protected] => /var/www/verloren/sites/all/modules/dice/dice.module [line:protected] => 46 [trace:private] => Array ( [0] => Array ( [file] => /var/www/verloren/sites/all/modules/dice/dice.module [line] => 46 [function] => ice_checkedCast [class] => Ice_ObjectPrx [type] => -> [args] => Array ( [0] => ::Murmur::Meta ) ) [1] => Array ( [file] => /var/www/verloren/sites/all/modules/dice/api/dice_murmur_api.module [line] => 25 [function] => dice_create_proxy [args] => Array ( ) ) [2] => Array ( [file] => /var/www/verloren/sites/all/modules/drumbleViewer/includes/mumbleviewer.inc [line] => 18 [function] => murmur_getDefaultConf [args] => Array ( ) ) [3] => Array ( [file] => /var/www/verloren/sites/all/modules/drumbleViewer/drumbleviewer.module [line] => 77 [function] => drumbleviewer_get_viewer [args] => Array ( [0] => Array ( [serverid] => 1 [serverurl] => localhost ) ) ) [4] => Array ( [function] => drumbleviewer_page [args] => Array ( ) ) [5] => Array ( [file] => /var/www/verloren/includes/menu.inc [line] => 348 [function] => call_user_func_array [args] => Array ( [0] => drumbleviewer_page [1] => Array ( ) ) ) [6] => Array ( [file] => /var/www/verloren/index.php [line] => 18 [function] => menu_execute_active_handler [args] => Array ( ) ) ) )
Fatal error: Call to a member function getDefaultConf() on a non-object in /var/www/verloren/sites/all/modules/dice/api/dice_murmur_api.module on line 26
Falls mir bei diesem Problem einer weiterhelfen könnte, währe ich sehr dankbar.
Gruss Bastian
Hallo, das Modul ist auf
am 22.09.2009 - 11:17 Uhr
Hallo,
das Modul ist auf meinem Mist gewachsen ;).
Zur Info, hier auf DrupalCenter wird das Modul nicht eingesetzt.
Zu deinem Problem,
hast du in deiner php.ini die Ice Extension geladen und das Murmur Slice?
extension=IcePHP.so
ice.slice = /dein/pfad/zu/Murmur.ice
Natürlich funktioniert das Spass nur, wenn dein Murmur auch Ice benutzt. Info dazu findest du im Log File.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Hi Ozon Genau auf dich habe
am 22.09.2009 - 11:48 Uhr
Hi Ozon
Genau auf dich habe ich ehrlich gesagt gewartet :-)
Also die php.ini habe ich schon um die beiden Einträge ergänzt
meine Php.ini die übrigens in /etc/php5/apache2/ liegt sieht am ende so aus
extension_dir = /usr/lib/php5/20060613+lfs
extension=IcePHP.so
ice.slice = /var/lib/mumble-server/Murmur.ice
das "extension_dir" musste ich angeben, da ich sonst probleme mit der Mysql datenbank bekommen habe.
Gruss Bastian
Bastian schrieb Genau auf
am 23.09.2009 - 12:37 Uhr
Genau auf dich habe ich ehrlich gesagt gewartet :-)
Ich muss zugegeben, das DC etwas vernachlässigt zu haben. Leide gerade unter extremen Zeitmangel.
Hätte mich ein DC User nicht auf diesen Beitrag hingewiesen, dann wüsste ich gar nichts davon ;).
Bei deinem letzten Post konnte ich nicht erkennen ob das Problem weiterhin besteht oder es nun funktioniert.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Kein Problem, ich denke mal
am 23.09.2009 - 12:58 Uhr
Kein Problem, ich denke mal du hast mit "Mumbletower" genug stress :-)
Um so dankbarer bin ich das du doch Zeit für mich findest.
Tja leider hat sich das Problem noch nicht behoben.
Der letze Post von mir, beschreibt nur was am Schluss meiner PHP.ini steht.
Du sagtest ja ich soll die Sachen hinzufügen. Allerdings hatte ich das schon drin und bekomme trotzdem die Fehler.
Könnte es eventuell was mit rechten zu tun haben??
Bekomme auch mit anderen Modulen für Mumble einen Ähnlichen Fehler.
Gruss Bastian
Der Webserver/PHP braucht
am 23.09.2009 - 13:19 Uhr
Der Webserver/PHP braucht natürlich die Rechte dazu um auf Murmur.ice zuzugreifen können. Zum Test könntest du ja die Murmur.ice in dein www Root verschieben (Pfade in php.ini dann anpassen). Sicherheitstechnisch gibt es hier keine Probleme.
Verwendest du das php Apache Modul oder ein fcgi Setup?
Wurden bestimmte Verzeichnisse für php eingeschränkt?
Ist Murmur überhaupt per Ice erreichbar?
Dazu einfach mal das Log-File von Murmur durch schauen.
Beispiel wie es aus sehen sollte:
grep Ice /pfad/zu/murmur.log
<W>2009-09-17 22:05:19.443 MurmurIce: Endpoint "tcp -h 192.168.10.1 -p 6508" running
Wenn du magst, kannst du mir per Kontakt Formular die Ausgabe von phpinfo() zukommen lassen.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Murmur.ice habe ich mal ins
am 23.09.2009 - 13:33 Uhr
Murmur.ice habe ich mal ins www verschoben und die php.ini angepasst, leider noch der selbe Fehler
Verwendest du das php Apache Modul oder ein fcgi Setup?
Ich verwende das php Apache Modul
Wurden bestimmte Verzeichnisse für php eingeschränkt?
Da muss ich leider dummer Junge spielen und dir sagen das ich keine Ahnung habe
Ist Murmur überhaupt per Ice erreichbar?
interessanter weise finde ich keien murmur.log ????
ausgabe von phpinfo() ist auf dem weg
Bastian schrieb Zitat: Ist
am 23.09.2009 - 13:40 Uhr
Ist Murmur überhaupt per Ice erreichbar?
interessanter weise finde ich keien murmur.log ????
In der Konfigurationsdatei von Murmur, murmur.ini sollte ein Eintrag dazu sein. Wenn dieser Eintrag auskommentiert ist, logt Murmur nur in der Datenbank.
Alternative dazu, starte Murmur manuell.
murmur -ini /pfad/zu/murmur.ini -fg
Der Parameter -fg hält Murmur auf dem aktuellen Terminal und du siehst die Ausgabe. Mit STRG+C kannst du den Prozess dann wieder killen.
Mir scheint, als verwendest du die mitgelieferte Version deine Distribution - ist das richtig?
Welche Version von Mumble/Murmur verwendest du?
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Richtig ich verwende die aus
am 23.09.2009 - 13:50 Uhr
Richtig ich verwende die aus den Repos von Debian Lenny
welche version das ist weiß ich nicht.
Die log habe ich auch gefunden.
<W>2009-09-23 14:46:29.006 Initializing settings from /etc/mumble-server.ini (basepath /etc)
<W>2009-09-23 14:46:29.227 ServerDB: Openend SQLite database /var/lib/mumble-server/mumble-server.sqlite
<W>2009-09-23 14:46:29.812 1 => Server listening on port 64738
<W>2009-09-23 14:46:29.849 1 => Not registering server as public
Mir ist gerade durch zufall
am 23.09.2009 - 14:38 Uhr
Mir ist gerade durch zufall aufgefallen, wenn ich auf der Kommandozeile php eingebe, bekomme ich folgende Ausgabe
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs//usr/lib/php5/extensions/IcePHP.so' - /usr/lib/php5/20060613+lfs//usr/lib/php5/extensions/IcePHP.so: cannot open shared object file: No such file or directory in Unknown on line 0
Im Apache2 error.log steht auch folgendes
PHP Warning: PHP Startup: Unable to load dynamic library '/var/www/20060613+lfs//var/www/20060613+lfs/IcePHP.so' - /var/www/20060613+lfs//var/www/20060613+lfs/IcePHP.so: cannot open shared object file: No such file or directory in Unknown on line 0
Hallo, da kommen wir ja der
am 24.09.2009 - 14:33 Uhr
Hallo,
da kommen wir ja der Sache so langsam auf die Spur. Verwunderlich das phpinfo() einem erzähle das dieses Modul geladen wurde. Man kann aber auch sagen das Zeroc-Ice in älteren Version, wie sie auch in Lenny zu finden ist, einfach macken hat. Einer der Gründe warum ich mir aktuelle Zeroc-Ice Pakete für Debian gebaut habe. So nebenbei, Pakete für Debian zu bauen ist ein Krampf!
Wenn du ein 64Bit OS verwendest, kann ich dir diese zukommen lassen. Kleiner Hinweis, man nimmt von dritten keine Pakete an ;) - musst du wissen.
Mumble dürfte ebenfalls als veraltet gelten.
http://packages.debian.org/search?suite=stable§ion=all&arch=any&sear...
Mumble 1.1.4? Aktuell stable ist die 1.1.8 und wenn ich mich recht entsinne, kann die 1.1.4er Version noch gar kein Ice. Das kam erst später dazu. Kann ich dir aber nicht genau sagen. Hier ist es sowieso sinnvoll eine aktuelle Version zu verwenden. 1.2 steht auch vor der Türe. Entweder du wirfst selber den Compiler an und baust dir eine neue Version oder verwendest das statc Build was auf http://mumble.sf.net zu finden ist. Besser ist das static Build.
ice="tcp -h 127.0.0.1 -p 6502"
Wenn Ice mun immer noch nicht geht, aktuelle Zeroc-Ice Version.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Hey Ozon, habe gestern Abend
am 24.09.2009 - 15:31 Uhr
Hey Ozon,
habe gestern Abend meine dollen 5 Minuten bekommen und einfach den kompletten Server platt gemacht und neu aufgesetzt.
Diesmal auch wie du vorgeschlagen hast mit der static 1.1.8.
Das alles dann genau nach Anleitung und siehe da die Sache läuft ohne Probleme. Wie schwer man sich manchmal doch die Welt machen kann.
Ich danke dir überaus für deine Hilfe. Ist schon gut, wenn man hin und wieder mal auf jemanden zurückgreifen kann der wirklich ahnung hat.
Eine kleinigkeit hätte ich aber noch :-)
Der Mumbleviewer läuft jetz so wie er soll. Ich habe ihn als Block in die rechte Seitenleiste eingebunden. Alles schön und gut. Aber sobald der Server (murmur) aus irgendeinem Grund mal weg ist, ist auch sofort die Seite mit ner Fehlermeldung lahmgelegt weil der Mumbleviewer bzw Ice nicht mehr an den Server dran kommt. Das ist ziemlich unbefridigend.
Hast du dafür eventuell auch noch ne Lösung parat??
Gruss Bastian
Das Problem liegt im Modul
am 26.09.2009 - 09:24 Uhr
Das Problem liegt im Modul selber. Ich sollte es mal aktualisieren. Ich werde aber bis zur Mumble 1.2 Version keine Änderungen mehr vornehmen.
--
ozon - http://mumble-tower.de | DVC - Der Voice Chat für Drupalisten | Jabber: ozon@jabber.ccc.de
Ok dann weiß ich da
am 29.09.2009 - 07:12 Uhr
Ok dann weiß ich da bescheid.
Hoffe dann baldmöglichst auf die neue Mumble Version :-)
Gruß Bastian
Go go go...
am 06.01.2010 - 20:08 Uhr
Die neue Mumble Version ist up and running.. =)
Ciaoi
SirFiChi
---------
Drei mal Rechts ist auch Links....