Inhaltsverzeichnis
Installation von Mumble-Django 2.13 und höher auf Debian Wheezy oder höher
Ausgangsituation
Ausgangsituation für diese Anleitung ist:
- Eine (Minimal-)installation von Debian Wheezy oder höher.
- Darauf wird hier die aktuelle Version von Mumble-Django installiert.
- Ein Mumble-Server läuft bereits und lauscht auf dem voreingestellten Ice-Port 6502, was die Voreinstellung ist. (Anleitungen zur Installation eines Mumble-Servers gibt es unter Mumble-Server (Murmur) installieren.)
- In der .ini-Konfigurationsdatei (z. B. murmur.ini) ist das icesecretwrite-Passwort auf meinmumbleserver eingestellt.
Dabei gilt:
- Mumble-Django wird in das Verzeichnis /srv/mumble-django installiert
- Alle Befehle werden als root ausgeführt
Abhängigkeiten installieren
Django installieren
Ab Mumble-Django 2.8 benötigt man Django 1.5+, bei Debian Wheezy wird nur 1.4.5 mitgeliefert, daher muss man dieses selbst installieren.
Zur einfachen Installation kann man Pip_(Python) verwenden, welches aber erst installiert werden muss:
apt-get install python-pip apache2
Ein bereits installiertes Django sollte man zuvor entfernen mit:
apt-get remove python-django
Dann installiert man Django und Django-Registration über pip:
pip install django==1.6.0 django-registration
Dadurch werden die beiden Pakete heruntergeladen und installiert.
Den Rest installieren
Die anderen Abhängigkeiten sind in Debian Wheezy in einer ausreichend aktuellen Version verfügbar und können direkt über Debian installiert werden.
apt-get install libapache2-mod-wsgi python-imaging python-zeroc-ice python-qrencode bzip2
Verzeichnis erstellen
mkdir /srv/mumble-django
Mumble-Django herunterladen
Die jeweils aktuelle Version von Mumble-Django gibt es auf Bitbucket unter https://bitbucket.org/Svedrin/mumble-django/downloads. Dort klickt man auf Tags (rot unterstrichen) und wählt die neuste Version aus:
Hier ist das v2.13. In der Spalte Download kopiert man den Link der sich hinter bz2 befindet (rot unterstrichen).
Nun wechselt man in das im vorherigen Schritt erstellte Verzeichnis und lädt dieses Paket direkt auf dem Server herunter:
cd /srv/mumble-django wget --no-check-certificate https://bitbucket.org/Svedrin/mumble-django/get/v2.13.tar.bz2
Dann wird das Archiv entpackt:
tar xvjf v2.13.tar.bz2 --strip-components 1
Mittels strip-components 1 erreicht man, dass das erste Verzeichnis im Pfad des Archivs weggelassen wird beim entpacken. Ansonsten wären die Dateien nicht direkt am richtigen Ort sondern in einem Unterverzeichnis mit dem Namen Svedrin-mumble-django-eb217xxx/.
Jetzt kann man das heruntergeladene Archiv löschen oder es sein lassen…
rm v2.13.tar.bz2
Grundeinrichtung von 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.
Grundeinrichtung und Festlegung von Benutzername und Passwort für den Adminaccount von Mumble-Django (mit dem man sich später im Web-Interface anmeldet):
python pyweb/manage.py syncdb
Ausgabe:
Creating tables ... 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 django_admin_log Creating table django_content_type Creating table django_session Creating table django_site 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): yes Username (leave blank to use 'root'): E-mail address: xxx@domain.tld Password: PASSWORT EINGEBEN Password (again): PASSWORT EINGEBEN Superuser created successfully.
Dieser Benutzer root hat nichts mit dem Linux-Systembenutzer root zu tun.
Direkt im Anschluss wird die Art der Verbindung konfiguriert; wir verwenden Ice und geben die 2 an:
--- Murmur connection info --- 1) DBus -- net.sourceforge.mumble.murmur (Murmur 1.1.8 or older) 2) ICE -- Meta:tcp -h 127.0.0.1 -p 6502 (Recommended) Enter 1 or 2 for the defaults above, nothing to skip Server detection, and if the defaults do not fit your needs, enter the correct string. Whether to use DBus or Ice will be detected automatically from the string's format. Service string: 2 Please enter the Ice secret (if any): meinmumbleserver Found new Murmur instance 1 on bus 'Meta:tcp -h 127.0.0.1 -p 6502'... Successfully finished Servers and Players detection. To add more servers, run this command again. Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)
Nun kann Mumble-Django eine Verbindung zu unserem Mumble-Server aufbauen.
Die Einstellungen von Mumble-Django finden sich in der Datei pyweb/settings.py, hier kann man die Installation anpassen, dies ist aber nicht notwendig.
Webserver einrichten
Wir verwenden in dieser Anleitung Apache. 1)
Als erstes muss das wsgi Modul aktiviert werden:
a2enmod wsgi
Im Ordner /srv/mumble-django/etc/apache2 liegen zwei .conf-Dateien bereit.
Wir nehmen mal die dedicated_vhost-Variante, da sicher noch andere Web-Seiten auf dem Server laufen sollen, außerdem wird dies von Mumble-Django empfohlen:
cp /srv/mumble-django/etc/apache2/dedicated_vhost.conf /etc/apache2/sites-available/mumble-django
Bzw. unter einem aktuellen Ubuntu:
cp /srv/mumble-django/etc/apache2/dedicated_vhost.conf /etc/apache2/sites-available/mumble-django.conf
Die Datei /etc/apache2/sites-available/mumble-django muss allerdings noch angepasst werden, da django und django-registration unter /usr/local liegen und /mumble/media verlegt wurde 2); aus
Alias /static/admin/ /usr/share/pyshared/django/contrib/admin/static/admin/ Alias /static/ /srv/mumble-django/htdocs/ Alias /mumble/media/ /srv/mumble-django/pyweb/mumble/media/
wird deshalb
Alias /static/admin/ /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/ Alias /static/mumble/ /srv/mumble-django/pyweb/mumble/static/mumble/ Alias /static/ /srv/mumble-django/htdocs/
Servername usw. müssen in dieser Datei natürlich an die eigene Domain oder die IP-Adresse des Servers angepasst werden.
Dann wird die Seite noch mit a2ensite mumble-django
aktiviert. Läuft auf dem Apache-Server sonst nichts außer dem neuen Admininterface, so muss man noch mit a2dissite default
die Standardseite deaktivieren. Nach einem Neustart von Apache mit apache2ctl restart
ist alles fertig.
Berechtigungen setzen
Da in unserem Fall Apache das Mumble-Django ausliefern soll, sollten wir dem Benutzer www-data dieses Verzeichnis geben: 3)
chown -R www-data: /srv/mumble-django
In Mumble-Django anmelden
Nun kann man sich in Mumble-Django anmelden; dazu öffnet man die in der vorher bearbeiteten Apache-Konfigurationsdatei eingestellte URL (in diesem Beispiel https://example.com) und erhält das folgende Bild (hier mit einem noch nicht eingerichteten Mumble-Server):
Der QR-Code enthält in dieser Anleitung den Text https://example.com/mumble/embed/1.
Über Login rechts unten kann man sich nun mit dem vorhin angelegten Account root anmelden:
Fertig
Wenn man seinen Mumble-Server eingerichtet hat, sieht es auch schon etwas schöner aus, z. B. so:
Viel Spaß mit dem neuen Mumble-Django :)
Hinweis vom Entwickler: Der Benutzer, unter dem Mumble-Django läuft, benötigt Schreibzugriff auf das Verzeichnis, in dem sich die Datenbank befindet, um dort eine Lock-Datei zu erstellen.