Mumble est une plateforme de communication vocale open source, caractérisée par une faible latence et une haute qualité audio. Elle supporte plusieurs systèmes d'exploitation et propose des clients libres comme Mumla sur Android. Ce guide détaille l'installation du composant serveur (murmur) sur CentOS, une distribution sans paquet officiel pour ce service.
Prérequis
Un serveur CentOS avec accès root et une connexion réseau active sont nécessaires. Les ports TCP et UDP par défaut (64738) doivent être accessibles.
Installation de murmur
Le serveur Mumble, nommé murmur, s'installe manuellement à partir d'une archive statique. Téléchargez et extrayez l'archive dans un répertoire dédié :
tar -xjf murmur-static_x86-1.3.0.tar.bz2
mkdir -p /opt/murmur-srv
cp -r murmur-static_x86-1.3.0/* /opt/murmur-srv/
cp murmur-static_x86-1.3.0/murmur.ini /etc/murmur.ini
Création d'un utilisateur système et des répertoires
Isoler le service sous un compte utilisateur dédié améliore la sécurité :
groupadd -r murmur
useradd -r -g murmur -d /var/lib/murmur -s /sbin/nologin murmur
mkdir -p /var/log/murmur
chown murmur:murmur /var/log/murmur
chmod 0750 /var/log/murmur
Configuration du fichier murmur.ini
Modifiez /etc/murmur.ini pour définir les paramètres de base. Voici un exemple simplifié :
database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid
serverpassword=SecretPass123
port=64738
users=20
Le mot de passe serveur empêche les connexions non autorisées. Le port peut être changé, mais les règles de pare-feu doivent être ajustées en conséquence.
Intégration au système systemd
Pour gérer le service via systemd, créez un fichier unit :
[Unit]
Description=Serveur Mumble (Murmur)
After=network.target
[Service]
User=murmur
Type=forking
ExecStart=/opt/murmur-srv/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
Restart=on-failure
[Install]
WantedBy=multi-user.target
Enregistrez ce contenu dans /etc/systemd/system/murmur.service.
Configuration des fichiers temporaires
Créez un fichier pour gérer le répertoire PID sous /var/run :
echo "d /var/run/murmur 0755 murmur murmur" > /etc/tmpfiles.d/murmur.conf
Rotation des logs
Pour éviter la saturation de l'espace disque, configurez logrotate dans /etc/lorgotate.d/murmur :
/var/log/murmur/*.log {
su murmur murmur
weekly
rotate 5
compress
delaycompress
missingok
notifempty
postrotate
systemctl reload murmur.service > /dev/null || true
endscript
}
Règles de pare-feu
Si vous utiilsez firewalld, ajoutez un service personnalisé dans /etc/firewalld/services/murmur.xml :
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Murmur</short>
<description>Serveur Mumble</description>
<port protocol="tcp" port="64738"/>
<port protocol="udp" port="64738"/>
</service>
Activez ensuite le service et rechargez le pare-feu :
firewall-cmd --permanent --add-service=murmur
firewall-cmd --reload
Gestion de SELinux
SELinux peut bloquer le service. Pour le désactiver temporairement :
setenforce 0
Pour une désactivation permanente, modifiez /etc/selinux/config et définissez SELINUX=disabled.
Démarrage et activation du service
Préparez les fichiers temporaires, rechargez systemd, puis lancez le service :
systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
systemctl daemon-reload
systemctl start murmur
systemctl enable murmur
Test et vérification
Connectez-vous avec un client Mumble comme Mumla en spécifiant l'adresse IP du serveur et le mot de passe configuré. Une latence inférieure à 100ms indique un fonctionnement optimal.