序章

Mumble-Djangoは、Murmurサーバーインスタンスとそれらがサービスを提供するユーザーを管理するためのフロントエンドWebインターフェイスです。 このダッシュボードを使用すると、コマンドラインではなくグラフィカルWebインターフェイスからMumbleサーバーを実行できます。

Mumble-Django Default Page

名前が示すように、ダッシュボードはDjangoで書かれています。 adminユーザーがログインすると、グラフィカルインターフェイスを介してMurmurサーバーのさまざまな管理機能にアクセスできるようになります。 機能には次のものが含まれますが、これらに限定されません。

  • モバイルデバイス用のレスポンシブバージョンを備えたライブチャネルビューア(CVP)
  • つぶやくユーザー権限
  • 今日のメッセージ、サーバーパスワード、推奨するバージョンなどの設定の構成
  • 禁止
  • ログ
  • Djangoフレームワークによる拡張性とGPLの下での自由ソフトウェアとしてのライセンス

また、同じダッシュボードから複数のMurmurインストールを管理できます。

前提条件

以下の前提条件を満たしてください。

上記のリンク先のDigitalOceanの記事Ubuntu14.04にMumbleサーバー(Murmur)をインストールして構成する方法は、Debian7を実行しているDropletについても従うことができます。 <$>

ICEミドルウェアの構成

Mumble-Djangoをインストールする前に、Murmurの ICE (インターネット通信エンジン)コンポーネントを有効にする必要があります。 これにより、mumble-djangoなどのプログラムの追加機能とそれらが提供する機能を使用できるようになります。

ICEを使用すると、データベース、登録ユーザーの詳細、管理者権限など、Murmurの内部動作のセキュリティを損なうことなく、デフォルトのMumbleクライアント以外の手段でMurmurサーバーと対話できます。

ICEの代替はD-Busで、これは同様のサービスを提供しますが、現在はICEが一般的に推奨されているため、このチュートリアルではD-BusよりもICEを選択しています。

ステップ1-Murmurサーバーに接続する

SSHを使用して、前のチュートリアルからMurmurサーバーをインストールしたVPSに接続します。 sudo 昇格権限を持つユーザーを使用し、以下の手順を順番に実行します。

  1. ssh sammy@your_server_ip

ステップ2—mumble-server.iniでICEを設定します

Mumbleサーバーのすべてのコア構成は、1つの中央テキストファイルにあります。 デフォルトでは、これはDebianの/etc/ディレクトリにあるmumble-server.iniファイルです。 以前のMurmurサーバーのインストール中にこのディレクトリを変更した場合は、代わりにそこにあります。

grepを使用して、ファイルを見つけ、/etc/に存在することを確認しましょう。

  1. sudo ls /etc/ | grep mumble-server

ファイルが存在する場合、出力は次のようになります。

Output
mumble-server.ini

このチュートリアルでは、nanoテキストエディタを使用して、書き込みおよび編集用のファイルを開きます。 代わりに、お好みのテキストエディタを自由に使用してください。

  1. sudo nano /etc/mumble-server.ini

エントリ行からコメントしてD-Busを無効にします。

これを行うには、ここに示す行の先頭にハッシュ記号(#)を追加します。

/etc/mumble-server.ini
#dbus=system

このファイルのさらに下で、ice行が存在し、コメントなし(デフォルトであるはずです)であることを確認します。

/etc/mumble-server.ini
ice="tcp -h 127.0.0.1 -p 6502"

これにより、TCPポート6502を介したサーバーのlocalhostIPアドレスへのICEアクセスが可能になります。 この行はそのままにしておきます。

ICEシークレットを設定する

次に、構成ファイルでicesecretwriteディレクティブの値を設定する必要があります。 これを空白のままにすると、サーバーへのSSHアクセス権を持つすべてのユーザーがICEセットアップを再構成または変更できます。

ファイルで探している2行は、次のようになります。

/etc/mumble-server.ini
#icesecretread=
icesecretwrite=

すでにコメントアウトされて無効になっているため、無視できる最初の行は問題ありません。 2行目は、ICEシークレットを設定する必要がある場所です。

選択したフレーズを2行目に追加します(すべて1つの単語)。 以下に示すものとは異なるパスワードを設定してください。

/etc/mumble-server.ini
#icesecretread=
icesecretwrite=example_password

このICEシークレットは後で必要になるので、覚えておいてください。

nanoの変更をmumble-server.ini構成ファイルに保存するには、次のコマンドを押します。

CTRL + X、次にyの場合はENTERキー。

別のテキストエディタを使用している場合は、同等の保存/書き込みアクションを実行します。

ステップ3—ICEが実行されていることを確認します

行った変更が有効になるように、Murmurサーバーを再起動します。

  1. sudo service mumble-server restart

netstatを使用して、ICEが実際に実行され、ポート 6502 でリッスンしているかどうかを判断します。これは、次のように有効にした場合と同じです。

  1. sudo netstat -apn | grep 6502

この前のコマンドpipesは、netstatからgrepまでの出力を生成します。これは、端末への出力用に指定したパターンに一致するデータのみを選択します。 私たちの場合、このパターンは番号6502です。

このコマンドから受け取る出力は、すべてが正しく実行されている場合、次のコードスニペットのようになります。

Output
tcp 0 0 127.0.0.1:6502 0.0.0.0:* LISTEN 23629/murmurd

<$> [注]上記の出力の最後の数字のグループは、ユーザーごとに異なります。

ポートがリッスンされておらず、上記のような出力が得られない場合は、Murmurのログファイルをチェックして、この socket [ X201X])。

次に示すtailコマンドを使用して、ログファイルを確認できます。

  1. sudo tail -n 20 /var/log/mumble-server/mumble-server.log

起動時にICEを有効にしていることをログファイルに記載する必要があります。 これを示す行は次のようになります。

Output
"MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running"

その行は、ログに数行戻る可能性があります。

tail出力にこれが表示されない場合は、mumble-server.iniファイルの不正確さやエラーをチェックする必要があります。 ログファイルには、エラーの種類に関するより具体的な詳細が含まれている場合があります。

必要に応じて、ここに戻って設定を確認するか、すべてが意図したとおりに機能している場合は次のセクションに進んでください。

ApacheWebサーバーのインストール

ICEは現在、必要に応じて機能し、リッスンしています。

Apacheを写真に取り入れましょう。

ステップ1—システムパッケージの更新とアップグレード

このコマンドは、apt-getパッケージマネージャーのデータベースを更新します。

  1. sudo apt-get update

この次のアクションは、前のコマンドから取得した新しいアップデートをDebianシステムパッケージにインストールします。

  1. sudo apt-get upgrade

yと入力して、新しいパッケージの更新についてプロンプトが表示されたら確認します。

ステップ2—ApacheWebサーバーをインストールします

これにより、Mumble-Djangoをホストするために必要なApacheのベースバージョンがインストールされます。

  1. sudo apt-get install apache2

ステップ3—apache2.confでServerNameを設定します

apache2.confファイルをテキストエディタで開きます

  1. sudo nano /etc/apache2/apache2.conf

下にスクロールしてGlobal Configurationセクションを見つけ、独自のIPアドレスを使用してServerName行全体を追加します。

/etc/apache2/apache2.conf
# Global configuration
#
ServerName your_server_ip         

apache2.confファイルの変更を保存します。

Apacheを再起動して、行った設定ファイルの変更が反映されるようにします。

  1. sudo service apache2 restart

メール用のPostfixのインストールと設定

PostfixはMumble-Djangoにローカルメールアドレスと必要なときに登録やその他のメールを送信するシステムを提供します。

必要に応じてインストールおよび構成する方法は次のとおりです。

ステップ1—Postfixをインストールする

apt-getを使用して、postfixパッケージをインストールします。

  1. sudo apt-get install postfix

インストールメニューからインターネットサイトを選択します。 デフォルトで選択されているはずなので、ENTERを押すだけです。

Internet Site

次に、作成時にドロップレットに付けた名前を入力します。 これは、DigitalOceanコントロールパネルに一覧表示されています。

System Mail Name

このメールインストールは、最も簡単なSMTP(メール送信)機能のみを提供します。 DNS設定、Postfix設定、およびホスト名がすべて本番メールの設定で一致していることを確認する必要があります。

ステップ2—Postfixを設定する

Postfixのメイン設定ファイルを編集します。

  1. sudo nano /etc/postfix/main.cf

次のファイルの最後の行を見つけます。

/etc/postfix/main.cf
inet_interfaces = all

次に、allからlocalhostに変更して、Postfixがサーバーのループバックアドレスのみを使用して動作するようにします。

/etc/postfix/main.cf
inet_interfaces = localhost

変更をmain.cf構成ファイルに保存します。

postfixを再起動して、構成ファイルの変更を再ロードします。

  1. sudo service postfix restart

これで、Postfixは必要に応じてメールを送信する準備が整いました。

Mumble-Djangoのインストールと設定

この次のセクションの大部分は、1つの継続的な構成プロセスの一部として完了し、Mumble-Djangoを使用できるようにセットアップします。

ここで使用する方法は、Apacheセットアップなし仮想ホスト用であることに注意してください。

ステップ1—Mumble-Djangoをインストールします

Mumble-Django自体をインストールします。

  1. sudo apt-get install mumble-django

プロンプトが表示されたら、インストール中にENTERを押して<Ok>を選択します。

ステップ2—Mumble-Djangoを設定する

対話型構成プロセスは、次のコマンドを入力することで開始されます。

  1. sudo mumble-django-configure

次のインタラクティブなプロンプトが表示されます。

Interactive
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.

この場合、オプション1を選択して、実行中のMurmurのインスタンスをプログラムに認識させます。

1ENTERの順に押して続行します。

次のような別のプロンプトが表示されます。

Interactive
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 (Meta:tcp -h 127.0.0.1 -p 6502) 2) user defined

ここでも、オプション1を選択します。これは、murmur-server.ini構成ファイルで以前に有効にしたものです。

もう一度1を押してから、ENTERを押して続行します。

次の出力セットは次のようになります。

Output
Running as www-data: 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 Creating table registration_registrationprofile

に続く:

Interactive
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):

この手順では、Mumble-Djangoの新しい管理ユーザーを作成できます。 このユーザーはダッシュボード専用です。 MumbleやMurmurのユーザーではありません。 ただし、このユーザーにアクセスして、さまざまな方法でMumble管理者として機能することができます。

yesと入力し、ENTERを押します。

新しいMumble-Djangoユーザーの情報を入力して続行します。

最初のUsernameは、任意の名前にすることができます。 この例では、管理者ユーザーの名前はsammyです。

Interactive
Username (leave blank to use 'www-data'): sammy

Email Addressは、作成しようとしているユーザー名とパスワードにバインドされています。

Interactive
E-mail address: [email protected]

このPasswordは、作成したばかりのユーザー名とともにMumble-Djangoダッシュボードにログインするために使用されます。

[secondary_label Interactive]     
Password: 
Password (again): 

Superuser created successfullyメッセージの後に、Ice secretを入力するように求められます。

これは、mumble-server.ini構成ファイル内の最初のセクションで以前に設定しました。

今すぐICEシークレットに決定した正確な値を入力してください。

Interactive
Please enter the Ice secret (if any): example_password

次に、Apacheを再起動するかどうかを選択できます。

Interactive
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.

推奨どおりに実行し、1と入力して、最後にENTERを押してApacheを再起動します。 (2番目のオプションで誤ってENTERを押した場合は、後でsudo service apache2 restartを使用してApacheを再起動することを忘れないでください)

最後に、Mumble-Djangoにアクセスできるドメインを求められます。

Output
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.

サーバーにドメイン名を設定している場合は、ここに入力できます。 それ以外の場合は、サーバーのIPアドレスを入力し、ENTERを押します。

Interactive
your_server_ip

これらの出力の最後の行が表示され、構成が成功したことを確認する必要があります。

Output
your.vps.ip.address [ OK ] Checking Murmur instances... [ OK ] Checking if an Admin user exists... [ OK ] Checking SECRET_KEY... [ OK ] Goodbye.

構成プロセスのこの時点に到達し、すべてが意図したとおりに機能している場合は、以下の次のステップに進みます。

前の構成プロセスの読み取り中にエラーメッセージを受け取った場合:

Output
Murmur does not appear to be listening on this address.

このエラーが表示された場合は、ICEを実行するように設定したローカルホストまたは loopback アドレスがブロックされており、VPSのファイアウォールと競合している可能性があります。

基本的なiptablesファイアウォールの場合、正しく送信できるように、原則として127.0.0.1ループバックIPアドレスを追加する必要があります。

次のコマンドを使用して、iptablesルールを追加します。

  1. sudo iptables -I INPUT 1 -i lo -j ACCEPT -m comment --comment "allow input on localhost"
  2. sudo iptables -I OUTPUT 1 -o lo -j ACCEPT -m comment --comment "allow output on localhost"

これが解決したら、configureコマンドを再度実行して、プロセスを再開します。

  1. sudo mumble-django-configure

次に、この手順を最初からやり直します。

iptablesとその動作の詳細については、次のDigitalOceanガイドを参照してください: Ubuntu14.04でIPTablesを使用してファイアウォールを設定する方法

ステップ3— settings.pyで設定を編集します

settings.pyは、Mumble-Djangoのメイン構成ファイルです。 nanoまたはお好みのテキストエディタで開きます。

  1. sudo nano /etc/mumble-django/settings.py

まず、Mumble-Djangoがエラーを送信できるメールアドレスを入力します。 # Who will receive emails on errors?の行を見つけて、2組の括弧の間に名前とメールアドレスを入力します。

この行を有効にするには、#記号を削除する必要があることにも注意してください。

/etc/mumble-django/settings.py
# Who will receive emails on errors?
ADMINS = (
     ('Sammy', '[email protected]'),
)

次に、DEBUGFalseに設定して、このファイルのデバッグモードをFalseに設定します。

/etc/mumble-django/settings.py
# If you want to file a bug report, please enable this option.
DEBUG = False

デバッグモードが無効になっている間、ユーザーによってエラーが生成された場合は、上記のアドレスに完全な例外エラー情報が電子メールで送信されます。

設定中、またはダッシュボードでエラーが発生した場合は、デバッグモードをオンのままにしておくと便利です。 本番環境に入るときはオフにしてください。

変更をsettings.pyに保存します。

Apacheを再起動して、settings.pyの構成ファイルの変更をアクティブにします。

  1. sudo service apache2 restart

Mumble-Djangoオンラインダッシュボードの使用

チュートリアルの最後のセクションでは、Mumble-DjangoのWebインターフェイスの使用について説明します。

ステップ1—Mumble-Djangoにアクセスする

次のいずれかのアドレスのWebブラウザでMumble-Djangoにアクセスできます。

  • http://your_server_ip/mumble-django

  • http://your_server_ip/mumble-django/mumble/1

左側の列にChannelViewer ウィンドウが表示され、右側の列に Serverinfoタブが表示されます。

Mumble-Django Default Page

ステップ2—Django管理者ユーザーとしてログインします

残りのインターフェースと追加のタブを表示するには、ステップ2 —Mumble-Djangoで設定したDjango管理ユーザーでダッシュボードにログインする必要があります。 この例では、これはsammyでした。 ダッシュボードユーザーは、他のチュートリアルで生成されたMumble(Murmur)ユーザーアカウントの詳細とは別のものであることを忘れないでください。

ログインへのボタンはページの右下にあります。

Login Button

サインインした後、次のいくつかのセクションを読んで、ダッシュボードを介して実行できるさまざまなことをすべて確認してください。

ライブチャンネルビューア

このウィンドウは静的です。 表示または変更する内容に関係なく、常に表示されます。

チャネルビューアは、問題のMumbleサーバーインスタンスに現在接続しているユーザーを表示します。

Live Channel Viewer Pane

ビューアは、ユーザーがサーバーにアクティブに送信しているとき(つまり、ユーザーが話しているとき)も追跡します。 これを更新する間隔は、画面の下部で増減できます。ここで、自動更新を有効/無効にしたり、更新間隔を秒単位で設定したりできます。

Refresh Tab

Mumbleクライアントで通常見られるここのすべてがここでも機能します。 そのため、チャンネル名、説明、画像、メッセージなどを使用できます。

サーバー情報

サーバー情報タブには、表示している現在のMumbleサーバーインスタンスの一般的な統計と設定が表示されます。 管理で追加および修正したその他の詳細も、このタブに追加できます。

Server Information Screenshot

詳細については、この画面のリンクをクリックしてください。

Server Information Screenshot

登録

この登録フォームを使用すると、 Mumble users をMurmurデータベースに追加して、クライアントから接続できます。 (これらはダッシュボードユーザーではありません。これらはチャットユーザーです。)あなたに属し、すでに存在するMumbleアカウントは、Mumble-Djangoアカウント名にリンクでき、所有者としてマークされます。 ( SuperUser MumbleアカウントをMumble-Djangoユーザーと今すぐ同期してください。)

Registration Tab Form

Murmurのデフォルトの認証方法は、ユーザーアカウントのテキストベースのパスワードではなく、SSL証明書になっていることに注意してください。

ダッシュボードユーザーを追加する方法については、後のセクションで説明します。

管理

mumble-server.iniファイルから管理タブの設定がわかる場合があります。 ここでこれらを設定して追加すると、上記のファイルで定義したものがすべて上書きされ、管理しているMumbleサーバーインスタンスに適用されます。

Administration Tab Forms

ログメッセージタブと同様に、これはサーバーの構成を変更および追加するためのよりアクセスしやすい方法です。 フィールドの多くは再起動せずに更新され、即座に適用されます。

ユーザーテクスチャ

ここでは、ユーザー向けの画像を追加できます。 詳細については、 Mumblewikiを参照してください。

ユーザーリスト

ユーザーリストには、Mumbleクライアントまたはこのダッシュボードを介して登録したすべてのユーザーアカウントが表示されます。 必要に応じて、ユーザーを削除したり、管理者権限を付与したり、パスワードを変更したりできます。 Mumbleは、認証にデフォルトでSSL証明書を使用し、テキストベースのパスワードは使用しないようになったため、ここでパスワードを変更する必要はありません。

User List Buttons

MumbleクライアントとMumble-Djangoを介してユーザープロパティを同時に変更する場合は、 Resync withMurmurボタンを頻繁に使用してください。

ログメッセージ

注: IPアドレスは、今後のスクリーンショットで必要に応じて編集されています。

Murmurのログファイルには、内部および外部(着信/発信)サーバーとデータベースの両方のイベントが含まれています。 このファイルをコマンドラインの/var/log/で見つけてその内容を表示することは可能ですが、最近のいくつかのエントリを表示したい場合は、これをスキップして代わりにここで表示することもできます。

Log Messages Tab

ここではコマンドラインのようにデータを操作することはできませんが、それでも見栄えがよく、コマンドラインにアクセスできないユーザーにとってははるかにアクセスしやすくなっています。 また、ウィンドウの左下にある入力フィールドでフィルタリングすることもできます。

禁止

ユーザーの禁止は、すべての詳細が列に配置されてここに表示されます。

Bans Tab Columns

0Duration値は、永続的な禁止を示します。

Bans Tab Columns

左下の削除ボタンで禁止を解除します。

ステップ3—Django管理ページにアクセスします

前のセクションでは、Mumbleを管理します。 このセクションでは、ダッシュボード自体を管理する方法を示します。

Mumble-Djangoのさらに多くの機能にアクセスするには、画面の右下にある管理ボタンをクリックします(ログインしている場合にのみ表示されます)。

Administration Button

この新しいウィンドウには、必要に応じて構成できる追加のサーバーインスタンスの詳細がいくつかあります。

Home Link

新しいパネルの左上にあるホームリンクをクリックします。 これにより、ルートのDjango管理ページに移動し、他の方法では非表示になっている設定やMumble-Djangoのその他の側面にアクセスできます。

Django Administration Window

  • グループを使用すると、特定の権限を持つ作成したグループにダッシュボードユーザーを割り当てることで、ダッシュボードユーザーに権限を割り当てることができます(ダッシュボードスーパーユーザーでない場合)

  • Users は、新しいMumble-Django管理者アカウントを登録または承認する別の手動手段を提供します。これは、新しいダッシュボードユーザーを追加するための最も基本的ですが信頼できる方法です。 これらはダッシュボードユーザーであり、チャットユーザーではありません

  • Mumble Servers は、ICEやD-Busなどのミドルウェアを介して検出される個別の接続を一覧表示します。 このチュートリアルに従うときは1つだけである必要があります

  • サーバーインスタンスには、登録されているすべてのMurmurサーバーインスタンスが表示されます。 それぞれを個別にまたは一緒に開始、停止、再起動したり、自動起動を有効または無効にしたりできます

  • 登録プロファイルには、確認メールの再送信やユーザーアカウントの手動アクティブ化などのオプションが含まれています

  • サイトでは、ダッシュボードのドメイン名を変更できます。 新しいドメインがサーバーを指している場合にのみこれを変更してください

ステップ4—追加のダッシュボードユーザーアカウントを登録する

登録ボタンは最初のホームページ(サインアウト時に表示)にあり、新しいユーザーがダッシュボードを使用するためにアカウントにサインアップする場所です。

Register Button

このボタンのフォームから新規ユーザーを登録してもらい、指定された電子メールアドレスに送信された電子メールのアクティベーションリンクをクリックします。

新規ユーザーは、必要に応じて、アカウントのスパムフォルダでアクティベーションメールを確認する必要があります。 ウェブマスターからのもので、件名はアカウント検証です。

新規ユーザーは、ログインしてダッシュボードのほとんどの管理機能にアクセスする前に、承認され、スタッフステータス(および必要に応じてスーパーユーザーステータス)を付与される必要があります。

前のセクションで説明したDjango管理ウィンドウ( Django管理ページ)にアクセスし、次の手順に従って新しいユーザーを承認します。

  1. 前のセクションで示したように、ホームリンクをクリックします
  2. ルートDjango管理ページのユーザーリンクをクリックします
  3. 次のウィンドウで関連する新しいユーザー名をクリックしますClick Username
  4. スタッフステータスボックス、場合によってはスーパーユーザーステータスボックスをオンにし、新しいユーザーPermissions Check-Boxesに適していると思われるその他の詳細を入力します。
  5. 右下の青い保存ボタンをクリックします

これにより、新しいユーザーには、構成プロセスで最初に作成された最初のスーパーユーザーアカウント(この例では sammy アカウント)と同じMumble-Django権限が付与されます。

これで、新しいユーザーは完全な管理者権限でダッシュボードにログインし、ダッシュボードからチャットサーバーを実行できるようになります。

結論

このガイドでは、MurmurインスタンスとインターフェイスするようにICEミドルウェアを構成し、Mumble-Djangoとその補助パッケージをインストールして構成し、ApacheWebサーバーからオンラインでアクセスできるようにしました。 最後に、Mumble-Djangoダッシュボードの機能のいくつかについて学びました。

チュートリアルでカバーされている他の領域:

  • netstatgrep、およびtailを使用してICEが機能しているかどうかを確認またはトラブルシューティングします
  • 必要に応じて、iptablesを介した127.0.0.1ローカルホストアドレスへの入力を許可します
  • postfixをインストールし、ローカルでメールを送信するように構成します

今後の手順として、ドメイン名を取得してWebサーバーに適用するか、仮想ホスト構成でMumble-Djangoをセットアップするか、ダッシュボードにMurmurサーバーを追加することが考えられます。