Aller au contenu

Installation De Umurmur (serveur Mumble) Sur Synology


ytehpe

Messages recommandés

Bonjour, Je viens de passer quelques heures à essayer d'installer uMurmur sur mon Synology.

Il existe bien un .spk sur ce même forum pour l'installation de uMurmur 0.1.3(1) mais celui-ci refuse catégoriquement de se lancer sur mon Synology.

Il m'a donc fallu l'installer à la main.

N'ayant pas trouvé de procédure pour y parvenir, j'ai fait ce petit tutoriel qui j'espère sera utile à quelqu'un.

Pourquoi uMurmur ?

-Teamspeak n'est pas installable sur les Synology car la source n'est pas publiée.

-Mumble et son serveur Murmur requièrent Qt. On oublie également.

-uMurmur est la version allégée de Murmur et donc utilisable sur un Synology!

Note:

-Tout ceci a été testé sur des Synology DSx10 (processeur ARM mv6281) mais est valable pour tous les autres Synology en y apportant de petites modifications.

-Pour connaitre le type de processeur qui équipe votre Synology regardez par-ici.

-A chaque début de test, le Synology venait d'être restauré et les disques partitionnés. Donc vous ne devriez pas avoir de problème de dépendances manquantes ou je ne sais quoi d'autre en suivant toutes les étapes.

0. Pré-requis:

-Activer le service telnet (sur mon DSM: Management > Services réseau > Terminal > Cocher "Activer le service Telnet")

-Se connecter au NAS au travers de telnet.

# telnet ip.de.votre.nas

Diskstation login: root

Password: mot de pass admin

1. Installer ipkg:
# cd /

# wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/syno-mvkw-bootstrap_1.2-7_arm.xsh

# sh syno-mvkw-bootstrap_1.2-7_arm.xsh

# rm syno-mvkw-bootstrap_1.2-7_arm.xsh

# ipkg update

2. Installer les packages nécessaires à la compilation
# ipkg install gcc

# ipkg install make automake autoconf libtool binutils

# ipkg install crosstool-native optware-devel

A la fin de la dernière installation on obtient une erreur:
An error ocurred, return value: 1.

Collected errors:

Cannot find package crosstool-native.

Check the spelling or perhaps run 'ipkg update'

Il semblerait que c'est normal et qu'il ne faut pas s'en soucier.(2) Alors passons à la suite! Facultatif mais pratique: installons mLocate (qui permet de trouver l'emplacement d'un ficher ou d'un dossier)
# ipkg install mlocate
3. Installation de libconfig J'ai utilisé la dernière version disponible soit la 1.4.3
# wget http://www.hyperrealm.com/libconfig/libconfig-1.4.3.tar.gz

# tar zxpf libconfig-1.4.3.tar.gz

# rm libconfig-1.4.3.tar.gz

# cd /libconfig-1.4.3.tar.gz

# ./configure

# make ARCH=arm

A cette étape, j'ai eu plusieurs résultats différents lors des essais: la compilation s'est toujours bien déroulée mais les fichiers résultants ne sont pas toujours partis au bon endroit. Vérifions que les fichiers libconfig.so.* sont bien dans le dossier /lib

# updatedb

# locate libconfig.so

si vous obtenez:

/lib/libconfig.so

/lib/libconfig.so.8

etc...
tout va bien! Passez à l'étape 4. si c'est plutot du genre

/usr/local/lib/libconfig.so

/usr/loca/lib/libconfig.so.8

etc...

il va falloir les copier au bon endroit:
# cp /usr/local/lib/libconfig* /lib/
4. Installation de openssl-dev
# ipkg install openssl-dev
5. Installation de uMurmur J'ai utilisé la dernière version disponible soit la 0.2.1
# cd /

# wget http://umurmur.googlecode.com/files/umurmur-0.2.1.tar.gz

# tar zxpf umurmur-0.2.1.tar.gz

# rm umurmur-0.2.1.tar.gz

# cd umurmur-0.2.1/src

Il y a quelques petites modifications à apporter au Makefile ici:(3) -ajouter au début du fichier:
CC:=gcc
-Dé-commenter les lignes suivantes et les compléter:
# OpenSSL - usually installed at a standard place

# EXTRA_CFLAGS:=

# EXTRA_LDFLAGS:=-lcrypto -lssl

comme ceci:
# OpenSSL - usually installed at a standard place

EXTRA_CFLAGS:=/opt/include

EXTRA_LDFLAGS:=-lcrypto -lssl

Modifions à présent le deuxième Makefile caché plus loin dans le repertoire google/protobuf-c/ -ajouter au début du fichier:
CC:=gcc
Revenons maintenant au dossier de uMurmur:
# cd /umurmur-0.2.1/src
et compilons:
# make ARCH=arm
Si la compilation se passe sans erreur, nous pouvons déjà copier umurmurd dans un dossier référencé dans le PATH:
# mv umurmurd /opt/bin/
6. Configuration de uMurmur(4) Dans le dossier parent de la source de uMurmur se trouve un exemple de fichier de configuration:
# cd /umurmur-0.2.1
Editez le fichier umurmur.conf à votre convenance (si ce n'est pas assez simple et/ou explicite, passez voir la référence (4)). Et enregistrez-le dans le dossier /etc Note: si vous avez laissé le repertoire pour la clé et le certificat par défaut, n'oubliez pas de le créer:
# mkdir /etc/umurmur
7. Lancer uMurmur
# umurmurd
7.1. Lancer uMurmur automatiquement au démarrage
# cd /usr/local/etc/rc.d
Il faut créer ici un fichier umurmur.sh contenant le code suivant:

#!/bin/sh


case $1 in

 	start)

 	echo "Démarrage de uMurmur ..."

 	umurmurd

 	exit 0

 	;;

 	stop)

 	echo "Arrêt de uMurmur ..."

 	killall umurmurd

 	exit 0

 	;;

 	statut)

 	ps | grep -v grep | grep umurmurd > /dev/null

 	if [ $? -ne 0 ]; then

 	echo "Statut: uMurmur n'est pas démarré"

 	exit 1

 	fi

 	echo "Statut: uMurmur est démarré"

 	exit 0

 	;;

esac

Puis rendre ce fichier executable:
# chmod 755 umurmur.sh

Voilà! uMurmur se lancera automatiquement au démarrage du NAS!

8. Note de fin et références

N'étant pas une machine, il est possible que le tutoriel contienne des erreurs de frappe, si c'est le cas, merci de me le signaler.

N'étant pas un grand connaisseur de linux, il est possible que le tutoriel comporte des étapes superflues ou pouvant irriter un puriste, si c'est le cas, merci de me le signaler.

Merci de votre lecture!

(1)Fichier .spk pour l'installation de uMurmur-0.1.3 (Pour Syno DS207+)

(2)Guide pour la compilation sur les Synology (Anglais)

(3)Discussion sur nas-forum.com concernant Mumble

(4)Wiki officiel de uMurmur

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 181
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Je ne suis pas sur à 100% mais il me semble que le plus important est l'installation de ipkg, qui dépend du type de processeur (ARM mv6281, ARM mv5281, PPC mpc8533, etc..) et pas seulement de l'architecture (ARM, PPC, x86, etc).

Car c'est lui qui va s'occuper d'installer le gcc avec les fichiers correspondant au processeur.

Une fois le bon ipkg installé la seule difference sera pour le "make" qui lui dépend uniquement de l'architecture:

Pour l'ARM:

make ARCH=arm
Pour le PPC:
make ARCH=ppc

Un avis plus expérimenté reste le bienvenu ;)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai essayé sur DS-207+ et j'obtiens une erreur lors de la compilation :

DiskStation> make ARCH=arm

make -C google/protobuf-c/

make[1]: Entering directory `/umurmur-0.2.1/src/google/protobuf-c'

gcc -I. -Wall -g -c -o protobuf-c.o protobuf-c.c

gcc -I. -Wall -g -c -o protobuf-c-data-buffer.o protobuf-c-data-buffer.c

ar rcs libprotobuf_c.a protobuf-c.o protobuf-c-data-buffer.o

make[1]: Leaving directory `/umurmur-0.2.1/src/google/protobuf-c'

gcc -I. -Wall /opt/include -c -o client.o client.c

gcc: /opt/include: linker input file unused because linking not done

cc1: /opt/include: No such file or directory

make: *** [client.o] Error 1

Je ne trouve pas de solution et je ne peux pas continuer.

Si quelqu'un a une idée, merci d'avance.

Cordialement.

Edit 1 : J'ai peut-être trouvé, j'ai /opt/include et /volume1/opt/include donc je vais essayer de modifier le makefile et voir si j'ai toujours une erreur ou pas...

Edit 2 : Quelque soit l'emplacement que j'indique dans le makefile l'erreur est la même.

Modifié par SamSoul
Lien vers le commentaire
Partager sur d’autres sites

Très bon tuto, je n'avais pas eu le temps de me lancer dans un tuto complet alors j'ai fait un package pour mon usage. Et a partager aussi ;) Je craignais les aléas de la compilation sur différentes archi

D'ailleurs, si quelqu'un veut faire un package pour son usage avec les commandes "start" et "stop" directement dans le DSM, il suffit de décompresser mon .spk qui n'est en fait qu'un .tar.gz puis de remplacer le libconfig et urmurmurd par les fichiers fraichement compilés grâce a ce tuto. Vous recompressez le tout, renommez en .spk et hop, c'est prêt :)

Peut être que tu pourrais mettre ça en annexe de ton excellent tuto afin de rendre la chose plus user-friendly :P (si besoin de modifier mon .spk n'hésitez pas, je pensais faire une petite interface pour choisir ou non le lancement au démarrage ainsi que l'édition du fichier de configuration, mais pas le temps ^^)

Lien vers le commentaire
Partager sur d’autres sites

J'ai fait un autre package qui n'apporte pas grand chose de plus pour l'instant et que je n'ai donc pas publié.

Fonctionnalité supplémentaire :

- Si Config File Editor est installé, les fichiers de configurations seront ajoutés a la liste des fichiers éditables.

La configuration se fait donc entièrement par le DSM à condition d'avoir ce fameux package (très bien fait au passage).

Je comptais rajouter un lien dans le "Bureau" du DSM afin que lorsque l'on clique dessus, Mumble s'ouvre directement sur le bon serveur. En vain, Synology n'autorise pas d'autres protocoles que http:// et https:// alors qu'il me faudrait mumble://.

J'ai envoyé un mail au support, car ça pourrait pas mal servir (je pense notamment à irc:// et tant d'autres).

On verra la suite :)

Lien vers le commentaire
Partager sur d’autres sites

J'ai fait un autre package qui n'apporte pas grand chose de plus pour l'instant et que je n'ai donc pas publié.

Fonctionnalité supplémentaire :

- Si Config File Editor est installé, les fichiers de configurations seront ajoutés a la liste des fichiers éditables.

La configuration se fait donc entièrement par le DSM à condition d'avoir ce fameux package (très bien fait au passage).

Je comptais rajouter un lien dans le "Bureau" du DSM afin que lorsque l'on clique dessus, Mumble s'ouvre directement sur le bon serveur. En vain, Synology n'autorise pas d'autres protocoles que http:// et https:// alors qu'il me faudrait mumble://.

J'ai envoyé un mail au support, car ça pourrait pas mal servir (je pense notamment à irc:// et tant d'autres).

On verra la suite :)

Merci, en tout cas le dernier package tourne nickel chrome sur 207+.

Je ne connaissais pas le site de Merty, il y a quelques .spk intéressants ;)

J'espère que le support va pouvoir t'aider.

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Je comptais rajouter un lien dans le "Bureau" du DSM afin que lorsque l'on clique dessus, Mumble s'ouvre directement sur le bon serveur. En vain, Synology n'autorise pas d'autres protocoles que http:// et https:// alors qu'il me faudrait mumble://.

Tu ne peux pas faire pointer le clic sur l'icone vers une page web en php qui contiendrait le code suivant ?

<?php
header('Location: mumble://adressedelapagedemumble');
?>

C'est une redirection en PHP, cela devrait passer je pense.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Moi j'ai ce message d'erreur quand je lance le make de umurmur:

make ARCH=arm

gcc -I. -Wall -c -o conf.o conf.c

conf.c:38:23: error: libconfig.h: No such file or directory

conf.c:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'configuration'

conf.c: In function 'Conf_init':

conf.c:59: warning: implicit declaration of function 'config_init'

conf.c:59: error: 'configuration' undeclared (first use in this function)

conf.c:59: error: (Each undeclared identifier is reported only once

conf.c:59: error: for each function it appears in.)

conf.c:64: warning: implicit declaration of function 'config_read_file'

conf.c:64: error: 'CONFIG_TRUE' undeclared (first use in this function)

conf.c:66: warning: implicit declaration of function 'config_error_text'

conf.c:66: warning: implicit declaration of function 'config_error_line'

conf.c:66: warning: format '%s' expects type 'char *', but argument 4 has type 'int'

conf.c: In function 'Conf_deinit':

conf.c:74: warning: implicit declaration of function 'config_destroy'

conf.c:74: error: 'configuration' undeclared (first use in this function)

conf.c: In function 'getStrConf':

conf.c:79: error: 'config_setting_t' undeclared (first use in this function)

conf.c:79: error: 'setting' undeclared (first use in this function)

conf.c:84: warning: implicit declaration of function 'config_lookup'

conf.c:84: error: 'configuration' undeclared (first use in this function)

conf.c:88: warning: implicit declaration of function 'config_setting_get_string'

conf.c:88: warning: assignment makes pointer from integer without a cast

conf.c:99: warning: assignment makes pointer from integer without a cast

conf.c:110: warning: assignment makes pointer from integer without a cast

conf.c:121: warning: assignment makes pointer from integer without a cast

conf.c:132: warning: assignment makes pointer from integer without a cast

conf.c:143: warning: assignment makes pointer from integer without a cast

conf.c: In function 'getIntConf':

conf.c:158: error: 'config_setting_t' undeclared (first use in this function)

conf.c:158: error: 'setting' undeclared (first use in this function)

conf.c:162: error: 'configuration' undeclared (first use in this function)

conf.c:166: warning: implicit declaration of function 'config_setting_get_int'

conf.c: In function 'Conf_getNextChannel':

conf.c:192: error: 'config_setting_t' undeclared (first use in this function)

conf.c:192: error: 'setting' undeclared (first use in this function)

conf.c:196: error: 'configuration' undeclared (first use in this function)

conf.c:199: warning: assignment makes pointer from integer without a cast

conf.c:205: warning: assignment makes pointer from integer without a cast

conf.c:212: warning: assignment makes pointer from integer without a cast

conf.c:219: warning: implicit declaration of function 'config_setting_get_bool'

conf.c: In function 'Conf_getNextChannelLink':

conf.c:226: error: 'config_setting_t' undeclared (first use in this function)

conf.c:226: error: 'setting' undeclared (first use in this function)

conf.c:230: error: 'configuration' undeclared (first use in this function)

conf.c:233: warning: assignment makes pointer from integer without a cast

conf.c:239: warning: assignment makes pointer from integer without a cast

make: *** [conf.o] Error 1

DiskStation> conf.c:38:23: error: libconfig.h: No such file or directory

-ash: conf.c:38:23:: not found

DiskStation> make ARCH=arm

gcc -I. -Wall -c -o conf.o conf.c

conf.c:38:23: error: libconfig.h: No such file or directory

conf.c:45: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'configuration'

conf.c: In function 'Conf_init':

conf.c:59: warning: implicit declaration of function 'config_init'

conf.c:59: error: 'configuration' undeclared (first use in this function)

conf.c:59: error: (Each undeclared identifier is reported only once

conf.c:59: error: for each function it appears in.)

conf.c:64: warning: implicit declaration of function 'config_read_file'

conf.c:64: error: 'CONFIG_TRUE' undeclared (first use in this function)

conf.c:66: warning: implicit declaration of function 'config_error_text'

conf.c:66: warning: implicit declaration of function 'config_error_line'

conf.c:66: warning: format '%s' expects type 'char *', but argument 4 has type 'int'

conf.c: In function 'Conf_deinit':

conf.c:74: warning: implicit declaration of function 'config_destroy'

conf.c:74: error: 'configuration' undeclared (first use in this function)

conf.c: In function 'getStrConf':

conf.c:79: error: 'config_setting_t' undeclared (first use in this function)

conf.c:79: error: 'setting' undeclared (first use in this function)

conf.c:84: warning: implicit declaration of function 'config_lookup'

conf.c:84: error: 'configuration' undeclared (first use in this function)

conf.c:88: warning: implicit declaration of function 'config_setting_get_string'

conf.c:88: warning: assignment makes pointer from integer without a cast

conf.c:99: warning: assignment makes pointer from integer without a cast

conf.c:110: warning: assignment makes pointer from integer without a cast

conf.c:121: warning: assignment makes pointer from integer without a cast

conf.c:132: warning: assignment makes pointer from integer without a cast

conf.c:143: warning: assignment makes pointer from integer without a cast

conf.c: In function 'getIntConf':

conf.c:158: error: 'config_setting_t' undeclared (first use in this function)

conf.c:158: error: 'setting' undeclared (first use in this function)

conf.c:162: error: 'configuration' undeclared (first use in this function)

conf.c:166: warning: implicit declaration of function 'config_setting_get_int'

conf.c: In function 'Conf_getNextChannel':

conf.c:192: error: 'config_setting_t' undeclared (first use in this function)

conf.c:192: error: 'setting' undeclared (first use in this function)

conf.c:196: error: 'configuration' undeclared (first use in this function)

conf.c:199: warning: assignment makes pointer from integer without a cast

conf.c:205: warning: assignment makes pointer from integer without a cast

conf.c:212: warning: assignment makes pointer from integer without a cast

conf.c:219: warning: implicit declaration of function 'config_setting_get_bool'

conf.c: In function 'Conf_getNextChannelLink':

conf.c:226: error: 'config_setting_t' undeclared (first use in this function)

conf.c:226: error: 'setting' undeclared (first use in this function)

conf.c:230: error: 'configuration' undeclared (first use in this function)

conf.c:233: warning: assignment makes pointer from integer without a cast

conf.c:239: warning: assignment makes pointer from integer without a cast

make: *** [conf.o] Error 1

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai essayé de compiler libconfig et umurmur pour les proc x86 (et éventuellement adapter le .spk de Diaoul) mais la compilation de libconfig me retourne une erreur :

make[3]: *** [libconfig++.la] Error 1

make[3]: Leaving directory `/libconfig-1.4.3/lib'

make[2]: *** [all] Error 2

make[2]: Leaving directory `/libconfig-1.4.3/lib'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/libconfig-1.4.3'

make: *** [all] Error 2

J'ai pourtant appliqué le tuto à la lettre en utilisant
make ARCH=x86
au lieu de
make ARCH=ppc

(j'ai même essayé make tout court).

Si vous avez des idées, merci d'avance.

Sam.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.