Debian7でMumble-DjangoとMurmurをインストールして使用する方法
序章
Mumble-Djangoは、Murmurサーバーインスタンスとそれらがサービスを提供するユーザーを管理するためのフロントエンドWebインターフェイスです。 このダッシュボードを使用すると、コマンドラインではなくグラフィカルWebインターフェイスからMumbleサーバーを実行できます。
名前が示すように、ダッシュボードはDjangoで書かれています。 adminユーザーがログインすると、グラフィカルインターフェイスを介してMurmurサーバーのさまざまな管理機能にアクセスできるようになります。 機能には次のものが含まれますが、これらに限定されません。
- モバイルデバイス用のレスポンシブバージョンを備えたライブチャネルビューア(CVP)
- つぶやくユーザー権限
- 今日のメッセージ、サーバーパスワード、推奨するバージョンなどの設定の構成
- 禁止
- ログ
- Djangoフレームワークによる拡張性とGPLの下での自由ソフトウェアとしてのライセンス
また、同じダッシュボードから複数のMurmurインストールを管理できます。
前提条件
以下の前提条件を満たしてください。
-
オペレーティングシステムとしてDebian7 を使用するVPS(執筆時点では、Mumble-DjangoはDebian 8ではうまく機能しませんでした)
-
sudo 昇格権限を持つVPSのユーザーアカウント: Debian VPS のユーザーにSudo権限を追加、削除、および付与する方法
-
同じVPSにインストールされ実行されているMumbleサーバー(Murmur): Ubuntu 14.04にMumbleサーバー(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つの中央テキストファイルにあります。 デフォルトでは、これは mumble-server.ini
のファイル /etc/
Debianのディレクトリ。 以前のMurmurサーバーのインストール中にこのディレクトリを変更した場合は、代わりにそこにあります。
ファイルを見つけて、に存在することを確認しましょう /etc/
を使用して grep
:
- sudo ls /etc/ | grep mumble-server
ファイルが存在する場合、出力は次のようになります。
Outputmumble-server.ini
を使用します nano
このチュートリアルで書き込みおよび編集するためにファイルを開くためのテキストエディタ。 代わりに、お好みのテキストエディタを自由に使用してください。
- sudo nano /etc/mumble-server.ini
エントリ行からコメントしてD-Busを無効にします。
ハッシュ記号を追加してこれを行います(#
)ここに示されている行の先頭まで:
#dbus=system
このファイルのさらに下で、 ice
行が存在し、コメントなしです(デフォルトであるはずです):
ice="tcp -h 127.0.0.1 -p 6502"
これにより、TCPポート6502を介したサーバーのlocalhostIPアドレスへのICEアクセスが可能になります。 この行はそのままにしておきます。
ICEシークレットを設定する
次に、値を設定する必要があります icesecretwrite
設定ファイルのディレクティブ。 これを空白のままにすると、サーバーへのSSHアクセス権を持つすべてのユーザーがICEセットアップを再構成または変更できます。
ファイルで探している2行は、次のようになります。
#icesecretread=
icesecretwrite=
すでにコメントアウトされて無効になっているため、無視できる最初の行は問題ありません。 2行目は、ICEシークレットを設定する必要がある場所です。
選択したフレーズを2行目に追加します(すべて1つの単語)。 以下に示すものとは異なるパスワードを設定してください。
#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
この前のコマンドパイプから生成された出力 netstat
終えた grep
、端末への出力用に指定したパターンに一致するデータのみを選択します。 私たちの場合、このパターンは番号6502です。
このコマンドから受け取る出力は、すべてが正しく実行されている場合、次のコードスニペットのようになります。
Outputtcp 0 0 127.0.0.1:6502 0.0.0.0:* LISTEN 23629/murmurd
<$> [注]上記の出力の最後の数字のグループは、ユーザーごとに異なります。
ポートがリッスンされておらず、上記のような出力が得られない場合は、Murmurのログファイルをチェックして、この socket (127.0.0.1:6502
).
を使用してログファイルを確認できます 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
セクションと全体を追加します ServerName
独自のIPアドレスを使用した回線:
# 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
次のファイルの最後の行を見つけます。
inet_interfaces = all
次に、から変更します all
に localhost
したがって、Postfixはサーバーのループバックアドレスを使用してのみ動作します。
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のインスタンスをプログラムに認識させるため。
プレス 1
その後 ENTER
続ける。
次のような別のプロンプトが表示されます。
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ユーザーの情報を入力して続行します。
最初の1つ、 Username
、任意の名前を選択できます。 この例では、管理者ユーザーの名前は sammy
.
InteractiveUsername (leave blank to use 'www-data'): sammy
The 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.
推奨どおりに実行し、次のように入力してApacheを再起動します 1
次に押す ENTER
最後に。 (誤ってヒットした場合 ENTER
2番目のオプションでは、後でApacheを再起動することを忘れないでください。 sudo service apache2 restart
)
最後に、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組の括弧の間に名前とメールアドレスを入力します。
また、 #
線を有効にするには、記号を削除する必要があります。
# Who will receive emails on errors?
ADMINS = (
('Sammy', '[email protected]'),
)
次に、デバッグモードをに設定します False
このファイルで設定することにより DEBUG
に False
.
# 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にアクセスできます。
-
http://your_server_ip/mumble-django
-
http://your_server_ip/mumble-django/mumble/1
左側の列に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/
コマンドラインでその内容を表示しますが、最近のいくつかのエントリを表示したい場合は、これをスキップして代わりにここで表示することもできます。
ここではコマンドラインのようにデータを操作することはできませんが、それでも見栄えがよく、コマンドラインにアクセスできないユーザーにとってははるかにアクセスしやすくなっています。 また、ウィンドウの左下にある入力フィールドでフィルタリングすることもできます。
禁止
ユーザーの禁止は、すべての詳細が列に配置されてここに表示されます。
のDuration値 0
恒久的な禁止を示します。
左下の削除ボタンで禁止を解除します。
ステップ3—Django管理ページにアクセスします
前のセクションでは、Mumbleを管理します。 このセクションでは、ダッシュボード自体を管理する方法を示します。
Mumble-Djangoのさらに多くの機能にアクセスするには、画面の右下にある管理ボタンをクリックします(ログインしている場合にのみ表示されます)。
この新しいウィンドウには、必要に応じて構成できる追加のサーバーインスタンスの詳細がいくつかあります。
新しいパネルの左上にあるホームリンクをクリックします。 これにより、ルートのDjango管理ページに移動し、他の方法では非表示になっている設定やMumble-Djangoのその他の側面にアクセスできます。
-
グループを使用すると、特定の権限を持つ作成したグループにダッシュボードユーザーに権限を割り当てることで、ダッシュボードユーザーに権限を割り当てることができます(ダッシュボードスーパーユーザーでない場合)
-
Users は、新しいMumble-Django管理者アカウントを登録または承認する別の手動手段を提供し、新しいダッシュボードユーザーを追加する最も基本的ですが信頼できる方法です。 これらはダッシュボードユーザーであり、チャットユーザーではありません
-
Mumble Servers は、ICEやD-Busなどのミドルウェアを介して検出される個別の接続を一覧表示します。 このチュートリアルに従うときは1つだけである必要があります
-
サーバーインスタンスには、登録されているすべてのMurmurサーバーインスタンスが表示されます。 それぞれを個別にまたは一緒に開始、停止、再起動したり、自動起動を有効または無効にしたりできます
-
登録プロファイルには、確認メールの再送信やユーザーアカウントの手動アクティブ化などのオプションが含まれています
-
サイトでは、ダッシュボードのドメイン名を変更できます。 新しいドメインがサーバーを指している場合にのみこれを変更してください
ステップ4—追加のダッシュボードユーザーアカウントを登録する
登録ボタンは最初のホームページ(サインアウト時に表示)にあり、新しいユーザーがダッシュボードを使用するためにアカウントにサインアップする場所です。
このボタンのフォームから新規ユーザーを登録してもらい、指定された電子メールアドレスに送信された電子メールのアクティベーションリンクをクリックします。
新規ユーザーは、必要に応じて、アカウントのスパムフォルダでアクティベーションメールを確認する必要があります。 ウェブマスターからのもので、件名はアカウント検証です。
新規ユーザーは、ログインしてダッシュボードのほとんどの管理機能にアクセスする前に、承認され、スタッフステータス(および必要に応じてスーパーユーザーステータス)を付与される必要があります。
前のセクションで説明したDjango管理ウィンドウ( Django管理ページ)にアクセスし、次の手順に従って新しいユーザーを承認します。
- 前のセクションで示したように、ホームリンクをクリックします
- ルートDjango管理ページのユーザーリンクをクリックします
- 次のウィンドウで関連する新しいユーザー名をクリックします
- スタッフステータスボックス、場合によってはスーパーユーザーステータスボックスをオンにし、新しいユーザーに適していると思われるその他の詳細を入力します
- 右下の青い保存ボタンをクリックします
これにより、新しいユーザーには、構成プロセスで最初に作成された最初のスーパーユーザーアカウント(この例では sammy アカウント)と同じMumble-Django権限が付与されます。
これで、新しいユーザーは完全な管理者権限でダッシュボードにログインし、ダッシュボードからチャットサーバーを実行できるようになります。
結論
このガイドでは、MurmurインスタンスとインターフェイスするようにICEミドルウェアを構成し、Mumble-Djangoとその補助パッケージをインストールして構成し、ApacheWebサーバーからオンラインでアクセスできるようにしました。 最後に、Mumble-Djangoダッシュボードの機能のいくつかについて学びました。
チュートリアルでカバーされている他の領域:
- ICEが以下を使用して機能しているかどうかを確認またはトラブルシューティングします。
netstat
,grep
、 とtail
- での入力を許可する
127.0.0.1
経由のローカルホストアドレスiptables
もし必要なら - インストール
postfix
ローカルにメールを送信するように設定します
今後の手順として、ドメイン名を取得してWebサーバーに適用するか、仮想ホスト構成でMumble-Djangoをセットアップするか、ダッシュボードにMurmurサーバーを追加することが考えられます。