Mumble-сервер (Murmur) + MySQL на CentOS 5.5

В отличие от других дистрибутивов, в CentOS в жертву стабильности и безопасности принесены обширность репозиториев и актуальность версий софта. В CentOS Mumble придется ставить из архива.

Здесь описан способ установки из RPM-пакета и традиционная установка.

Однако, можно просто скачать архив с сервером Murmur отсюда и распаковать. Иногда, может понадобиться установить сервер из тарбола.

Пример, с /home/murmur

cd /home/murmur
mkdir server && cd server
wget http://mumble.info/snapshot/murmur-static_x86-1.2.3.tar.bz2
tar -jxvf murmur-static_x86-1.2.3.tar.bz2
mv murmur-static_x86-1.2.3/* .

Далее вся настройка довольно тривиальна:

nano murmur.ini

Устанавливаем нужные нам параметры:

database=имя_бд
dbDriver=QMYSQL # Драйвер для MySQL
dbUsername=пользователь_бд
dbPassword=пароль
dbHost=localhost
dbPort=3306
dbPrefix=murmur_
#dbOpts="UNIX_SOCKET=/path/to/socket"

# Имя пользователя под которым будет запускаться сервер:
uname=murmur

Нажимаем CTRL+O, Enter. Выходим по CTRL+X.

Как можно заметить, я изменил и закомментировал dbOpts. Сделал я это потому, что в CentOS нестандартное расположение сокета MySQL.
Узнать, где располагается сокет можно просто:

cat /etc/my.cnf | grep sock

Теперь достаточно прописать правильный сокет, раскомментировать параметр и ваш Murmur готов к работе.

Здесь предлагается init-скрипт для запуска murmur:

nano /etc/init.d/murmurd
#!/bin/bash
#
# murmurd Startup script for the Mumble Server
#
# chkconfig: 35 90 12
# description: Murmur is a popular low-latency VoIP server
# processname: murmurd
# config: /etc/murmurd
# logfile: /var/log/murmurd.log
# pidfile: /var/run/murmurd.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Вносим необходимые изменения согласное тому, где располагается murmur
murmurd=${MURMURD-/usr/sbin/murmurd}
prog=murmurd
pidfile=${PIDFILE-/var/run/murmurd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/murmurd}
ARGS="-ini /etc/murmurd"
RETVAL=0

# Start 'n stop
start(){
echo -n $"Starting $prog: "
daemon —user murmurd $murmurd $ARGS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile}
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
condrestart)
if [ -f ${pidfile} ] ; then
stop
start
fi
;;
status)
status murmurd
;;
restart|reload)
stop
start
;;
*)
echo $"Usage: $prog {start|stop|status|restart|reload|condrestart}"
exit 1
esac

exit $RETVAL

 

Теперь, остается открыть порты на файрволе для Murmur:

system-config-securitylevel-tui

Добавляем в строку с портами:

64738:tcp 64738:udp

Собственно, остается добавить murmur в автозагрузку

/sbin/chkconfig murmurd on

Приятного общения!

16 Comments

 Add your comment
  1. Здравствуйте.
    Сделал все как написано.
    Но у меня возможно смешной вопрос)
    Как этот сервер подключить к домену?
    или в подключении в клиенте просто писать айпишку сервера?

    • Ну, начнем с того, что это домен прицепляется к серверу (к машине, не к программе). Для этого на ns-серверах домена делается A-запись указывающая на сервер.
      Возьмем пример: у меня домен skobkin.ru. A-запись на ns-серверах reg.ru ссылается на IP-адрес моего сервера.

      P.S. Ну и, если интересуют домены, то….

  2. Я наверно не так обьяснил.
    Как доступатся к серверу мамбл? по дефолтному порту? используя айпишку сервера.
    Как его подвешать например на субдомен.

    • Ну я же объяснил 🙂

      Как доступатся к серверу мамбл?

      Доступ к серверу Mumble будет либо по IP, либо по домену, если вы его привяжете к IP. От самого сервера Mumble никак не зависит по какому адресу будет идти подключение.

      по дефолтному порту?

      Порт настраивается в конфиге и от домена не зависит.

      Как его подвешать например на субдомен.

      Еще раз повторяю — создается A-запись. Только уже не для всего домена (@), а для нужного субдомена. Допустим, у меня домен skobkin.ru. Мне надо, чтобы некий сервер, где стоит Mumble был доступен по mumble.skobkin.ru. Я создаю A-запись вида:

      mumble A xx.xx.xx.xx

      где xx.xx.xx.xx — IP сервера с mumble, A — тип записи, а mumble — имя поддомена.

  3. Все разобрался, спасибо. Сори за нубские вопросы.
    Но у меня еще 1 вопрос)))
    Как зайти под админом?
    Там нужно задать пароль суперюзеру. Когда я это делаю мне говорит что юзер murmur не в базе данных

    • Чтобы задать пароль админу SuperUser надо запустить мурмур с параметром -supw
      [cc lang=»bash»]murmurd -ini /etc/mumble-server.ini -supw[/cc]
      Это случай для убунты\дебиана, где конфиг располагается в /etc/mumble-server.ini.

      По поводу того, что он говорит — лучше бы исходный текст ошибки, а не вольный перевод.

  4. Кстати база даных пустая
    Настройки все правильны.
    Таблицы должны создаватся сервером или я должен их там создать?

    • Создаются murmur’ом сами. Стоит заметить, что если будет только часть таблиц в БД, он не досоздаст нужные, а будет ругаться. Поэтому, либо чистая БД, либо восстановленный полный дамп.

  5. Спасибо разобрался.
    Потрите ненужные коменты на блоге.
    Проблема была в хосте, не воспринимало локалхост, написав вместо него айпишку — заработало)

    • Да чего их тереть, вдруг кому пригодится? Чай не гигабайты текста.
      А по поводу host — у меня в конфиге вообще так:

      #host=

      Пусть слушает все. А у вас я не очень понимаю смысл слушать только с локалхоста…

  6. подскажи пожалуста, для поднятия murmur необходима локальная машина? или его можно запустить на удаленных серверах, платных или бесплатных?(я про хостинговые сервера)
    заранее спасибо

    • Более странный вопрос сложно придумать. Естественно можно, murmur и предназначен для работы на серверах.

  7. Добрый день.. делаю все по инструкции но вот nano /etc/init.d/murmurd, там нет этого файла.. тоесть получается ее мы создаем?

    • Да. Но вообще, можно murmur и из пакета поставить. Тут просто инструкция по ручной установке.

  8. Прошу прощенья если я не в тему. Читал тут и понял, что все приблуды для Unix. Имею бесплатный хостинг на hostinger.ru, на локальной машине стоит Windows 8. Можете подсказать как мне имея всё это установить murmur на удаленный хостинг.
    P.S. Просьба сильно не бить за нубство, я только 1й день знакомлюсь с Mumble.

    • На хостинге вы с большой вероятностью не запустите сервер Mumble. Нужен сервер: VPS/VDS/Dedicated. Хостинги — для сайтов.

Leave a Comment

Your email address will not be published.