使用Mumble搭建私人语音服务器

前言

之前与朋友一起在CSGO开黑时一直用的是微信语音,没有按键发言用的很不顺手。YY语音的广告太多不忍直视,Discord又被墙了。正好自己有个阿里云的服务器,就想着自己搭建一个语音服务器,也方便上网课的时候建立讨论组。于是乎上网查找了一番,找到了一个叫Mumble的语音软件,它的语音客户端全平台支持,官方的搭建文档介绍详细,简直就是开黑神器。话不多说,接下来就是我的搭建过程

下载Mumble服务器安装包

Mumble官方下载页面在这里,选择下载Static Linux Server,然后从浏览器的下载管理中把下载链接复制出来,在服务器上使用wget DOWNLOAD_ADDERSS下载(DOWNLOAD_ADDRESS为刚刚复制的下载链接)

如果官方链接太慢的话,我的服务器上也提供了Mumble V1.3.0的服务器安装包、Windows安装包、macOS安装包,需要的可以从这个页面找到并下载。使用我的服务器提供的下载地址下载Mumble Server:

wget http://fisher.lazybone.xyz/downloads/software/murmur-static_x86-1.3.0.tar.bz2

解压安装包、添加用户和用户组

下载完安装包后,解压并移动到指定目录下。同时从安装包中复制一份配置文件到/etc

tar -vxjf ./murmur-static_x86-1.3.0.tar.bz2
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.3.0/* /usr/local/murmur/
sudo cp ./murmur-static_x86-1.3.0/murmur.ini /etc/murmur.ini

创建用户、用户组、数据文件夹和日志文件夹。同时修改创建的文件和文件夹的权限、拥有者

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

配置服务器参数

使用vim编辑murmur.ini文件

vim /etc/murmur.ini

指定以下3个参数

database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid

以下参数可根据自己需要修改

# 欢迎进入服务器信息,可以修改成自己喜欢的
welcometext="Welcome to Fisher's mumble server!"
# 语音服务器端口,待会对应防火墙端口需要打开
port=64738
# 服务器密码,进入服务器时会询问输入
serverpassword=12345678
# 最大语音带宽,我改成了128kbit/s,可根据自己需要修改
bandwidth=128000
# 最多允许多少名用户进入服务器
users=10

添加系统服务模块

添加系统服务单元,以允许Mumble在后台运行

使用root权限创建murmur.service

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

将以下数据复制到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

[Install]
WantedBy=multi-user.target

由于现在的操作系统会在重启时放弃var/run中的更改,为了重新创建Mumble的PID文件夹,我们需要创建murmur.conf文件

使用root权限创建murmur.conf

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

将以下数据复制到murmur.conf中,然后保存退出

d /var/run/murmur 775 murmur murmur

配置日志文件

使用root权限创建murmur

sudo vim /etc/logrotate.d/murmur

将以下数据复制到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
}

配置防火墙

不同的云服务器商设置防火墙的方式不同。对于阿里云的轻量服务器,服务器的管理界面中点击防火墙,添加TCP和UDP的64738端口(端口根据上面配置文件改变而改变)

配置防火墙

启动服务器

刷新系统服务

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

允许开机自动启动Mumble服务

sudo systemctl enable murmur.service

正式启动Mumble服务器

sudo systemctl start murmur.service

当看到active(running)时,表示Mumble服务器启动成功

启动服务器

连接服务器,完成!

打开自己电脑上的Mumble,点击左上角小地球,点击添加,填入自己的服务器地址,用户名自己起一个喜欢的(不能是SpuerUser,这是Mumble管理员账号)。点击OK后连接,输入密码,大功告成!

添加服务器

进阶操作:添加、修改频道

如果使用的小伙伴太多了,需要分开不同的频道使用的时候,就需要使用SuperUser用户连接服务器并对root频道进行修改了。要使用SuperUser很简单,可以使用首次启动时系统随机分配的密码,也可以自己设置一个密码

对于系统随机分配的密码,使用以下命令:

cat /var/log/murmur/murmur.log

查找<W>year-month-day hour:min:sec 1 => Password for 'SuperUser' set to 'supersecretpassword'这条日志,密码就是那一串supersecretpassword。由于我的服务器用了好久了,那一串日志被覆盖掉了,这里就没有截图了(逃

对于自己设置一个密码,使用以下命令即可:

cd /usr/local/murmur
./murmur.x86 -ini /etc/murmur.ini -supw PASSWORD

其中PASSWORD改成自己想要设定的密码。接下来在Mumble软件中添加自己的服务器,用户名使用SuperUser,密码填自己刚刚设置的密码

管理员登录

连接到服务器后,对着root频道右键,就可以进行频道添加、修改、删除的操作了。最后配置一下自己的音频输入输出,就可以愉快地与朋友开黑了!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容