在Debian 7上安装和使用Mumble Django with Murrint
介绍
Mumble Django是一个前端web界面,用于管理Murruit服务器实例及其服务的用户。这个仪表板将允许您和其他管理员(如果您选择的话)从图形web界面而不是命令行运行Mumble服务器。

顾名思义,仪表板是用Django编写的。一旦管理员用户登录,它就可以通过图形界面访问Murruit服务器的各种管理功能。功能包括但不限于:
具有移动设备响应版本的实时频道查看器(CVP)
Mumble用户权限
配置每日消息、服务器密码、推荐版本等设置
禁令
日志
通过Django框架的可扩展性和GPL下作为自由软件的许可
此外,您可以从同一个仪表板管理多个Murruit安装。
先决条件
请完成以下先决条件。
以Debian 7作为其操作系统的VPS(在编写本文时,Mumble Django在Debian 8上工作不好)
VPS上具有sudo提升权限的用户帐户:如何在Debian VPS上向用户添加、删除和授予sudo权限
在同一VPS上安装和运行的Mumble服务器(Murrur):如何在Ubuntu 14.04上安装和配置Mumble server(Murrut)
上面链接的DigitalOcean文章如何在Ubuntu 14.04上安装和配置Mumble Server(Murrur),也可以用于运行Debian 7的Droplet
配置ICE中间件
在安装Mumble Django之前,我们必须启用Mumble的\u ICE_(Internet Communications Engine)组件。这将允许我们使用程序的额外功能,如mumble-django及其提供的功能。
ICE可以通过默认Mumble客户端以外的其他方式与Mumbur服务器交互,而不会损害Mumbur内部工作的安全性,例如数据库、注册用户详细信息和管理权限。
ICE的替代方案是D-Bus,它提供了类似的服务,但ICE通常是现在的首选,这就是为什么我们在本教程中选择它而不是D-Bus。
步骤1-连接到Murruit服务器
使用SSH连接到VPS,在那里安装了上一个教程中的Murruit服务器。使用具有sudo提升权限的用户,并按顺序执行以下步骤。
ssh sammy@your_server_ip
步骤2-在mumble-server.ini中配置ICE
Mumble服务器的所有核心配置都驻留在一个中央文本文件中。默认情况下,这是Debian上/etc/目录中的mumble-server.ini文件。如果您在早期的Murruit server安装过程中更改了此目录,那么您将在那里找到它。
让我们找到该文件,并使用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"
这允许ICE通过TCP端口6502访问服务器的\u localhost\uIP地址。保持这一行不变。
设定冰的秘密
接下来,我们需要在配置文件中为icesecretwrite指令设置一个值如果保留为空,任何具有服务器SSH访问权限的人都可以重新配置或更改ICE设置
我们在文件中查找的两行如下所示:
/etc/mumble-server.ini
#icesecretread=
icesecretwrite=
我们可以忽略第一行,因为它已经被注释掉并被禁用,这很好。第二行是我们需要设置_ICE secret_的地方。
将你选择的短语附加到第二行(全部为一个单词);确保设置的密码与下面显示的不同:
/etc/mumble-server.ini
#icesecretread=
icesecretwrite=example_password
稍后你会需要这个冰的秘密,所以一定要记住它。
按以下键将nano中的更改保存到mumble-server.ini配置文件:
CTRL+X,然后y表示是,然后是ENTER键。
如果使用不同的文本编辑器,则执行等效的保存/写入操作。
步骤3-确认ICE正在运行
重新启动Murruit服务器,使我们所做的更改生效。
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
<$>[注意]上述输出中的最后一组数字将因用户而异。
如果端口未被监听,并且没有收到类似上述的输出,请检查Murruit的日志文件,查看是否可以识别与此\u socket_200;(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文件是否存在不准确或错误;日志文件可能包含有关错误类型的更详细信息。
如果需要,请立即返回并检查您的设置,如果一切正常,请转至下一节。
安装Apache Web服务器
ICE正在按照我们的需要工作和聆听。
让我们把Apache带到图片中。
步骤1-更新和升级系统包
此命令更新apt-get包管理器的数据库。
sudo apt-get update
下一步操作将把从上一个命令获得的任何新更新安装到Debian系统包中。
sudo apt-get upgrade
当提示更新新软件包时,请输入y作为“是”。
步骤2-安装Apache Web服务器
这将安装Apache的基本版本,我们需要托管Mumble Django:
sudo apt-get install apache2
步骤3-在apache2.conf中设置ServerName
用文本编辑器打开apache2.conf文件
sudo nano /etc/apache2/apache2.conf
向下滚动找到Global Configuration部分,并使用您自己的IP地址添加整个ServerName行:
/等/apache2/apache2.conf
# Global configuration
#
ServerName your_server_ip
保存apache2.conf文件更改。
重新启动Apache,以获取我们对配置文件所做的更改。
sudo service apache2 restart
安装和配置邮件后缀
Postfix为Mumble Django提供了一个本地电子邮件地址和一个在需要时发送注册和其他电子邮件的系统。
下面是如何根据需要安装和配置它。
步骤1-安装后缀
使用apt-get安装postfix软件包:
sudo apt-get install postfix
从安装菜单中选择互联网站点。默认情况下应该选中它,所以只需按ENTER。

然后输入你在创造时给你的水滴起的名字;您可以在DigitalOcean控制面板中找到它。

此邮件安装仅提供最简单的SMTP(邮件发送)功能。您需要确保DNS设置、后缀设置和主机名都在生产邮件设置中对齐。
步骤2-配置后缀
编辑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
下一节的绝大多数内容是作为一个连续配置过程的一部分完成的,并设置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,使程序知道杂音的运行实例。
按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管理员。
键入yes,然后按ENTER。
继续为新的Mumble Django用户填写信息。
第一个,Username,可以是任何你选择的名字。在本例中,管理员用户名为sammy。
InteractiveUsername (leave blank to use 'www-data'): sammy
Email Address绑定到您要创建的用户名和密码:
InteractiveE-mail address: sammy@emaildomain.com
这个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。(如果在第二个选项中意外点击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要运行的本地主机或环回地址被阻止,并且与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指南:如何在Ubuntu 14.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?行,然后在两组括号之间输入您的姓名和电子邮件地址:
还要注意,需要删除#符号才能启用该行。
/etc/mumble-django/settings.py
# Who will receive emails on errors?
ADMINS = (
('Sammy', 'sammy@email-domain.com'),
)
现在,通过将DEBUG设置为False,将该文件中的调试模式设置为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:
http://your_server_ip/mumble-django
http://your_server_ip/mumble-django/mumble/1
您应该在左栏看到Channel Viewer窗口,在右栏看到Server info选项卡。

步骤2-以Django Admin用户身份登录
要查看界面的其余部分和额外选项卡,您需要使用您在步骤2-配置Mumble Django中设置的Django管理用户登录到仪表板。在我们的示例中,这是sammy。请记住,仪表板用户与您在其他教程中生成的含糊(杂音)用户帐户详细信息是分开的。
登录按钮位于页面右下角。

登录后,请阅读下面几节,了解您可以通过仪表板执行的所有不同操作!
直播频道查看器
该窗口是静态的;无论您选择查看或更改什么,它都将始终可见。
Channel Viewer向您显示哪些用户当前连接到有问题的Mumble服务器实例。

查看器甚至可以跟踪用户何时主动向服务器传输数据(即,用户正在讲话)。更新间隔可以在屏幕底部增加或减少,您可以启用/禁用自动刷新,并以秒为单位设置刷新间隔。

你在Mumble客户机上通常看到的一切都在这里工作。因此,您可以使用频道名称、描述、图像、消息等。
服务器信息
服务器信息选项卡显示您正在查看的当前Mumble服务器实例的常规统计信息和设置。您在管理中添加和修改的其他详细信息也可以添加到此选项卡。

您可以单击此屏幕上的链接了解更多信息。

登记
使用此注册表单,您可以将Mumble用户添加到Murry数据库,以便与客户端进行连接。(这些不是仪表板用户;这些是聊天用户。)属于您并且已经存在的Mumble帐户可以链接到您的Mumble Django帐户名,并将您标记为所有者。(现在,请随时将超级用户Mumble帐户与Mumble Django用户同步。)

请记住,Murruit中的默认身份验证方法现在是用户帐户的SSL证书,而不是基于文本的密码。
在后面的一节中,我们将讨论如何添加更多的仪表板用户。
管理
您可能会从mumble-server.ini文件中识别出管理选项卡中的设置。在此处设置并添加这些将覆盖您在所述文件中定义的任何内容,并将其应用于您正在管理的Mumble服务器实例。

与日志消息选项卡一样,这是一种更易于访问的更改和添加服务器配置的方法。许多字段在不重新启动的情况下更新,并立即应用。
用户纹理
在这里,您可以为用户添加图像。有关详细信息,请参阅Mumble wiki。
用户列表
用户列表显示您通过Mumble客户端或此仪表板注册的任何用户帐户。如果适用,您可以删除用户、授予管理员权限和更改密码。注意,Mumble现在默认使用SSL证书进行身份验证,而不是基于文本的密码,因此您不需要在此处更改任何密码。

通过Mumble client和Mumble Django同时更改用户属性时,请经常使用Resync with murr按钮。
日志消息
**注意:**IP地址已在接下来的屏幕截图中根据需要进行了编辑。
Murruit的日志文件包括内部和外部(传入/传出)服务器和数据库事件。可以在命令行的/var/log/中找到此文件以查看其内容,但如果您想查看最近的几个条目,也可以跳过此操作并在此处查看。

您不能像在命令行上那样操作这里的数据,但它仍然是可呈现的,并且对于没有命令行访问权限的用户来说更容易访问。它还可以通过窗口左下角的输入字段进行过滤。
禁令
此处显示了对用户的禁令,并将所有详细信息列在各栏中。

值为0的持续时间表示永久禁止。

通过左下角的删除按钮,选择一条禁令,解除禁令。
步骤3-访问Django管理页面
上一节让我们管理Mumble。在本节中,我们将向您展示如何管理仪表板本身。
要访问Mumble Django的更多功能,请单击屏幕右下角的管理按钮(仅在登录时可见)。

在这个新窗口中,如果需要,可以配置一些额外的服务器实例详细信息。

单击新面板左上角的主页链接。这将带您进入根Django管理页面,提供对其他隐藏设置和Mumble Django的更多方面的访问。

组允许您将仪表板用户的权限分配给您创建的具有特定权限的组(如果他们不是仪表板超级用户)
用户提供了另一种手动方式来注册或批准新的Mumble Django管理员帐户,是添加新仪表板用户的最基本但最可靠的方式。他们是仪表板用户,不是聊天用户
Mumble服务器列出了通过中间件(如ICE或D-Bus)检测到的单独连接。在学习本教程时,应该只有一个
服务器实例显示所有注册的Murruit服务器实例。您可以单独或一起启动、停止和重新启动每一个,以及启用或禁用其自动引导
注册配置文件包含重新发送验证电子邮件和手动激活用户帐户等选项
站点允许您更改仪表板域名。仅当新域指向服务器时才更改此选项
步骤4-注册其他仪表板用户帐户
注册按钮位于初始主页上(注销时可见),是新用户注册帐户以使用仪表板的地方。

让新用户通过此按钮上的表单注册,然后单击发送到其提供的电子邮件地址的电子邮件中的激活链接。
如果需要,新用户应检查其帐户的垃圾邮件文件夹中的激活电子邮件。它将来自网站管理员,并具有主题帐户验证。
新用户在登录并访问仪表板中的大多数管理功能之前,必须获得批准并获得员工状态(以及超级用户状态,如果需要)。
访问上一节(Django Administration Page)中描述的Django Administration窗口,并按照以下步骤批准新用户:
1、点击主页链接,如前一节所示
2.单击根Django管理页面上的用户链接
3.在下一个窗口中单击相关的新用户名
4.选中员工状态框,可能选中超级用户状态,并提供您认为适合新用户的任何其他详细信息
5、点击右下角的蓝色保存按钮
这为新用户提供了与最初在配置过程中创建的第一个超级用户帐户(我们示例中的sammy帐户)相同的Mumble Django权限。
新用户现在可以使用完全的管理权限登录到仪表板,并帮助从仪表板运行聊天服务器。
结论
在本指南中,我们将ICE中间件配置为与Murruit实例接口,安装并配置Mumble Django及其附属软件包,并使其可以通过Apache web服务器在线访问。最后,我们了解了Mumble Django仪表板的一些功能。
本教程涵盖的其他领域:
-
通过使用
netstat、grep和tail确认或排除ICE是否工作 -
如果需要,允许通过
iptables输入127.0.0.1本地主机地址 -
安装
postfix并将其配置为在本地发送电子邮件
未来的步骤可能是获取域名并将其应用于web服务器,使用虚拟主机配置设置Mumble Django,或者在仪表板中添加其他Mumbur服务器。
更多推荐




所有评论(0)