Outils pour utilisateurs

Outils du site


freebsd:murmur

murmur

Installation

Depuis les ports :

portupgrade -N murmur

Configuration

On change les droits des répertoires dans lesquels murmur doit pouvoir écrire (par défaut, tous les répertoires appartiennent à root) :

chown murmur /var/log/murmur/ /var/db/murmur/ /var/run/murmur/

Un example de fichier de configuration :

# Path to database. If blank, will search for
# murmur.sqlite in default locations or create it if not found.
database=/var/db/murmur/murmur.sqlite

# 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 connection, and
# any script attempting to access must then have this secret
# (as context with name "secret").
# Access is split in read (look only) and write (modify) 
# operations. Write access always includes read access,
# unless read is explicitly denied (see note below).
#
# Note that if this is uncommented and with empty content,
# access will be denied.

#icesecretread=
icesecretwrite=

# 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=/var/log/murmur/murmur.log

# If set, murmur will write its process ID to this file.
pidfile=/var/run/murmur/murmur.pid

# 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="<br />Welcome to <b>Sheltem's Server</b>.<br />May The Tartiflette Be With You<br />"

# Port to bind TCP and UDP sockets to
port=64738

# Specific IP or hostname to bind to.
# If this is left blank (default), murmur will bind to all available addresses.
host=XXX.XXX.XXX.XXX

# Password to join server
serverpassword=password

# Maximum bandwidth (in bits per second) clients are allowed
# to send speech at.
bandwidth=72000

# Maximum number of concurrent clients allowed.
users=30

# 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?
# Set to 0 to keep forever, or -1 to disable logging to the DB
#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.
# Only uncomment the 'registerName' parameter if you wish to give your "Root" channel a custom name.
#
#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 have a proper SSL certificate, you can provide the filenames here.
# Otherwise, Murmur will create it's own certificate automatically.
#sslCert=
#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=murmur

# 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

Ensuite on défini le mot de passe “superuser” (ce qui crée également le fichier de base de données de murmur) :

/usr/local/sbin/murmurd -ini /usr/local/etc/murmur.ini -supw password

On ajoute ça dans /etc/rc.conf :

murmur_enable="YES"

Lancement

Tout simplement :

/usr/local/etc/rc.d/murmur start

Firewall (pf)

La ligne qui va bien pour que pf laisse passer le traffic entre les clients (mumble) et le serveur (murmur) :

pass in on $ext_if proto { tcp udp } to ($ext_if) port 64738

$ext_if est une macro défini en début de fichier de configuration :

ext_if="re0"

ou re0 est à remplacer par le nom de l'interface réseau.

Administration

L'administration de murmur peut se faire via DBUS ou ICE, les 2 sont relativement complexe à appréhender mais il faut faire un choix, DBUS ayant énormément de dépendances et considéré comme obsolète, mon choix se porte sur ICE.

php5-ice

Le port php5-ice se trouvant en “IGNORE”, il faut bricoler un peu :

On se rend dans le répertoire du port :

cd /usr/ports/devel/php5-ice

On ouvre le fichier Makefile avec son éditeur préféré et on commente cette ligne :

#IGNORE_WITH_PHP=5

On se contente dans un premier temps d'appliquer les patchs inclues dans le port (celui ci ne sera donc pas compiler ) :

make patch

On se rend dans le répertoire contenant les sources :

cd work/Ice-3.4.2

Ensuite on récupere ce patch :

wget http://www.zeroc.com/forums/attachments/patches/954d1325262013-ice-php-php-5-4-patch-php-patch.txt

On l'applique :

patch -p1 < 954d1325262013-ice-php-php-5-4-patch-php-patch.txt

On peut enfin compiler :

make install clean

Si php5-ice était déjà installé, et qu'on le recompile après une mise à jour de php on utilisera plutôt :

make reinstall clean

On modifie le fichier /usr/local/etc/php.ini en remplaçant ça :

;include_path = ".:/php/includes"

par ça :

include_path = "/usr/local/lib/php/20100525"

le nom du répertoire étant une date son nom peu varier d'une version de php à l'autre. Cette entrée est donc à vérifier si l'interface d'administration n'arrive plus à communiquer avec murmur après une mise à jour de php5 et php5-ice

Si pour une quelconque raison, le répertoire (qui doit contenir divers fichiers de ICE) n'existe pas ou est vide, les fichiers nécessaires sont récupérable en téléchargeant la dernière archive de ICE sur http://www.zeroc.com/download.html dans la section source (ex : Ice-3.4.2.tar.gz). une fois décompressé, il faut récupérer les fichiers se trouvant dans le répertoire “php/lib” de l'archive, les copier dans /usr/local/lib/php/nom_de_son_choix et modifier la variable “include_path” en conséquence dans /usr/local/etc/php.ini

Activation de ICE pour murmur

Ensuite on vérifie/modifie la configuration de murmur dans /usr/local/etc/murmur.ini, on dé-commente la ligne suivante :

ice="tcp -h 127.0.0.1 -p 6502"

On commente ces quatres la :

#dbus=session
#dbus=session
#icesecretread=
#icesecretwrite="secret"

On relance le serveur et on s'assure que quelque chose écoute sur le port 6502 :

  netstat -a | grep 6502
  

Ce qui doit sortir ceci :

tcp4       0      0 localhost.6502         *.*                    LISTEN

Le port de Murmur n'inclue pas de fichier “Murmur.ice” pourtant indispensable a la communication entre toute interface d'administration et Murmur, on récupere donc la version stable sur le site officiel http://mumble.sourceforge.net/ qu'on va décompresser :

tar -zxvf murmur-static_x86-1.2.3

Ensuite on crée le répertoire qui dans lequel on mettra “Murmur.ice” :

mkdir /var/lib/murmur

Et on copie “Murmur.ice” :

cp chemin/ou/est/decompressé/murmur_stable/Murmur.ice /var/lib/murmur

Une fois le fichier copier on ajoute à la fin du fichier /usr/local/etc/php.ini :

ice.slice = /var/lib/murmur/Murmur.ice

Installation

On télécharge MumPI ici http://sourceforge.net/projects/mumpi/ :

On extrait l'archive :

tar -zxvf MumPI_2.2.3.tar.bz2

Partant du principe qu'apache est installé et fonctionne déja, on copie le répertoire extrait dans le répertoire de son site, il suffit ensuite de se rendre à l'adresse de MumPI pour procéder à l'installation (ex : http://mon_site/MumPI )

MumPi détecte automatiquement si c'est la première fois que vous vous connectez, un fichier de configuration par défaut sera automatiquement généré.

Ensuite on suit le lien en bas de page qui permet de se connecter en “admin”, ceci est indispensable, puisque la première fois, les champs “user” et “password” servent à créer le compte “admin” de MumPI, n'importe qui pourrait donc s'y connecter si vous ne le faite pas le premier, on rempli donc les champs avec un nom d'utilisateur et un mot de passe de son choix, et c'est terminé.

freebsd/murmur.txt · Dernière modification : 2012/09/13 21:47 de sheltem