专栏首页HCG_Sky's BlogMumble——简介及搭建

Mumble——简介及搭建

一款开源语音通信应用程序-Mumble

1. Mumble

  Mumble是一款开源语音通信应用程序,具有可自定义的游戏覆盖图,应用程序外观,对话记录和高级语音活动检测功能。

官网传送门:https://mumble.com/

2. 安装

2.1 准备工作

  • 一个域名指向Mumble所在服务器的IP地址并确保成功解析
  • vim或nano或者其它你喜欢的编辑器

2.2 开始安装

↓以root用户运行,先是下载最新的release,linux服务器版本murmur↓

[点这里查看最新release]

wget https://github.com/mumble-voip/mumble/releases/download/1.3.1/murmur-static_x86-1.3.1.tar.bz2
tar -vxjf ./murmur-static_x86-1.3.1.tar.bz2
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.3.1/* /usr/local/murmur/
sudo cp ./murmur-static_x86-1.3.1/murmur.ini /etc/murmur.ini

↓创建murmur用户和组等内容↓

sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
sudo chmod 0770 /var/log/murmur

3. 系统设置

3.1 修改murmur.ini

↓打开murmur.ini↓

vim /etc/murmur.ini

↓在murmur.ini中,确保如下内容↓

↓其中host对应之前准备好的域名,serverpassword设为空时没有密码↓

database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid
...
port=64738
...
uname=murmur
host=mumble.demo.com
serverpassword=demo

3.2 创建murmur服务

↓创建murmur.service文件↓

sudo vim /etc/systemd/system/murmur.service

↓在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
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
ExecReload=/bin/kill -s HUP $MAINPID
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

↓在很多系统中/var/run 会在重启后被清空↓

↓为了在重启后重新生成pid目录,以root权限创建配置文件↓

sudo vim /etc/tmpfiles.d/murmur.conf

↓在murmur.conf这个配置文件中写入↓

d /var/run/murmur 775 murmur murmur

保存后退出

3.3 日志轮换

↓为避免日志文件过多造成的困扰,创建配置文件↓

sudo vim/etc/logrotate.d/murmur

↓写入以下内容后,保存并退出↓

/var/log/murmur/*log {
    su murmur murmur
    dateext
    rotate 4
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload murmur.service > /dev/null 2>/dev/null || true
    endscript
}

3.4 防火墙

↓此处防火墙设置的端口需要和系统配置文件/etc/murmur.ini里面的端口保持一致↓

↓如果你在配置文件中修改了端口,请在以下文件中对端口也进行修改以保持一致↓

sudo vim /etc/firewalld/services/murmur.xml

↓默认端口为64738,写入以下内容,保存后退出↓

<?xml version="1.0" encoding="utf-8"?><service>        <short>Murmur</short>        <description>Mumble Server (Murmur)</description>        <port protocol="tcp" port="64738" /><!-- Reminder: Update /etc/murmur.ini so that it uses the same ports -->        <port protocol="udp" port="64738" /></service>

↓添加以下规则到防火墙并重载使其生效↓

sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload

3.5 收尾工作

↓更新系统使我们刚才的设置生效↓

sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload

3.6 开机自启动

↓设置开机服务器自启动↓

sudo systemctl enable murmur.service

4. 服务器管理命令

4.1 开启murmur服务

↓输入指令↓

sudo systemctl start murmur.service

4.2 停止murmur服务

↓输入指令↓

sudo systemctl stop murmur.service

4.3 停止开机自启动

↓输入指令↓

sudo systemctl disable murmur.service

5. 服务器管理员

5.1 查找SuperUser信息

↓至少成功运行murmur服务一次,然后去log中找到密码↓

↓密码是第一次运行时自动生成的↓

↓使用 cat 指令查看密码↓

cat -n /var/log/murmur/murmur.log

↑其中2020-04-14 23:53:13.049 1 => Password for 'SuperUser' set to 'PASSWORD'↑

↑这一条写明了用户名SuperUser的密码是PASSWORD↑

5.2 修改SuperUser密码

↓输入指令并替换其中的Your_Password为你自己的密码即可↓

/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini -supw Your_Password

5.3 让其它账户成为管理员

在成功运行了murmur服务,拿到了SuperUser密码后,去官方下载页面下载对应平台客户端版本并安装

[官方下载]

打开Mumble客户端,完成证书的创建或者导入工作

在Mumble主界面选择服务器-->连接-->添加,在弹出的选项卡里填入以下内容

  • 地址:mumble.demo.com
  • 端口:64738
  • 用户名:你的用户名(这是你在服务器中显示的名字)
  • 别名:你的用户名@mumble.demo.com

填好后点 连接 当你连入了服务器后右键单击自己的用户名,选择 注册 并同意 断开当前连接,然后在服务器选项卡新添加一个服务器,填入以下内容

  • 地址:mumble.demo.com
  • 端口:64738
  • 用户名:SuperUser
  • 别名:SuperUser@mumble.demo.com

在弹出密码框时输入SuperUser的密码 在服务器列表中右键点击Root频道,选择编辑-->分组 在分组的下拉菜单中选中admin 在左下角的成员下拉菜单中,输入前面在服务器注册的用户名并按回车 断开当前连接,连接收藏夹里别名为:你的用户名@mumble.demo.com的服务器 恭喜!账号你的用户名现在获得了服务器的管理员权限

6. 搭建完成

至此

一个属于你的私人语音服务器就搭建完成了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Typecho——简介及安装

    Typecho是由type和echo两个词合成的,来自于开发团队的头脑风暴。Typecho基于PHP5开发,支持多种数据库,是一款内核强健﹑扩展方便﹑体验友好﹑...

    HCG_Sky
  • Typecho开启伪静态并隐藏index.php

    用Typecho的都知道域名后面会加一个index.php,很多人都接受不了这种丑陋东西 例如下网址:https://blog.hacther.cn/index...

    HCG_Sky
  • Typecho将Gravatar头像改为QQ头像

    相信大部分做过网站的朋友都知道,Gravatar是一个全球性的头像设置平台 除中国以外大部分网站都是调用的此平台头像,但因为我们伟大的祖国有一般人射不穿的城墙 ...

    HCG_Sky
  • ROS-大陆路由表rsc脚本生成

    Eric杂货铺
  • uniapp获取接口数据,渲染在picker选择器里面

    2:选择一个比较好用的ui框架 引入之后,很多代码样式都不需要自己一点点的写了,需要什么样的,直接在UI库里面复制黏贴就行 ,省了很多时间哦,不许呀考虑写出来...

    王小婷
  • STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载

    说明: 1、对于AP+APP方式的程序,出厂时,如果多个程序都在内部Flash或者外部flash,制作个hex或者bin合并,可以方便的下载。     ...

    armfly
  • web基础之Structs(一篇)

    为什么有 struts 框架 Struct 的优点之处: 1.       struct的好处 2.       程序更加规范化 3.       程序的可...

    Gxjun
  • 钓鱼网站检测【机器学习】

    本文介绍如何使用机器学习技术检测一个URL是否是钓鱼网站,内容包括数据抓取、特征选择和模型训练等。

    用户1408045
  • 一个ABAP和JavaScript这两种编程语言的横向比较

    There are already two great blogs which stress why ABAPers should learn Javascri...

    Jerry Wang
  • jsp无法正常加载CSS样式

    白胡杨同学

扫码关注云+社区

领取腾讯云代金券