Installer Murmur (serveur Mumble) sur un NethServer

Créé le :
mercredi 3 janvier 2018
Révisé le :
vendredi 28 septembre 2018

Voici comment installer un serveur Murmur (Mumble) sur une NethServer box.

Suivant ce tuto depuis cette page : https://wiki.mumble.info/wiki/Install_CentOS7
La partie SELinux n'est pas nécessaire.

1- Installer murmur

Télécharger le serveur murmur

Se rendre sur cette page, pour trouver la dernière version disponible : https://github.com/mumble-voip/mumble/releases
Copier le lien qui pointe vers le fichier en .tar.bz2 et faire :

wget https://github.com/mumble-voip/mumble/releases/download/1.2.19/murmur-static_x86-1.2.19.tar.bz2
tar -vxjf ./murmur-static_x86-1.2.19.tar.bz2
mkdir /usr/local/murmur
cp -r ./murmur-static_x86-1.2.19/* /usr/local/murmur/
cp ./murmur-static_x86-1.2.8/murmur.ini /etc/murmur.ini

Vous adapterez en fonction de votre version.

Création de l'utilisateur, du groupe et des répertoires, faire :

groupadd -r murmur
useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
mkdir /var/log/murmur
chown murmur:murmur /var/log/murmur
chmod 0770 /var/log/murmur

 

2- Configuration système :

Murmur.ini

Vérifiez que les réglages suivants soient configurés correctement dans le fichier /etc/murmur.ini :

database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid
# Reminder: When changing the port that murmur will listen to you will need to also update the firewall.
# Update the firewall by editing /etc/firewalld/services/murmur.xml
# Then run "sudo firewall-cmd --reload"
port=64738
# Comment out the following setting since the service will already be executing as the correct user:
# uname=murmur

 Vous pourrez ajuster le numéro du port, si vous souhaitez en utiliser un autre pour plus de sécurité.

Autoriser l'exécution en tâche de fond

Créez le fichier /etc/systemd/system/murmur.service (en tant que root), et copier ce contenu dedans :

[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target

[Service]
User=murmur
Type=forking
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target

Créez le fichier /etc/tmpfiles.d/murmur.conf (en tant que root) avec ça dedans :

d /var/run/murmur 775 murmur murmur

 

Rotation des logs

Créez le fichier /etc/logrotate.d/murmur (en tant que root) et copiez ça dedans :

/var/log/murmur/*log {
    su murmur murmur
    dateext
    rotate 4
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload murmur.service > /dev/null 2>/dev/null || true
    endscript
}

 

Le pare-feu :

Faire, éventuellement en ajustant le numéro du port :

config set fw_murmur service status enabled TCPPort 64738 UDPPort 64738 access green,red
signal-event firewall-adjust

 

Et pour finir

Mettez le système à jour pour qu'il puisse lancer le service :

systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
systemctl daemon-reload

 

Pour lancer le service à la main :

systemctl start murmur.service

 

Pour que le service démarre au prochain démarrage du système :

systemctl enable murmur.service