Instalar Murmur en CentOS 7
TL;DR
Sigue estos pasos para instalar y ejecutar Murmur (el servidor de Mumble) en CentOS 7: abrir el puerto 64738 en firewalld, descargar y extraer el tarball, crear usuario y permisos, configurar /etc/murmur.ini, crear la unidad systemd y desactivar SELinux si es necesario. Al final podrás conectar clientes Mumble al puerto por defecto 64738.
Introducción
Mumble es una aplicación gratuita pensada principalmente para jugadores que permite comunicación por voz con baja latencia y alta calidad. Murmur es el servidor de Mumble: implementa una arquitectura cliente-servidor con canales jerárquicos y un archivo de configuración central (/etc/murmur.ini).
Esta guía describe paso a paso cómo instalar Murmur en un servidor CentOS 7, cómo dejarlo gestionado por systemd y qué comprobaciones y ajustes de seguridad conviene aplicar.
Importante: los comandos se ejecutan como root o con sudo según se indica. Define alternativas donde se menciona (por ejemplo, cambiar el puerto por defecto 64738).
Requisitos previos
- CentOS 7 con acceso root o sudo.
- Conexión a Internet desde el servidor para descargar el tarball.
- firewalld activo (u otro firewall equivalente) si usas las reglas de este tutorial.
- Alternativa: si prefieres no desactivar SELinux, planifica etiquetas y reglas SELinux adecuadas.
Breve definición: Murmur = servidor de Mumble; tarball = archivo comprimido .tar.bz2 con los binarios estáticos.
Configurar firewalld
El puerto por defecto de Murmur es 64738 (TCP y UDP). Antes de instalar, abre ese puerto en el firewall para permitir conexiones desde clientes.
Si vas a usar otro puerto, sustituye 64738 por el puerto elegido.
- Crea el servicio para firewalld:
sudo vi /etc/firewalld/services/murmur.xml
- Añade estas líneas en el archivo (sustituye las comillas si tu editor las corrige):
Murmur
Mumble Server
- Añade el servicio a firewalld y recarga la configuración:
sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload
Nota: si usas nftables/iptables u otro gestor, crea la regla equivalente para TCP/UDP 64738.
Descargar el tarball de Murmur
Visita la página oficial del proyecto Mumble para encontrar la última versión del “Mumble Static Linux Server” (murmur static). Por ejemplo, en GitHub hay releases con binarios estáticos.
- Copia la URL directa del tarball y descárgala desde el servidor con wget. Ejemplo:
wget https://github.com/mumble-voip/mumble/releases/download/1.2.13/murmur-static_x86-1.2.13.tar.bz2
(La URL y la versión pueden cambiar; usa la última estable disponible.)
Salida de ejemplo del wget (puede variar):
--2016-02-22 11:40:08-- https://github.com/mumble-voip/mumble/releases/download /1.2.13/murmur-static_x86-1.2.13.tar.bz2
Resolving github.com (github.com)... 192.30.252.131
Connecting to github.com (github.com)|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-cloud.s3.amazonaws.com/releases/1413319/63ec4c18-b7a2-1 1e5-87ae-b6a2fa0c4ba0.bz2?... [following]
--2016-02-22 11:40:09-- https://github-cloud.s3.amazonaws.com/releases/1413319/...
Resolving github-cloud.s3.amazonaws.com (github-cloud.s3.amazonaws.com)... 54.231.114.170
Connecting to github-cloud.s3.amazonaws.com (github-cloud.s3.amazonaws.com)|54.231.114.170|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11933906 (11M) [application/octet-stream]
Saving to: ‘murmur-static_x86-1.2.13.tar.bz2’
100%[======================================>] 11,933,906 35.1MB/s in 0.3s
2016-02-22 11:40:10 (35.1 MB/s) - ‘murmur-static_x86-1.2.13.tar.bz2’ saved [11933906/11933906]
Extraer el tarball de Murmur
Extrae el contenido del tarball descargado:
tar -vxjf ./murmur-static_x86-1.2.13.tar.bz2
Si recibes un error similar a este, instala bzip2:
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Solución:
sudo yum install bzip2
Salida de ejemplo de la instalación de bzip2:
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
........................
Install 1 Package
Upgrade ( 1 Dependent package)
Total download size: 92 k
Is this ok [y/d/N]:
Después de instalar bzip2, extrae de nuevo y verás un listado de archivos como:
murmur-static_x86-1.2.13/
murmur-static_x86-1.2.13/murmur.x86
murmur-static_x86-1.2.13/LICENSE
murmur-static_x86-1.2.13/dbus/
...
murmur-static_x86-1.2.13/murmur.ini
murmur-static_x86-1.2.13/README
Instala los archivos en /usr/local/murmur:
sudo mkdir -p /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.2.13/* /usr/local/murmur/
Copia el fichero de configuración ejemplo al directorio /etc:
sudo cp ./murmur-static_x86-1.2.13/murmur.ini /etc/murmur.ini
Nota: si usaste otra versión sustituye el nombre del directorio según corresponda.
Corregir propiedad y permisos
Crea un usuario y grupo dedicados para ejecutar Murmur (no como root). En este tutorial usaremos usuario y grupo “murmur” y directorio home /var/lib/murmur:
sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
Crea el directorio de logs y ajusta la propiedad y permisos:
sudo mkdir -p /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
sudo chmod 0770 /var/log/murmur
Permisos recomendados: 0770 para que solo el usuario y el grupo murmur puedan leer/crear logs.
Configurar Murmur (/etc/murmur.ini)
Edita el archivo de configuración principal:
sudo vi /etc/murmur.ini
Cambia o añade las líneas para que apunten a ubicaciones estándar de PID y logs:
pidfile=/var/run/murmur/murmur.pid
logfile=/var/log/murmur/murmur.log
Guarda y cierra el editor (:wq en vi/vim).
Notas sobre configuración:
- Revisa otros parámetros dentro de murmur.ini como welcome text, motd, bandwith, port y database settings si quieres persistencia con SQLite/MySQL.
- Si activas ICE/DBUS, asegúrate de comprender los requisitos y dependencias.
Crear el servicio systemd
Para gestionar Murmur con systemd crea la unidad:
sudo vi /etc/systemd/system/murmur.service
Pega el contenido siguiente (este es un ejemplo mínimo que refleja el archivo del tutorial original):
[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target
[Service]
User=murmur
Type=forking
PIDFile=/var/run/murmur/murmur.pid
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
[Install]
WantedBy=multi-user.target
Sugerencia: una versión más resiliente puede incluir Restart=on-failure y LimitNOFILE, por ejemplo:
[Service]
User=murmur
Type=forking
PIDFile=/var/run/murmur/murmur.pid
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
Restart=on-failure
LimitNOFILE=4096
Crear el directorio de PID en cada arranque
En muchas distribuciones /var/run (enlace a /run) se borra tras reiniciar. Crea un archivo tmpfiles para recrear el directorio de pid:
sudo vi /etc/tmpfiles.d/murmur.conf
Inserta la línea:
d /var/run/murmur 775 murmur murmur
Aplica la creación y recarga systemd:
sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload
Habilita el servicio para que arranque con el sistema:
sudo systemctl enable murmur.service
Desactivar SELinux (opcional)
En el tutorial original se recomienda desactivar SELinux porque puede impedir el arranque de Murmur. Alternativas más seguras son crear reglas SELinux específicas o ejecutar en modo permisivo mientras se definen políticas.
Para desactivar de forma permanente (no recomendado en entornos de producción sin evaluación):
sudo vi /etc/sysconfig/selinux
Cambia la línea a:
SELINUX=disabled
Luego reinicia el sistema.
Nota de seguridad: desactivar SELinux reduce la protección del sistema. Evalúa la alternativa de ajustar etiquetas/booleans o escribir una política personalizada.
Iniciar y comprobar el servidor
Arranca Murmur:
sudo systemctl start murmur.service
Comprueba el estado del servicio:
sudo systemctl status murmur.service
Revisa los logs:
sudo journalctl -u murmur.service
sudo tail -n 100 /var/log/murmur/murmur.log
Conecta desde un cliente Mumble usando la IP o dominio del servidor y el puerto 64738 (o el puerto configurado). Puedes descargar el cliente Mumble desde la web oficial o desde el repositorio del proyecto en GitHub.
Solución de problemas rápida (runbook)
- No arranca: comprueba permisos de /var/run/murmur y /var/log/murmur; revisa owner y PID file.
- Puerto bloqueado: verifica firewalld/iptables y que no exista otro servicio ocupando 64738.
- Error de extracción: instala bzip2 como se indica.
- Problemas con SELinux: revisa /var/log/audit/audit.log y ejecuta setenforce 0 temporalmente para diagnosticar.
Lista de verificación por roles
Administrador de sistema:
- Abrir puerto en firewall.
- Crear usuario/grupo murmur y permisos.
- Configurar unidad systemd y tmpfiles.
DevOps/Operaciones:
- Integrar monitoreo (check de proceso y SLI básicos).
- Configurar rotación de logs (logrotate).
Soporte de red/jugadores:
- Probar conectividad desde clientes y comprobar latencias.
- Validar NAT/port-forward si hay balanceadores.
Criterios de aceptación
- El servicio murmur.service está activo (active (running)).
- /var/run/murmur/murmur.pid existe y pertenece a murmur:murmur.
- /var/log/murmur/murmur.log está siendo escrito.
- Los clientes Mumble pueden conectarse al host:64738 y unirse a canales.
Alternativas y modelos mentales
Alternativas a Murmur:
- Usar servicios comerciales de voz (Discord, TeamSpeak) si no quieres gestionar infraestructura.
- Ejecutar Mumble en un contenedor (Docker) para aislar el proceso y gestionar configuraciones.
Modelo mental: piensa en Murmur como un servicio TCP/UDP tradicional que necesita:
- puerto abierto
- usuario dedicado
- gestión por systemd
- directorios persistentes para logs y datos
Seguridad y consideraciones de producción
- Mantén Murmur actualizado y revisa notas de seguridad del proyecto.
- No ejecutes como root; usa el usuario murmur.
- Considera usar TLS para web/ICE interfaces si expones APIs.
- Configura rotación de logs y copia de seguridad de la base de datos si la usas.
Migración y compatibilidad
- Murmur es conocido por mantener compatibilidad entre versiones; sin embargo, antes de actualizar en producción prueba en staging.
- Si migras a otra máquina, copia /etc/murmur.ini y la base de datos (si usas persistencia) y conserva la versión del binario o realiza pruebas de compatibilidad.
Resumen
Si sigues los pasos: abrir el puerto en el firewall, descargar y extraer el tarball, crear usuario y permisos, ajustar /etc/murmur.ini, crear la unidad systemd y gestionar SELinux, tendrás un servidor Murmur funcional en CentOS 7 listo para aceptar conexiones Mumble en el puerto 64738.
Importante: evalúa las implicaciones de seguridad (SELinux, usuarios, logs) antes de desplegar en producción.
Últimos consejos rápidos
- Prueba desde la red del cliente y desde fuera para comprobar NAT.
- Automatiza la instalación con un script o herramienta de configuración para entornos repetibles.
Materiales similares

Fallo en autoservicio de McDonald’s que permitió 50% de descuento

Arreglar pantalla negra en League of Legends

Notes — app sencilla de notas para Linux
Instalar Murmur en CentOS 7

Mantenimiento de Ubuntu: guía práctica
