Установка Murmur (Mumble Server) на CentOS 7
Что такое Murmur и зачем он нужен
Mumble — бесплатное приложение для голосовой связи, часто используемое геймерами. Серверная часть называется Murmur и реализует иерархию каналов с корневым каналом и вложенными подканалами. Клиент подключается к серверу и передаёт/принимает аудио с низкой задержкой и хорошим качеством.
Кратко:
- Murmur — это сервер Mumble.
- Клиент-серверная архитектура: клиент обращается к функциям сервера.
- Подходит для локальных игровых сообществ и небольших публичных серверов.
Важно: Murmur можно конфигурировать гибко, и он обычно старается сохранять обратную совместимость с предыдущими версиями, пока есть существенная база пользователей.
Конфигурирование firewalld
По умолчанию CentOS блокирует доступ клиентов к порту Murmur 64738. Если планируете использовать другой порт — откройте его вместо 64738.
Откройте или создайте файл службы для firewalld:
sudo vi /etc/firewalld/services/murmur.xml
Добавьте в файл следующие строки:
Murmur
Mumble Server
Затем зарегистрируйте сервис в firewalld и перезагрузите правила:
sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload
Important: если ваш сервер работает за NAT или облачным балансировщиком, пробросьте внешний порт к машине и убедитесь, что правила облака (security group) также позволяют трафик.
Скачивание tarball Murmur
Перейдите на страницу проекта и скачайте последний стабильный релиз Mumble Static Linux Server (пример показан для версии 1.2.13). На CentOS удобно использовать wget, скопировав прямую ссылку.
wget https://github.com/mumble-voip/mumble/releases/download/1.2.13/murmur-static_x86-1.2.13.tar.bz2
Пример вывода wget (для справки):
--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-11e5-87ae-b6a2fa0c4ba0.bz2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=...
--2016-02-22 11:40:09-- https://github-cloud.s3.amazonaws.com/releases/1413319/63ec4c18-b7a2-11e5-87ae-b6a2fa0c4ba0.bz2?X-Amz-...
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]
Извлечение tarball
Распакуйте архив:
tar -vxjf ./murmur-static_x86-1.2.13.tar.bz2
Если при распаковке вы увидите ошибку про отсутствующий bzip2, установите пакет bzip2 и повторите команду:
sudo yum install bzip2
После установки повторите распаковку. Пример ожидаемого списка файлов:
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/
... (и другие файлы)
Создайте целевую директорию и скопируйте файлы туда:
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.2.13/* /usr/local/murmur/
Затем скопируйте шаблон конфигурации в /etc:
sudo cp ./murmur-static_x86-1.2.13/murmur.ini /etc/murmur.ini
Как исправить владельца и права доступа
Создайте системную группу и пользователя для murmur (работа сервера не должна выполняться от root):
sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
Создайте каталог для логов и назначьте владельца:
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
Установите строгие права на каталог логов:
sudo chmod 0770 /var/log/murmur
Notes: храните чувствительные файлы (пароли, сертификаты) с правами 600 и владельцем root или murmur в зависимости от сценария.
Настройка Murmur
Файл /etc/murmur.ini — основной конфиг. Откройте его любым редактором (vi, nano):
sudo vi /etc/murmur.ini
Найдите и измените/добавьте строки с путями к pid и логам:
pidfile=/var/run/murmur/murmur.pid
logfile=/var/log/murmur/murmur.log
В vi: нажмите i для вставки, внесите правки и сохраните :wq.
Дополнительные настройки, которые стоит проверить:
- port — порт сервера (по умолчанию 64738).
- welcometext — текст приветствия.
- registername/registerpassword — для ICE/администрирования (при использовании).
Не храните административные пароли в открытом виде на публичных серверах.
Создание systemd-сервиса
Чтобы управлять Murmur через systemd, создайте юнит-файл:
sudo vi /etc/systemd/system/murmur.service
Вставьте содержимое:
[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
Современные системы очищают /var/run при перезагрузке. Создайте правило tmpfiles, чтобы systemd восстановил каталог pid:
sudo vi /etc/tmpfiles.d/murmur.conf
Вставьте:
d /var/run/murmur 775 murmur murmur
Примените временные файлы и перезагрузите конфигурацию systemd:
sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload
Включите автозапуск при старте системы:
sudo systemctl enable murmur.service
Отключение SELinux
SELinux по умолчанию может блокировать запуск Murmur. Для простых локальных развёртываний часто отключают SELinux, но на защищённых продакшен-системах лучше настроить политики SELinux вместо полного отключения.
Чтобы отключить SELinux полностью (перманентно), отредактируйте файл:
sudo vi /etc/sysconfig/selinux
Установите:
SELINUX=disabled
После этого перезагрузите сервер.
Important: альтернативный и более безопасный путь — оставить SELinux в режиме enforcing и добавить нужные правила или метки для /var/log/murmur, /var/run/murmur и бинарника murmur.x86. Это требует создания модулей SELinux или использования audit2allow.
Запуск Murmur
После всех настроек запустите сервис:
sudo systemctl start murmur.service
Проверьте статус и логи:
sudo systemctl status murmur.service
sudo journalctl -u murmur.service --no-pager
Логи также будут в /var/log/murmur/murmur.log при корректных правах.
Устранение неисправностей
- Ошибка распаковки: отсутствует bzip2 — ставьте пакет bzip2.
- Murmur не создаёт pid-файл — проверьте /etc/tmpfiles.d/murmur.conf и права /var/run.
- Служба падает сразу после старта — проверьте пользователm/murmur, права на бинарник и конфигурационный файл.
- Подключение клиентов невозможно — проверьте firewall-cmd, внешние правила облака и что сервер слушает порт: sudo ss -tunlp | grep 64738.
- SELinux блокирует — временно поставьте в permissive и смотрите audit (но не забудьте вернуть в enforcing после отладки).
Контрольные команды и полезные сниппеты
Проверка, что порт слушается:
sudo ss -tunlp | grep 64738
Перезапуск сервиса:
sudo systemctl restart murmur.service
Просмотр последних 200 строк лога:
sudo tail -n 200 /var/log/murmur/murmur.log
Контрольный список для развёртывания
Администратор (подготовка сервера):
- Открыть нужные порты в firewall и облачных правилах.
- Установить bzip2 и распаковать tarball.
- Создать пользователя murmur и нужные каталоги.
Оператор (запуск и мониторинг):
- Настроить systemd-юнит и tmpfiles.
- Включить автозапуск и протестировать старт/стоп.
- Настроить ротацию логов (logrotate) для /var/log/murmur.
Пользователь (игрок):
- Скачать клиент Mumble и подключиться по IP/домену:64738.
Меры безопасности и рекомендации
- Запускайте сервер от непривилегированного пользователя murmur.
- Держите бинарники и конфиги с минимально необходимыми правами.
- Закройте доступ к административным портам/функциям из интернета, используйте VPN для администрирования.
- Используйте шифрование и сертификаты, если требуется защитить трафик (проверьте документацию Mumble по TLS/ICE).
- Настройте ротацию логов и мониторинг доступности (например, Ping, проверка порта).
Мини-методология установки (быстрая шпаргалка)
- Открыть порт 64738 в firewalld.
- Скачать murmur-static tarball.
- Установить bzip2 при необходимости и распаковать.
- Скопировать файлы в /usr/local/murmur.
- Создать пользователя и директории (/var/lib/murmur, /var/log/murmur).
- Настроить /etc/murmur.ini (pidfile, logfile, порт).
- Создать systemd-юнит и tmpfiles.d правило.
- Включить и запустить службу, проверить логи.
Критерии приёмки
- Служба murmur.service успешно запускается и остаётся в состоянии active (running).
- Порт 64738 слушается и доступен извне (при корректных правилах сети).
- Логи записываются в /var/log/murmur/murmur.log.
- Пользователь может подключиться клиентом Mumble и передавать аудио.
Краткое резюме
Следуя этим шагам, вы получите работающий Murmur-сервер на CentOS 7: откроете порт, установите и распакуете сервер, создадите пользователя и директории, настроите конфигурацию и systemd-юнит, учтёте поведение SELinux и запустите службу. После этого игроки смогут подключаться по IP/домену с портом 64738.
Если нужно, можно дополнительно автоматизировать установку с помощью Ansible/Cloud-Init или настроить резервные копии конфигов и логов.
Похожие материалы

Что делать, если взломали Gmail и как защититься

Защитите Chrome от Rust‑малвари — EDDIESTEALER

Глюк в терминалах McDonald's: еда за полцены

Черный экран в League of Legends — исправление
