Inhaltsverzeichnis

Mumble-Django Installation auf Debian – mit Debian-Paketen (veraltete Version)

Tipp: Eine Anleitung für die Installation des aktuellen Mumble-Django 2.10+ auf Debian Wheezy (7) gibt es hier.

Installation von Mumble-Django auf Debian-Squeeze.

Auf einem Debian-Squeeze läuft auch die aktuelle Entwicklerversion, mit der mittlerweile alle Servereinstellungen zugänglich sind, auch die für Mumble 1.2.4, siehe im Blog.

Herunterladen: https://bitbucket.org/Svedrin/mumble-django/get/tip.zip.
Anleitung dazu: http://docs.mumble-django.org/en/installation.html.

Ausgangssituation

Wir gehen von einem Debian Squeeze Server aus auf dem bereits ein Mumble-Server (Murmur) installiert ist.
Sollte keiner installiert sein, können wir dies nachholen mit:

apt-get install mumble-server

Weitere Informationen zur Installation eines Mumble-Servers (Murmur) finden sich hier: Mumble-Server (Murmur) installieren.

Je nach Version des Mumble-Servers ist die Einstellung „icesecretwrite“ auf einen leeren Wert eingestellt, wie z. B.:

icesecretwrite=

Dies führt dazu, dass Mumble-Django sich nicht verbinden kann. Benötigt man keine Sicherung der Ice-Verbindung, so muss man in der .ini-Konfigurationsdatei (z. B. murmur.ini) die genannte Einstellung auskommentieren, indem man eine Raute (#) davor setzt.

Soll die Verbindung zwischen Ice und dem Mumble-Server gesichert sein, so muss man dasselbe Passwort sowohl in der .ini-Konfigurationsdatei (z. B. murmur.ini) als auch in Mumble-Django hinterlegen.

Mumble-Django installieren

apt-get install mumble-django

Verwendet man einen Mumble-Server ab Version 1.3.0, so muss man Mumble-Django geringfügig anpassen, siehe hier, bevor man zum nächsten Schritt gehen kann.

Gefolgt von

mumble-django-configure

Es erscheint nun folgende Auswahl:

Welcome to mumble-django-configure!
-------------------------------------------
 What do you want to do?
 > 1) Detect a new Mumble-Server instance and make it known to Mumble-Django
   2) Create a new SuperUser for Mumble-Django's web admin interface
      Note: This will be done automatically when you run 1) for the first time.
   3) Drop to a Python shell.
   4) Drop to a Database shell.
 Mumble-Server detection
 -----------------------
 If this is the first time you run this script, you might want to probe for the
 Debian default configuration instead of entering the service string yourself.
 Please choose what service string to use.
 > 1) Debian default
   2) user defined
Running as www-data: manage.py syncdb
/usr/lib/pymodules/python2.6/registration/models.py:4: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_admin_log
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table registration_registrationprofile
Creating table mumble_mumbleserver
Creating table mumble_mumble
Creating table mumble_mumbleuser

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): 
Username (Leave blank to use 'www-data'): MDAdmin
E-mail address: mdadmin@natenom.com
Password: 
Password (again): 
Superuser created successfully.
Please enter the Ice secret (if any):
Found new Murmur instance 1 on bus 'Meta:tcp -h 127.0.0.1 -p 6502'... 
Installing index for auth.Permission model
Installing index for auth.Group_permissions model
Installing index for auth.User_user_permissions model
Installing index for auth.User_groups model
Installing index for auth.Message model
Installing index for admin.LogEntry model
Installing index for mumble.Mumble model
Installing index for mumble.MumbleUser model
No fixtures found.

 Apache2
 -----------------------
 If you have changed any settings in settings.py, you should reload the Web server
 in order for the changes to take effect. Do you want to reload Apache2 now?
   1) Yes, reload Apache2.
 > 2) No, don't do anything.
 Munin
 -----------------------
 You do not appear to have Munin-Node installed, skipping.

Running a few checks...
Running as www-data: manage.py checkenv
/usr/lib/pymodules/python2.6/registration/models.py:4: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
  import sha
Checking slice file... [ OK ]
Checking root directory access... [ OK ]
Checking database access... [ OK ]
Checking URL configuration... still the default.
The domain is configured as example.com, which is the default but does not make sense. Please enter the domain where Mumble-Django is reachable.
> vm-debian-server.local
vm-debian-server.local [ OK ]
Checking Murmur instances... [ OK ]
Checking if an Admin user exists... [ OK ]
Checking SECRET_KEY... [ OK ]
Goodbye.

Fertig :)

Entgegen der README in Debian ist Mumble-Django nicht über http://localhost:8002 erreichbar sondern über http://domain.tld/mumble-django oder über die IP http://IP_DEINES_SERVERS/mumble-django

Erhält man einen Fehler wie z. B.:

python /usr/share/mumble-django/pyweb/manage.py createsuperuser
Traceback (most recent call last):
  File "/usr/share/mumble-django/pyweb/manage.py", line 27, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 459, in execute_manager
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 232, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.7/dist-packages/django/contrib/auth/management/commands/createsuperuser.py", line 70, in handle
    default_username = get_default_username()
  File "/usr/lib/python2.7/dist-packages/django/contrib/auth/management/__init__.py", line 105, in get_default_username
    default_username = get_system_username()
  File "/usr/lib/python2.7/dist-packages/django/contrib/auth/management/__init__.py", line 85, in get_system_username
    return getpass.getuser().decode(locale.getdefaultlocale()[1])
TypeError: decode() argument 1 must be string, not None

Dann muss man in der Datei /etc/locale.gen eine locale aktivieren, gefolgt von einem

locale-gen

Dann schreibt man in die Kommandozeile den folgenden Befehle:

export LANG="locale" # z. B. LANG="en_US.UTF-8"

Dann ruft man mumble-django-configure erneut auf.

Mumble-Django-Interface benutzen

Folgendes sieht man wenn man den Link besucht:

Dort kann man sich mit den Daten des Benutzers einloggen der mittels mumble-django-configure erstellt wurde:

Nach dem Einloggen klickt man rechts oben auf Administration und landet hier: