開発者ドキュメント

Debian7でMumble-DjangoとMurmurをインストールして使用する方法

序章

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

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

また、同じダッシュボードから複数の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つの中央テキストファイルにあります。 デフォルトでは、これは mumble-server.ini のファイル /etc/ Debianのディレクトリ。 以前のMurmurサーバーのインストール中にこのディレクトリを変更した場合は、代わりにそこにあります。

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

  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シークレットは後で必要になるので、覚えておいてください。

変更を保存します nanomumble-server.ini を押して設定ファイル:

CTRL + X、 それから y はいの場合、その後 ENTER 鍵。

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

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

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

  1. sudo service mumble-server restart

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

  1. sudo netstat -apn | grep 6502

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

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

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

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

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

を使用してログファイルを確認できます 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 セクションと全体を追加します ServerName 独自のIPアドレスを使用した回線:

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

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

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

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

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

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

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

/etc/postfix/main.cf
inet_interfaces = all

次に、から変更します alllocalhost したがって、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のインスタンスをプログラムに認識させるため。

プレス 1 その後 ENTER 続ける。

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

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ユーザーの情報を入力して続行します。

最初の1つ、 Username、任意の名前を選択できます。 この例では、管理者ユーザーの名前は sammy.

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

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

Interactive
E-mail address: sammy@emaildomain.com

これ 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.

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

最後に、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', 'sammy@email-domain.com'),
)

次に、デバッグモードをに設定します False このファイルで設定することにより DEBUGFalse .

/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にアクセスできます。

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

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

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

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

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

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

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

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

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

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

サーバー情報

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

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

登録

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

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

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

管理

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

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

ユーザーテクスチャ

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

ユーザーリスト

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

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

ログメッセージ

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

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

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

禁止

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

Duration0 恒久的な禁止を示します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

結論

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

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

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

モバイルバージョンを終了