Seitenleiste

Übersetzungen dieser Seite:

Navigation



Lizenz dieses Wikis
Über dieses Wiki
Feed des Wikis
Impressum


Was gerade in meinem Blog geschieht:

mumble:benutzerhandbuch:murmur:admin-interfaces:mumble-django:django_2.9_debian_wheezy

Installation von Mumble-Django 2.10 und höher auf Debian Wheezy oder höher

Ausgangsituation

Ausgangsituation für diese Anleitung ist:

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.10. 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.10.tar.bz2

Dann wird das Archiv entpackt:

tar xvjf v2.10.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.10.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
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: 
Password (again): 
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 :)

1)
Ganz ausführlich und auch für andere Web-Server gibt es eine Beschreibung unter https://docs.mumble-django.org/de/web_server_setup.html#de-web-server-setup
2)
Diese Anpassungen an den mitgelieferten .conf-Dateien sind erst nach Version 2.10 gemacht worden; man kann die beiden Dateien aus dem Git-Archiv holen unter https://bitbucket.org/Svedrin/mumble-django/src/7417ab99f1d48dc3bcc7ce92eb9c1f42407c8c5b/etc/apache2?at=default. Doch auch dann muss man zumindest noch die erste Zeile anpassen
3)
eigentlich benötigt www-data nur Leserechte für /srv/mumble-django und Schreibrechte für die Datenbank in /srv/mumble-django/db/mumble-django.db3
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.
mumble/benutzerhandbuch/murmur/admin-interfaces/mumble-django/django_2.9_debian_wheezy.txt · Zuletzt geändert: 2016/03/04 14:54 von Natenom