Установка murmur на CentOS 5.5
Внимание! Делаем всё в рутовой консоли (пишем su - и вводим пароль рута).
1.Скачиваем static версию (Static Linux Server) отсюда. На данный момент последней версией является 1.2.2.
wget http://sourceforge.net/projects/mumble/files%2FMumble%2F1.2.2%2Fmurmur-static_x86-1.2.2.tar.lzma/download
2.Распаковываем
yum install lzma
lzcat murmur-static_x86-1.2.2.tar.lzma | tar -xf -
3.Заходим в новую папку
cd murmur-static_x86-1.2.2
cp murmur.x86 /usr/sbin/murmurd
mkdir /var/lib/murmurd
cp murmur.sqlite /var/lib/murmurd.sqlite
mkdir /var/log/murmurd
touch /var/log/murmurd/murmurd.log
4.Копируем правильный init скрипт в /etc/rc.d/init.d/
touch /etc/rc.d/init.d/murmurd
gedit /etc/rc.d/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 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
5.Заливаем конфигурационный файл в /etc/
touch /etc/murmurd
gedit /etc/murmurd & (копируем туда весь текст ниже, сохраняем и выходим)
# Path to database. If blank, will search for # murmur.sqlite in default locations or create it if not found. database=/var/lib/murmurd/murmurd.sqlite # If you wish to use something other than SQLite, you'll need to set the name # of the database above, and also uncomment the below. # Sticking with SQLite is strongly recommended, as it's the most well tested # and by far the fastest solution. # #dbDriver=QMYSQL #dbUsername= #dbPassword= #dbHost= #dbPort= #dbPrefix=murmur_ #dbOpts= # Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the # RPC methods available in murmur, please specify so here. # dbus=session # Alternate service name. Only use if you are running distinct # murmurd processes connected to the same D-Bus daemon. #dbusservice=net.sourceforge.mumble.murmur # If you want to use ZeroC Ice to communicate with Murmur, you need # to specify the endpoint to use. Since there is no authentication # with ICE, you should only use it if you trust all the users who have # shell access to your machine. # Please see the ICE documentation on how to specify endpoints. #ice="tcp -h 127.0.0.1 -p 6502" # Ice primarily uses local sockets. This means anyone who has a # user account on your machine can connect to the Ice services. # You can set a plaintext "secret" on the Ice conntection, and # any script attempting to access must then have this secret. #icesecret= # How many login attempts do we tolerate from one IP # inside a given timeframe before we ban the connection? # Note that this is global (shared between all virtual servers), and that # it counts both successfull and unsuccessfull connection attempts. # Set either Attempts or Timeframe to 0 to disable. #autobanAttempts = 10 #autobanTimeframe = 120 #autobanTime = 300 # Murmur default to logging to murmur.log. If you leave this blank, # murmur will log to the console (linux) or through message boxes (win32). logfile=/var/log/murmurd.log # If set, murmur will write its process ID to this file. #pidfile=/var/run/murmurd/murmurd.pid # The below will be used as defaults for new configured servers. # If you're just running one server (the default), it's easier to # configure it here than through D-Bus or Ice. # # Welcome message sent to clients when they connect welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Do not hate your stay!<br />" # Port to bind TCP and UDP sockets to port=64738 # Specific IP or hostname to bind to. # If this is left blank (default), murmur will bind to all available addresses. host= # Password to join server serverpassword= # Maximum bandwidth (in bits per second) clients are allowed # to send speech at. bandwidth=160000 # Maximum number of concurrent clients allowed. users=100 # Regular expression used to validate channel names # (note that you have to escape backslashes with \ ) #channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+ # Regular expression used to validate user names # (note that you have to escape backslashes with \ ) #username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+ # Maximum length of text messages in characters. 0 for no limit. #textmessagelength=5000 # Maximum length of text messages in characters, with image data. 0 for no limit. #imagemessagelength=131072 # Allow clients to use HTML in messages, user comments and channel descriptions? allowhtml=true # Murmur retains the per-server log entries in an internal database which # allows it to be accessed over D-Bus/ICE. # How many days should such entries be kept? logdays=31 # To enable public server registration, the serverpassword must be blank, and # this must all be filled out. # The password here is used to create a registry for the server name; subsequent # updates will need the same password. Don't lose your password. # The URL is your own website, and only set the registerHostname for static IP # addresses. # #registerName=Mumble Server #registerPassword=secret #registerUrl=http://mumble.sourceforge.net/ #registerHostname= # To enable bonjour service discovery uncomment the following line. # To change the name announced by bonjour adjust the registerName variable. # See http://developer.apple.com/networking/bonjour/index.html for more information # about bonjour. bonjour=True # If you have a proper SSL certificate, you can provide the filenames here. #sslCert= #sslKey= # If murmur is started as root, which user should it switch to? # This option is ignored if murmur isn't started with root privileges. uname=murmurd # If this options is enabled, only clients which have a certificate are allowed # to connect. #certrequired=False # You can configure any of the configuration options for Ice here. We recommend # leave the defaults as they are. # Please note that this section has to be last in the configuration file. # [Ice] Ice.Warn.UnknownProperties=1 Ice.MessageSizeMax=65536
Скорее всего вам придётся прописать в host=<ваш_ip_адрес>. Также стоит изменить users=100 на количество пользователей, которые будут обитать на вашем сервере.
6.Выставляем права на запуск и остальные права с созданием непривилегированного пользователя murmurd
chmod a+x /etc/rc.d/init.d/murmurd
groupadd -g 4000 murmurd
useradd -g 4000 -G murmurd -s /sbin/nologin -d / -M murmurd
chown murmurd:murmurd /var/lib/murmurd
chown murmurd:murmurd /var/lib/murmurd/murmurd.sqlite
chown murmurd:murmurd /var/log/murmurd/
chown murmurd:murmurd /var/log/murmurd/murmurd.log
7.Запускаем и устанавливаем пароль суперюзера
service murmurd start
service murmurd stop
/usr/sbin/murmurd -ini /etc/murmurd -supw <ваш_пароль>
service murmurd restart
8.Заходим в System>Administration>Security Level and Firewall
Alt+F2 system-config-securitylevel
Жмём Other ports
Add 64738 tcp
Add 64738 udp
Сохраняем и выходим
9.Делаем так, чтобы сервер загружался при старте системы
chkconfig --add murmurd
chkconfig --level 3 murmurd on
Удачи. Задать вопросы можно по почте (allig4t0rубрать[@]gmail.com) или на форуме mumble.ru одноимённому пользователю.












