发布于2022年11月4日3年前 在CentOS7上安装Mumble的服务器端 前言 最近研究了一下Mumble,使用Mumble能建立加密的语音通信。不敢独享,特翻译官方wiki文档Installation of murmur server on CentOS 7 (RHEL 7) using the static mumble server.如下。 正文: 在CentOS7上安装Mumble的服务器端murmur 在CentOS7(RHEL7)上使用static mumble server安装包配置murmur 服务端 目录 1 安装 2 系统配置 2.1 配置Murmur.ini文件 2.2 允许作为后台进程运行 2.3 配置日志滚动 2.4 防火墙 2.5 SELinux 2.6 完成并启动 安装 下载Static Murmur Server,然后运行以下命令安装: tar -vxjf ./murmur-static_x86-1.2.8.tar.bz2 sudo mkdir /usr/local/murmur sudo cp -r ./murmur-static_x86-1.2.8/* /usr/local/murmur/ sudo cp ./murmur-static_x86-1.2.8/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 系统配置 Murmur.ini 确保在/etc/murmur.ini文件中正确配置了以下设置: database=/var/lib/murmur/murmur.sqlite logfile=/var/log/murmur/murmur.log pidfile=/var/run/murmur/murmur.pid # Reminder: When changing the port that murmur will listen to you will need to also update the firewall. # Update the firewall by editing /etc/firewalld/services/murmur.xml # Then run "sudo firewall-cmd --reload" port=64738 # Comment out the following setting since the service will already be executing as the correct user: # uname=murmur 允许作为后台进程运行 创建一个 systemd unit 文件,以便操作系统可以管理murmur服务。 使用您的文本编辑器,创建文件'/etc/systemd/system/murmur.service'(需要root权限)。 复制并粘贴以下内容: [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 在重启后被丢弃。 要重新生成murmur的pid目录,请以root身份创建配置文件 “/etc/tmpfiles.d/murmur.conf” 并复制粘贴以下内容: d /var/run/murmur 775 murmur murmur 配置日志滚动 配置logrotate,以致murmur的日志不填满 /var/log 。 以root身份创建 '/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 } 防火墙 配置firewalld以便它允许服务侦听 TCP/UDP 。如果您修改了murmur.ini以便它侦听非默认端口,那么您在此步骤需要修改对应端口以适配您对murmur.ini的修改。 以root用户身份创建配置文件'/etc/firewalld/services/murmur.xml'并复制粘贴以下内容: <?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 SELinux 注意:请先尝试在SELinux强制模式下运行murmur。在RHEL或CentOS 7.2以上系统中,SELinux似乎不再阻止murmur的运行 。 如有异常,请在'/var/log/audit/audit.log'中检查与murmur相关的AVC条目。 注意:此处列出的步骤可能会使安全人士感到畏缩。 如果有人有时间和耐心解决SELinux,请考虑使用适当的解决方案更新本文档。 SELinux默认会阻止murmur正常运作。 快速简便的解决方案是简单地禁用它。 要暂时禁用(直到下次重新启动),请运行以下命令: sudo setenforce 0 要永久禁用(在下次重启后),请编辑 '/etc/sysconfig/selinux' 并将“SELINUX”行更改为: SELINUX=disabled 完成并运行 更新您的系统配置,以便它可以启动 murmur 服务: sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf sudo systemctl daemon-reload 要暂时启动 murmur 服务(直到下次重启),请运行: sudo systemctl start murmur.service 告诉系统自动启动murmur服务(这不会立即运行murmur,而是在下次重启时启动): sudo systemctl enable murmur.service 警告:如果在启动Murmur时遇到僵尸进程(zombie process),则必须安装redhat-lsb-core软件包。 参考链接: Install CentOS7-wiki.mumble.info Installing Mumble-wiki.mumble.info
创建帐户或登录后发表意见