Guía de tecnologías

Instalar Murmur en CentOS 7

6 min read Linux Actualizado 05 Oct 2025
Instalar Murmur en CentOS 7
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.

  1. Crea el servicio para firewalld:
sudo vi /etc/firewalld/services/murmur.xml
  1. Añade estas líneas en el archivo (sustituye las comillas si tu editor las corrige):


  Murmur
  Mumble Server
  
  
  1. 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.

  1. 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.)

Descargar servidor estático de Mumble.

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]

Descargando Mumble con wget.

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

Extraer el archivo de Murmur

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.
Autor
Edición

Materiales similares

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

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

Arreglar pantalla negra en League of Legends
Soporte técnico

Arreglar pantalla negra en League of Legends

Notes — app sencilla de notas para Linux
Productividad

Notes — app sencilla de notas para Linux

Instalar Murmur en CentOS 7
Linux

Instalar Murmur en CentOS 7

Mantenimiento de Ubuntu: guía práctica
Ubuntu

Mantenimiento de Ubuntu: guía práctica

Cómo protegerse del ataque FileFix en Windows
Seguridad Informática

Cómo protegerse del ataque FileFix en Windows