如何在 Debian 7 上用 Murmur 安装和使用 Mumble-Django

介绍

Mumble-Django 是一个前端 Web 接口,用于管理 Murmur 服务器实例和他们服务的用户. 此仪表板将允许您和其他管理员,如果您选择,从图形 Web 接口运行您的 Mumble 服务器,而不是命令行。

Mumble-Django Default Page

正如它的名字所暗示的那样,仪表板是用Django编写的,它通过图形界面访问Murmur服务器的各种管理功能,一旦管理员用户登录,功能包括但不限于:

  • Live Channel Viewer (CVP) 适用于移动设备的响应版本
  • Mumble 用户权限
  • 设置为当天的消息,服务器密码,版本推荐,等等设置
  • Bans
  • Logs
  • 可通过 Django 框架扩展,并在 GPL 下作为自由软件授权

此外,您可以从同一个仪表板管理多个Murmur安装。

前提条件

请满足下列前提条件。

<$>[注] 上面链接的DigitalOcean文章, How To Install and Configure Mumble Server (Murmur) on Ubuntu 14.04 ,也可以跟随运行 Debian 7. <$>的Droplet。

配置 ICE Middleware

在安装 Mumble-Django 之前,我们必须启用 Murmur 的 ICE (Internet Communications Engine) 组件,这将允许我们使用诸如 `mumble-django' 等程序的额外功能以及它们提供的功能。

ICE 允许通过默认 Mumble 客户端以外的手段与 Murmur 服务器进行交互,而不会损害 Murmur 内部操作的安全性,如数据库、注册用户信息和管理员权利。

ICE 的替代方案是 D-Bus,它提供类似的服务,但现在 ICE 通常是最受欢迎的选择,这就是为什么我们在本教程中选择它。

步骤 1 – 连接到 Murmur 服务器

使用 SSH 连接到您安装 Murmur 服务器的 VPS 服务器从 上一本教程中。 使用具有 sudo 高度权限的用户,并按照下面的步骤进行排序。

1ssh sammy@your_server_ip

步骤 2 — 在 mumble-server.ini 中配置 ICE

Mumble 服务器的所有核心配置都位于一个中央文本文件中。默认情况下,这是 Debian 上的 /etc/ 目录中的 mumble-server.ini 文件。

让我们通过使用grep来找到文件并确保它存在于 /etc/:

1sudo ls /etc/ | grep mumble-server

如果文件存在,输出将是:

1[secondary_label Output]
2mumble-server.ini

在本教程中,我们将使用nano文本编辑器打开文件来编写和编辑。

1sudo nano /etc/mumble-server.ini

關閉 D-Bus 通過 commenting 關閉它的入口線。

通过在这里显示的行开始时添加一个哈希符号(# ):

1[label /etc/mumble-server.ini]
2#dbus=system

进一步在这个文件中,确认行存在,并且是 uncommented(它应该是默认的):

1[label /etc/mumble-server.ini]
2ice="tcp -h 127.0.0.1 -p 6502"

这允许 ICE 访问服务器的 localhost IP 地址,通过 TCP 端口 6502

设定ICE秘密

接下来,我们需要在 config 文件中设置一个值为 icesecretwrite 指令. **如果这个值是空的,任何拥有 SSH 访问到您的服务器的人都可以重新配置或更改 ICE 设置。

我们在文件中寻找的两个行看起来像这样:

1[label /etc/mumble-server.ini]
2#icesecretread=
3icesecretwrite=

第一行我们可以忽略,因为它已经被评论和禁用,这很好,第二行是我们需要设置 _ICE秘密_的地方。

将您选择的短语附加到第二行(所有单词);请确保您设置了不同于下面的密码的密码:

1[label /etc/mumble-server.ini]
2#icesecretread=
3icesecretwrite=example_password

以后你会需要这个冰的秘密,所以确保你记住它。

nano中保存您的更改到mumble-server.ini配置文件,点击:

CTRL + X,然后是Y,然后是ENTER键。

如果使用不同的文本编辑器,则执行相应的保存/写作操作。

步骤 3 – 确认 ICE 正在运行

重新启动 Murmur 服务器,以便我们所做的更改生效。

1sudo service mumble-server restart

使用netstat来确定 ICE 是否确实在端口 6502 上运行和收听,就像我们启用它一样:

1sudo netstat -apn | grep 6502

此前的命令 pipes 我们从netstat通过grep生成的输出,该命令只选择与我们指定的输出到终端的模式相匹配的数据。

我们从这个命令中获得的输出将看起来像下一个代码片段,如果一切正常运行:

1[secondary_label Output]
2tcp 0 0 127.0.0.1:6502 0.0.0.0:*      LISTEN 23629/murmurd

<$>[注] 上面的输出中的最终数字组将因用户而异。

如果端口没有被听到,并且您没有收到上述类似的输出,请检查Murmur的日志文件,看看您是否可以在启动时识别与此 socket(127.0.0.1:6502)相关的任何特定错误。

您可以通过在这里显示的尾巴命令检查日志文件:

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

它应该在日志文件中表示它正在启动ICE在启动时。

1[secondary_label Output]
2"MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running"

线可能会在日志中返回几行。

如果它在你的尾巴输出中不显示这种情况,那么你的mumble-server.ini文件可能需要检查不准确性或错误;日志文件可能有更具体的错误类型细节。

如果需要,现在回去检查您的设置,或者转到下一节,如果一切都按计划正常工作。

安装 Apache Web 服务器

ICE现在正在工作和倾听我们需要的。

让我们将Apache带入图片中。

步骤 1 – 更新和升级系统包

此命令更新了apt-get包管理器的数据库。

1sudo apt-get update

下一步的操作将将从以前的命令中获得的任何新更新安装到 Debian 系统包中。

1sudo apt-get upgrade

当被提示更新新包时,请通过输入y来确认。

第2步:安装Apache Web Server

这里安装了我们需要托管 Mumble-Django 的 Apache 基本版本:

1sudo apt-get install apache2

步骤 3 — 在 apache2.conf 中设置服务器名称

使用文本编辑器打开apache2.conf文件

1sudo nano /etc/apache2/apache2.conf

向下滚动以找到全球配置部分,并使用自己的IP地址添加整个服务器名称行:

1[label /etc/apache2/apache2.conf]
2# Global configuration
3#
4ServerName your_server_ip

保存apache2.conf文件的更改。

重新启动Apache,以便我们所做的配置文件更改被收集。

1sudo service apache2 restart

安装和配置邮件的 Postfix

Postfix 提供 Mumble-Django 的本地电子邮件地址以及在需要时发送登记和其他电子邮件的系统。

这里是如何安装和配置它为我们所需要的。

步骤 1 - 安装 Postfix

使用apt-get来安装postfix包:

1sudo apt-get install postfix

从安装菜单中选择 Internet Site . 它应该默认选择,所以只需按ENTER

Internet Site

然后输入你在创建时给你的Droplet的名称;你可以在DigitalOcean控制面板中找到这个名称。

System Mail Name

<$>[注] 此邮件安装只提供最差的SMTP(邮件发送)功能.您将想要确保您的DNS设置,Postfix设置和主机名在生产邮件设置中都一致。

步骤 2 – 设置 Postfix

编辑 Postfix 的主要配置文件:

1sudo nano /etc/postfix/main.cf

查找读过的文件的最后一行:

1[label /etc/postfix/main.cf]
2inet_interfaces = all

然后,将其从全部更改为本地主机,这样 Postfix 只能使用服务器的循环返回地址:

1[label /etc/postfix/main.cf]
2inet_interfaces = localhost

将您的更改保存到main.cf配置文件中。

通过重新启动postfix重新加载配置文件的更改。

1sudo service postfix restart

Postfix 现在已经准备好根据需要发送电子邮件。

安装和配置Mumble-Django

这个下一个部分的绝大多数是作为一个连续的配置过程的一部分完成的,并设置了Mumble-Django用于使用。

请记住,我们在这里使用的方法是为Apache设置 没有 虚拟主机。

步骤 1 — 安装Mumble-Django

安装Mumble-Django本身:

1sudo apt-get install mumble-django

当被提示时,按ENTER,在安装过程中选择OK

步骤 2 — 设置Mumble-Django

交互式配置过程通过输入此命令开始:

1sudo mumble-django-configure

你应该看到这个交互式快递:

1[secondary_label Interactive]
2What do you want to do?
3 > 1) Detect a new Mumble-Server instance and make it known to Mumble-Django
4   2) Create a new SuperUser for Mumble-Django's web admin interface
5      Note: This will be done automatically when you run 1) for the first time.
6   3) Drop to a Python shell.
7   4) Drop to a Database shell.

在这种情况下,我们要选择1选项,使Murmur的运行实例为该程序所知。

按一下1,然后按一下Enter

现在应该显示另一个提示,看起来像这样:

1[secondary_label Interactive]
2If this is the first time you run this script, you might want to probe for the
3Debian default configuration instead of entering the service string yourself.
4Please choose what service string to use.
5 > 1) Debian default (Meta:tcp -h 127.0.0.1 -p 6502)
6   2) user defined

再次,我们要选择1,因为这是我们在murmurmur-server.ini配置文件中之前启用的。

再次按1,然后按ENTER

下一集的输出将是这样的:

 1[secondary_label Output]
 2Running as www-data: manage.py syncdb
 3Creating tables ...
 4Creating table auth_permission
 5Creating table auth_group_permissions
 6Creating table auth_group
 7Creating table auth_user_user_permissions
 8Creating table auth_user_groups
 9Creating table auth_user
10Creating table django_admin_log
11Creating table django_content_type
12Creating table django_session
13Creating table django_site
14Creating table mumble_mumbleserver
15Creating table mumble_mumble
16Creating table mumble_mumbleuser
17Creating table registration_registrationprofile

随后由:

1[secondary_label Interactive]
2You just installed Django's auth system, which means you don't have any superusers defined.
3Would you like to create one now? (yes/no):

此步骤允许我们为 Mumble-Django 创建一个新的管理用户. 此用户仅用于仪表板; 它不是一个 Mumble 或 Murmur 用户. 然而,这个用户 ** will** 有权以多种方式作为一个 Mumble 管理员。

输入Yes并按Enter

继续填写新的Mumble-Django用户的信息。

第一个,用户名,可以是任何你选择的名字. 在这个例子中,管理员用户被命名为sammy

1[secondary_label Interactive]
2Username (leave blank to use 'www-data'): sammy

电子邮件地址与您即将创建的用户名和密码有关:

1[secondary_label Interactive]
2E-mail address: [email protected]

密码用于登录Mumble-Django仪表板以及我们刚刚创建的用户名。

1[secondary_label Interactive]     
2Password: 
3Password (again):

超级用户成功创建消息后,我们被要求输入冰秘密

我们早些时候在mumble-server.ini配置文件的第一个部分中设置了这一点。

现在输入您决定为 ICE 秘密的具体值:

1[secondary_label Interactive]
2Please enter the Ice secret (if any): example_password

然后我们可以选择重新启动 Apache:

1[secondary_label Interactive]
2Apache2
3-------------------------
4If you have changed any settings in settings.py, you should reload the Web server
5in order for the changes to take effect. Do you want to reload Apache2 now?
6   1) Yes, reload Apache2.
7 > 2) No, don't do anything.

按建议执行并重新启动Apache,键入1,然后按下ENTER最后一次(如果您意外点击ENTER在第二个选项上,请记住以sudo服务apache2重新启动重新启动Apache)。

最后,我们被要求找到一个可以访问Mumble-Django的域名。

1[secondary_label Output]
2The 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

1[secondary_label Interactive]
2your_server_ip

您应该看到这些最终的输出行,确认配置成功:

1[secondary_label Output]
2your.vps.ip.address [ OK ]
3Checking Murmur instances... [ OK ]
4Checking if an Admin user exists... [ OK ]
5Checking SECRET_KEY... [ OK ]
6Goodbye.

如果您在配置过程中已经达到这一点,一切都按预期工作,请继续下面的下一步。

对于在以前的配置过程中收到错误消息的用户来说:

1[secondary_label Output]
2Murmur does not appear to be listening on this address.

如果您看到此错误,那么我们为 ICE 设置的 localhost 或 loopback 地址可能会被阻止,并且与 VPS 上的防火墙相冲突。

在基本的「iptables」防火墙的情况下,通常需要添加「127.0.0.1」循环 IP 地址,以便它能够正确传输。

使用这些命令添加iptables规则:

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

一旦此问题得到解决,请再次运行 Configure 命令来重新启动过程:

1sudo mumble-django-configure

然后,从一开始就重新完成这个步骤。

<$>[注] 有关iptables和其运作方式的更多帮助,请参阅此DigitalOcean指南: 如何在Ubuntu 14.04上使用IPTables设置防火墙 <$>

步骤 3 — 在 settings.py 中编辑设置

settings.py 是 Mumble-Django 的主要配置文件. 使用 nano 或您喜爱的文本编辑器打开它:

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

首先提供一个电子邮件地址,Mumble-Django可以发送错误。 查找# 谁会收到错误的电子邮件?行,然后在两组注释之间输入您的姓名和电子邮件地址:

请注意,必须删除# 符号以启用行。

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

现在通过将DEBUG设置为False在此文件中设置调试模式为False

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

虽然调试模式被禁用,但这将电子邮件上面的地址与完整的例外错误信息,如果和当错误由用户生成。

<$>[注] 在设置东西时放置调试模式可能有帮助,或者如果您遇到仪表板错误,在进入生产时关闭它。

将您的更改保存到settings.py

重新启动Apache,以便在settings.py中的配置文件变更变得活跃:

1sudo service apache2 restart

使用Mumble-Django在线仪表板

教程的最后一部分描述了使用Mumble-Django的Web界面。

步骤 1 – 访问Mumble-Django

您可以在下列地址中的任何一个网页浏览器中访问Mumble-Django:

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

您应该在左列看到 ** Channel Viewer ** 窗口,并在右列看到 ** 服务器信息 ** 卡。

Mumble-Django Default Page

步骤 2 — 登录为 Django 管理员用户

要查看其余的界面和额外的卡,您需要登录仪表板与 Django 管理用户您重新设置在 步骤 2 - 配置Mumble-Django . 在我们的示例中,这是 ** sammy** . 请记住,仪表板用户与您在其他教程中生成的Mumble (Murmur)用户帐户详细信息分开。

点击登录按钮位于页面的右下角。

Login Button

登录后,阅读下面的几个部分,看看您可以通过仪表板完成的所有不同事情!

直播频道观看器

此窗口是静态的,它将始终可见,无论您选择查看或更改什么。

Channel Viewer 向您显示哪些用户目前已连接到该Mumble服务器实例。

Live Channel Viewer Pane

浏览器甚至会跟踪用户正在积极传输到服务器时(即用户正在谈话)。在屏幕底部可以增加或降低此更新间隔,在那里您可以启用/禁用 自动更新 ,并在几秒内设置更新间隔。

Refresh Tab

这里你通常会在Mumble客户端上看到的一切也在这里工作,所以,你可以使用频道名称,描述,图像,消息等。

服务器信息

服务器信息 选项卡显示您正在查看的当前 Mumble 服务器实例的一般统计数据和设置。

Server Information Screenshot

您可以点击此屏幕上的链接以获取更多信息。

Server Information Screenshot

注册

使用此 注册表单 ,您可以将 ** Mumble 用户** 添加到 Murmur 数据库以便从客户端连接。 (这些不是仪表板用户;这些是聊天用户.) 属于您且已经存在的 Mumble 帐户可以链接到您的 Mumble-Django 帐户名称,并与您标记为所有者。

Registration Tab Form

请记住,Murmur的默认身份验证方法现在是SSL证书,而不是基于文本的密码,用于用户帐户。

我们将在稍后的一节中讨论如何添加更多仪表板用户。

行政

您可能会从mumble-server.ini文件中识别到 Administration 选项卡中的设置,在这里设置和添加这些设置将您在该文件中定义的任何内容写入,并将其应用到您正在管理的Mumble服务器实例中。

Administration Tab Forms

日志消息卡一样,这是更易于访问的方式来更改和添加到服务器的配置. 许多字段在没有重新启动的情况下更新并立即应用。

用户文本

在这里,您可以为用户添加图像。 参见Mumble wiki的详细信息。

用户列表

用户列表显示了您通过Mumble客户端或此仪表板注册的任何用户帐户。您可以删除用户,授予管理员权限,并在适用情况下更改密码。 请注意,Mumble现在默认使用SSL证书进行身份验证,而不是基于文本的密码,因此您不应该在这里更改任何密码。

User List Buttons

在通过 Mumble 客户端和 Mumble-Django 同时更改用户属性时,经常使用 Resync with Murmur 按钮。

记录消息

注: IP 地址在即将到来的屏幕截图中已在必要时被编辑。

Murmur的日志文件包括内部和外部(进出)服务器和数据库事件. 在命令行中找到这个文件可以在 /var/log/ 中查看其内容,但如果你想看到最近的几个条目,你也可以跳过这样做并在这里查看它。

Log Messages Tab

您不能像在命令行上那样操纵数据,但它仍然可呈现,并且对于没有命令行访问的用户来说更容易访问。

禁止

用户禁令在这里显示,列中列出的所有细节。

Bans Tab Columns

长度值为0表示永久禁令。

Bans Tab Columns

选择一个禁令,通过左下角的 Delete 按钮来解除它。

步骤 3 – 访问 Django 管理页面

上一节让我们管理 Mumble . 在本节中,我们将向您展示如何管理仪表板本身。

要访问Mumble-Django的更多功能,请点击屏幕右下角的管理按钮(仅在登录时可见)。

Administration Button

在这个新窗口中,有一些额外的服务器实例细节,您可以根据需要配置。

Home Link

点击新面板左上方的 ** 主页** 链接,将您带到 Django 根管理页面,可访问其他隐藏的设置和 Mumble-Django 的其他方面。

Django Administration Window

  • Groups 允许您分配仪表板用户的权限,将其分配给您创建的特定权限的组(如果它们不是仪表板 Superusers)
  • 用户 提供了另一种手动方式来注册或批准新的Mumble-Django管理员帐户,并且是添加新的仪表板用户的最基本但可靠的方式。这些是 ** Dashboard** 用户,而不是聊天用户
  • Mumble Servers 列出了通过中间软件(如ICE或D-Bus)检测到的单独连接。

步骤 4 – 注册额外的仪表板用户帐户

注册 按钮位于初始主页上(在退出时可见),是新用户登录帐户使用仪表板的地方。

Register Button

让新用户通过此按钮的表格注册,然后点击发送给其提供的电子邮件地址的电子邮件中的激活链接。

<$>[注] 新用户应该检查其帐户的垃圾邮件文件夹,如果需要,则需要激活电子邮件。

必须批准新用户,并给出 ** 员工状态** (以及 ** 超级用户状态如果需要),才能登录并访问仪表板中的大多数管理功能。

访问上一节所描述的 Django 管理窗口(Django 管理页面 ),并按照以下步骤批准新用户:

  1. 按下前一节所示的 Home 链接 2,按下 root Django 管理页面上的 用户 链接 3,按下一窗口中的相关新用户名 3。

Click Username 4. Check the Staff status box, and potentially the ** Superuser status** box, and provide any other details you see fit for the new user Permissions Check-Boxes 5. Click the blue Save button at the bottom right

<$>[注] 这给了新用户与最初在配置过程中创建的超级用户帐户(我们示例中的 sammy 帐户)相同的Mumble-Django权限。

新的用户现在可以使用完整的管理权限登录仪表板,并从仪表板中帮助运行您的聊天服务器。

结论

在本指南中,我们将 ICE 中间件配置为与 Murmur 实例接口,安装并配置了 Mumble-Django 及其子公司包,并通过 Apache 网页服务器进行在线访问。

在教程中涵盖的其他领域:

  • 确认或解决问题,如果 ICE 通过使用 netstatgreptail
  • 允许通过 iptables 如果需要,通过127.0.0.1 localhost 地址输入
  • 安装 postfix 并配置为本地发送电子邮件

未来的步骤可能是获取并将域名应用到Web服务器上,设置Mumble-Django与虚拟主机配置,或将额外的Murmur服务器添加到仪表板中。

Published At
Categories with 技术
comments powered by Disqus