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

提供:Dev Guides
移動先:案内検索

序章

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

名前が示すように、ダッシュボードは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 昇格権限を持つユーザーを使用し、以下の手順を順番に実行します。

ssh sammy@your_server_ip

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

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

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

sudo ls /etc/ | grep mumble-server

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

Outputmumble-server.ini

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

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サーバーを再起動します。

sudo service mumble-server restart

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

sudo netstat -apn | grep 6502

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

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

Outputtcp      0      0 127.0.0.1:6502        0.0.0.0:*      LISTEN      23629/murmurd   

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


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

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

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パッケージマネージャーのデータベースを更新します。

sudo apt-get update

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

sudo apt-get upgrade

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

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

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

sudo apt-get install apache2

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

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

sudo nano /etc/apache2/apache2.conf

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

/etc/apache2/apache2.conf

# Global configuration
#
ServerName your_server_ip         

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

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

sudo service apache2 restart

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

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

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

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

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

sudo apt-get install postfix

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

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

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


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

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

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を再起動して、構成ファイルの変更を再ロードします。

sudo service postfix restart

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

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

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

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

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

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

sudo apt-get install mumble-django 

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

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

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

sudo mumble-django-configure

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

InteractiveWhat 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の順に押して続行します。

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

InteractiveIf 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を押して続行します。

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

OutputRunning 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

に続く:

InteractiveYou 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です。

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

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

InteractiveE-mail address: [email protected]    

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

[secondary_label Interactive]     
Password: 
Password (again): 

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

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

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

InteractivePlease enter the Ice secret (if any): example_password 

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

InteractiveApache2
-------------------------
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にアクセスできるドメインを求められます。

OutputThe 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を押します。

Interactiveyour_server_ip

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

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

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

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

OutputMurmur does not appear to be listening on this address.

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

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

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

sudo iptables -I INPUT 1 -i lo -j ACCEPT -m comment --comment "allow input on localhost"

sudo iptables -I OUTPUT 1 -o lo -j ACCEPT -m comment --comment "allow output on localhost"

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

sudo mumble-django-configure

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

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


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

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

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の構成ファイルの変更をアクティブにします。

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/で見つけてその内容を表示することは可能ですが、最近のいくつかのエントリを表示したい場合は、これをスキップして代わりにここで表示することもできます。

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

禁止

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

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

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

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

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

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

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

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

  • グループを使用すると、特定の権限を持つ作成したグループにダッシュボードユーザーに権限を割り当てることで、ダッシュボードユーザーに権限を割り当てることができます(ダッシュボードスーパーユーザーでない場合)
  • Users は、新しいMumble-Django管理者アカウントを登録または承認する別の手動手段を提供し、新しいダッシュボードユーザーを追加する最も基本的ですが信頼できる方法です。 これらはダッシュボードユーザーであり、チャットユーザーではありません
  • Mumble Servers は、ICEやD-Busなどのミドルウェアを介して検出される個別の接続を一覧表示します。 このチュートリアルに従うときは1つだけである必要があります
  • サーバーインスタンスには、登録されているすべてのMurmurサーバーインスタンスが表示されます。 それぞれを個別にまたは一緒に開始、停止、再起動したり、自動起動を有効または無効にしたりできます
  • 登録プロファイルには、確認メールの再送信やユーザーアカウントの手動アクティブ化などのオプションが含まれています
  • サイトでは、ダッシュボードのドメイン名を変更できます。 新しいドメインがサーバーを指している場合にのみこれを変更してください

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

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

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

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


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

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

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

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


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

結論

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

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

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

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