Configuration d'un serveur Mumble sur CentOS

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.

Étiquettes: Mumble CentOS Linux serveur VoIP

Publié le 10 juin à 16h46