Blackhold

Instalar servidor mumble en Debian

Posted on maig 26th, 2016 by admin

Mumble es uno de estos servicios no muy usados pero realmente muy interesantes. Se trata de un programa cliente-servidor para realizar conferencias sólo con Audio.

Una de las cosas que realmente me gusta es que no es necesario un gran ancho de banda para funcionar, además de que es un canal de comunicación relativamente seguro, por lo menos, al tratarse de un servicio en el que puedes instalar TU el servidor donde TU quieras, da un poco mas de seguridad.

Así que vamos al lío… partimos como casi siempre de una Debian recién instalada, en este caso la versión 8.4.

Vamos a instalar 2 partes, el mumble-server en si y luego el mumble-django, una interfaz web para administrar el mumble-server a partir de dbus.

Mumble-Server

Pues será tan sencillo como instalarlo desde los repositorios :)

# apt-get install mumble-server

A continuación modificamos algunos parámetros de su fichero de configuración

# vi /etc/mumble-server.ini
welcometext="< br />Welcome to La Mar de Bits < b>Mumble< /b> Server.< br />Navigate your stay!< br />"
serverpassword=xxxx

serverpassword: es para que pida un password al acceder al servidor, está publicado a internet, pero sólo pueden conectarse las personas que tienen el password

Ahora simplemente reiniciamos el servicio y ya nos podemos conectar con nuestro cliente mumble

# /etc/init.d/mumble-server restart

Si ya hemos usado alguna vez mumble, hemos visto que hay canales, así que la pregunta es ¿cómo creo canales? pues simple, con el interfaz de cliente y accediendo con el usuario “SuperUser”, el cual tendremos que definir el password con el siguiente comando desde el server:

murmurd -supw MumbleServerPassword

Y con esto ya tenemos el servidor mumble disponible en la red :)

Ahora vamos a la siguiente parte, la del interfaz de administración de mumble, mumble-django.

Mumble-Django
Lo primero será instalar algunas dependencias

# apt-get install apache2 libapache2-mod-wsgi
# a2enmod wsgi
# /etc/init.d/apache2 restart

Y ahora ya nos ponemos con mumble-django

# apt-get install mumble-django

Ahora vamos a activar el dbus y definir algunos parámetros en murmur (como se llama en realidad el servidor mumble)

# vi /etc/mumble-server.ini
ice="tcp -h 127.0.0.1 -p 6502"
icesecretwrite=XXXX
dbus=system

Reiniciamos el servicio y nos aseguramos que ice esté escuchando en local

# /etc/init.d/mumble-server restart
# netstat -lanp |grep 'LISTEN ' |grep murmurd
tcp        0      0 127.0.0.1:6502          0.0.0.0:*               LISTEN      6249/murmurd    
tcp6       0      0 :::64738                :::*                    LISTEN      6249/murmurd 

Ahora modificamos el fichero /etc/mumble-django/settings.py (lo que no esté, simplemente lo añadimos)

# vi /etc/mumble-django/settings.py
DEBUG = False
ALLOWED_HOSTS = ['*']
ADMINS = (
     ('admin-mumble-django', 'mail@domain.org'),
)

Nota: recomiendo que el allowed_hosts sean ips específicas separadas por comas.

Ahora vamos a ejecutar el configurador de mumble-django y seguimos las instrucciones (Más información):

# mumble-django-configure

¡Listo!

Debian nos deja un fichero de configuración en /etc/apache2/conf-enabled/ llamado mumble-django.conf, nos lo vamos a cargar para que no interfiera con la configuración.

# rm /etc/apache2/conf-enabled/mumble-django.conf

Y vamos a crear nuestro propio fichero de configuración

# vi /etc/apache2/sites-enabled/mumble.conf
< VirtualHost *:80>
        ServerName              mumble.lamardebits.org
        ServerAlias             *.mumble.lamardebits.org

        Alias                   /mumble-django/static/mumble/           /usr/share/pyshared-data/python-django-mumble/static/mumble/
        Alias                   /mumble-django/static/admin/            /usr/share/pyshared/django/contrib/admin/static/admin/
        Alias                   /mumble-django/static/                  /usr/share/mumble-django/htdocs/

        WSGIScriptAlias         /mumble-django          /usr/share/mumble-django/mumble-django.wsgi
        WSGIDaemonProcess       mumble-django threads=25
        WSGIProcessGroup        mumble-django
        WSGIScriptReloading     Off

        < Directory /usr/share/mumble-django/htdocs>
                < IfModule mod_headers.c>
                        < FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
                                Header set Cache-Control "max-age=86400, must-revalidate"
                        < /FilesMatch>
                < /IfModule>
        < /Directory>

        < Location /mumble-django>
                FileETag None
                < IfModule mod_deflate.c>
                        AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript image/png image/jpeg image/gif
                        < IfModule mod_headers.c>
                                # properly handle requests coming from behind proxies
                                Header unset ETag
                                Header append Vary User-Agent
                        < /IfModule>
                < /IfModule>
        < /Location>
< /VirtualHost>

Habilitamos el site y reniciamos apache (y el mumble-server por si las moscas)

# a2ensite mumble
# /etc/init.d/apache2 restart
# /etc/init.d/mumble-server restart

Y ahora podremos ir al interfaz web de mumble en la siguiente dirección: http://mumble.lamardebits.org/mumble-django

Más información

This entry was posted on dijous, maig 26th, 2016 at 18:13 and is filed under Opensource. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

« »

guy fawkes