如何在 CentOS 7 上安装 Mumble 服务器
在此页
- 配置防火墙
- 下载 Murmur Tarball
- 提取 Murmur Tarball
- 如何确定所有权和权限
- 配置杂音
- 创建 Mumble 服务
- 停用 SELinux
- 启动 Murmur 服务器
- 结论
Mumble 是一款免费应用程序,主要供游戏玩家使用,允许用户在玩游戏时相互交谈。 Mumble 使用客户端-服务器架构,该架构由一个客户端程序组成,该客户端程序使用 Murmur 服务器程序提供的服务。 Mumble 服务器或 Murmur 有一个根频道和它下面的频道层次结构树。 Mumble 客户端用于通过调用服务器应用程序中的函数向服务器请求服务。这是一个非常受欢迎的应用程序,因为它以低延迟提供高质量的音频。 murmur 最好的一点是它可以保持向后兼容,直到旧版本的用户群数量可观为止。 Murmur 是高度个性化的,可以根据用途进行配置。
以下步骤将帮助您非常轻松地将 Murmur 安装到 CentOS 7 上。
配置防火墙
CentOS 防火墙会阻止客户端连接到 Murmur 默认端口 64738,因此,在安装 Murmur 之前,我们必须在防火墙中允许该端口。如果您计划为 Murmur 使用不同的端口,则在防火墙中打开该端口而不是端口 64738。要在防火墙设置中打开默认端口,请运行此命令。
sudo vi /etc/firewalld/services/murmur.xml
之后在其中添加以下行。
<?xml version=”1.0″ encoding=”utf-8″?>
<service>
<short>Murmur</short>
<description>Mumble Server</description>
<port protocol=”tcp” port=”64738″ />
<port protocol=”udp” port=”64738″ />
</service>
将 Murmur 防火墙文件添加到 firewalld 并重新加载它。
sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload
下载 Murmur Tarball
第一步是访问 http://wiki.mumble.info/wiki/Main_Page 并下载最新稳定版的 Mumble Static Linux Server。
由于我们使用的是CentOS 7操作系统,所以需要使用wget命令来下载。我们可以通过右键单击直接链接并选择复制链接地址,然后将其粘贴到 wget 命令后的命令行中来完成此操作。
wget https://github.com/mumble-voip/mumble/releases/download/1.2.13/murmur-static_x86-1.2.13.tar.bz2
--2016-02-22 11:40:08-- https://github.com/mumble-voip/mumble/releases/download /1.2.13/murmur-static_x86-1.2.13.tar.bz2
Resolving github.com (github.com)... 192.30.252.131
Connecting to github.com (github.com)|192.30.252.131|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-cloud.s3.amazonaws.com/releases/1413319/63ec4c18-b7a2-1 1e5-87ae-b6a2fa0c4ba0.bz2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA ISTNZFOVBIJMK3TQ%2F20160222%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160222T 164010Z&X-Amz-Expires=300&X-Amz-Signature=9e08ada5820c5c881131377ba4c0ee8a8e9a6f beb6c31281cf93fc47eeedf00e&X-Amz-SignedHeaders=host&actor_id=0&response-content- disposition=attachment%3B%20filename%3Dmurmur-static_x86-1.2.13.tar.bz2&response -content-type=application%2Foctet-stream [following]
--2016-02-22 11:40:09-- https://github-cloud.s3.amazonaws.com/releases/1413319/ 63ec4c18-b7a2-11e5-87ae-b6a2fa0c4ba0.bz2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz- Credential=AKIAISTNZFOVBIJMK3TQ%2F20160222%2Fus-east-1%2Fs3%2Faws4_request&X-Amz -Date=20160222T164010Z&X-Amz-Expires=300&X-Amz-Signature=9e08ada5820c5c881131377 ba4c0ee8a8e9a6fbeb6c31281cf93fc47eeedf00e&X-Amz-SignedHeaders=host&actor_id=0&re sponse-content-disposition=attachment%3B%20filename%3Dmurmur-static_x86-1.2.13.t ar.bz2&response-content-type=application%2Foctet-stream
Resolving github-cloud.s3.amazonaws.com (github-cloud.s3.amazonaws.com)... 54.23 1.114.170
Connecting to github-cloud.s3.amazonaws.com (github-cloud.s3.amazonaws.com)|54.2 31.114.170|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11933906 (11M) [application/octet-stream]
Saving to: ‘murmur-static_x86-1.2.13.tar.bz2’
100%[======================================>] 11,933,906 35.1MB/s in 0.3s
2016-02-22 11:40:10 (35.1 MB/s) - ‘murmur-static_x86-1.2.13.tar.bz2’ saved [1193 3906/11933906]
提取 Murmur Tarball
将最新版本的 Murmur 下载到我们的系统后,我们现在必须从 tarball 中提取所有文件。执行下面给出的命令来提取 tarball。
tar -vxjf ./murmur-static_x86-1.2.13.tar.bz2
如果您在提取文件时遇到错误,如下所示。
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
这可以通过简单地安装 bzip2 包来解决。再次安装后尝试运行上述命令以提取所有文件。
sudo yum install bzip2
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
........................
Install 1 Package
Upgrade ( 1 Dependent package)
Total download size: 92 k
Is this ok [y/d/N]:
按Y然后回车处理
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): bzip2-1.0.6-13.el7.x86_64.rpm | 52 kB 00:00:00
(2/2): bzip2-libs-1.0.6-13.el7.x86_64.rpm | 40 kB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 135 kB/s | 92 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : bzip2-libs-1.0.6-13.el7.x86_64 1/3
Installing : bzip2-1.0.6-13.el7.x86_64 2/3
Cleanup : bzip2-libs-1.0.6-12.el7.x86_64 3/3
Verifying : bzip2-libs-1.0.6-13.el7.x86_64 1/3
Verifying : bzip2-1.0.6-13.el7.x86_64 2/3
Verifying : bzip2-libs-1.0.6-12.el7.x86_64 3/3
Installed:
bzip2.x86_64 0:1.0.6-13.el7
Dependency Updated:
bzip2-libs.x86_64 0:1.0.6-13.el7
然后再次执行命令解压 tarball。
murmur-static_x86-1.2.13/
murmur-static_x86-1.2.13/murmur.x86
murmur-static_x86-1.2.13/LICENSE
murmur-static_x86-1.2.13/dbus/
murmur-static_x86-1.2.13/dbus/weblist.pl
murmur-static_x86-1.2.13/dbus/murmur.pl
murmur-static_x86-1.2.13/ice/
murmur-static_x86-1.2.13/ice/icedemo.php
murmur-static_x86-1.2.13/ice/Murmur.ice
murmur-static_x86-1.2.13/ice/weblist.php
murmur-static_x86-1.2.13/murmur.ini
murmur-static_x86-1.2.13/README

创建目录 /usr/local/murmur。在此目录中,将所有从包中提取的文件复制到 /usr/local/murmur/。
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.2.13/* /usr/local/murmur/
然后将murmur配置文件复制到etc/murmur.ini。
sudo cp ./murmur-static_x86-1.2.9/murmur.ini /etc/murmur.ini
如何修复所有权和权限
现在,我们必须在 murmur 组下创建一个 murmur 用户,并将主目录指定为 /var/lib/murmur/。运行以下命令来执行此操作:
sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
要存储杂音的日志,我们必须创建一个日志目录。之后,我们必须将该目录的所有权分配给 murmur。
sudo mkdir /var/log/murmur $
sudo chown murmur:murmur /var/log/murmur
现在,我们将对日志目录设置更严格的权限来保护日志文件。
sudo chmod 0770 /var/log/murmur
配置杂音
文件 /etc/murmur.ini 是 murmur 的默认配置文件。现在我们将在文本编辑器的帮助下将以下行添加到文件 /etc/murmur.ini 中。我将在这里使用 vi,但其他编辑器如 nano 或 joe 也可以使用。
sudo vi /etc/murmur.ini

更改或添加以下两行:
pidfile=/var/run/murmur/murmur.pid
logfile=/var/log/murmur/murmur.log
我们使用的是vim编辑器,按“i”打开插入模式,然后在上面插入两行
输入 :wq 并按回车将文件写入磁盘并退出 vi。
创建 Mumble 服务
要使用 systemd 管理和启动 murmur 服务,我们必须创建一个 systemd 单元文件。为此,我们将使用文本编辑器创建一个新文件 /etc/system/system/murmur.service。此操作必须以 root 用户身份或使用 sudo 完成,如下所示。
sudo vi /etc/systemd/system/murmur.service
之后,将以下行复制并粘贴到文件中。
[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target
[Service]
User=murmur
Type=forking
PIDFile=/var/run/murmur/murmur.pid
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
[Install]
WantedBy=multi-user.target

在现代系统上,/var/run 在重新引导后被丢弃。要重新生成 pid 目录,我们只需创建配置文件 /etc/tmpfiles.d/murmur.conf。
sudo vi /etc/tmpfiles.d/murmur.conf
将以下行插入文件并保存。
d /var/run/murmur 775 murmur murmur
现在让 systemd 为 Murmur 创建临时文件并重新加载 systemd 配置。
sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload
要使服务器与系统启动一起启动,请执行此命令以实现它:
sudo systemctl enable murmur.service
禁用 SELinux
SELinus 将阻止 Murmur 启动。要正确运行 Murmur,我们必须禁用它。要永久禁用 SELinux,您必须编辑 /etc/sysconfig/selinux 并选择 SELINUX 作为禁用:
sudo vi /etc/sysconfig/selinux
SELINUX=disabled
然后重启服务器。
启动 Murmur 服务器
现在我们可以使用这个命令启动 murmur 服务
sudo systemctl start murmur.service
结论
如果所有步骤都正确完成,你应该可以使用默认端口64738的CentOS 7系统的域或IP地址连接到Murmur服务器。你可以从官方mumble页面下载Mumble客户端或来自 Github。安装 mumble 的这些简单步骤将使游戏玩家能够连接到同一台服务器。