-
如何在Ubuntu 16.04上安装Spreed WebRTC服务器
Spreed是一款免费开源(AGPL)WebRTC音频/视频通话和会议服务器,其设计考虑了隐私。WebRTC是一种自由开放的技术,允许浏览器以点对点的方式相互对话。Spreed WebRTC服务器使用端到端加密来保护用户的隐私和安全。 Spreed WebRTC允许您执行以下操作。 安全的音频、视频和文本聊天 网络会议 一对一视频聊天 本教程将向您展示如何在Ubuntu 16.04 VPS或专用服务器上安装Spreed WebRTC服务器。 步骤1:从官方PPA在Ubuntu 16.04上安装Spreed WebRTC服务器 我们可以从Ubuntu 16.04上的官方PPA轻松安装Spreed WebRTC服务器。 sudo apt添加存储库ppa:strukturag/spreed webrtc sudo apt更新sudo apt安装spreed webrtc 安装后,spreed webtrc将自动启动,其内置web服务器将监听127.0.0.1:8080。您可以通过以下方式检查其状态: systemctl状态spreed webrtc 输出: ● spreed webrtc。服务-Spreed WebRTC服务器已加载:已加载(/lib/systemd/system/Spreed-WebRTC.service;已启用;供应商预设:已启用)活动:自2016年12月13日星期二02:28:18美国东部时间起活动(正在运行);3分钟0秒前主PID:925(spreed-webrtc-s)任务:5内存:1.1M CPU:14ms CGroup:/system。切片/spreed webrtc。服务└─925/usr/sbin/spreed-webrtc-server-c/etc/spreed/webrtc。conf-l/var/log/spreed/webrtc/server。日志 如果没有运行,则手动启动: sudo systemctl启动spreed webrtc 还可以在启动时自动启动: sudo systemctl启用spreed webrtc 主配置文件是/etc/spreed/webrtc。形态。 第2步:设置反向代理 默认情况下,Spreed WebRTC在本地主机上侦听。要从浏览器访问web界面,我们需要使用Nginx或Apache为其设置反向代理。 Nginx 如果使用Nginx,请遵循以下说明。 首先,安装Nginx。 sudo apt安装nginx 然后为Spreed WebRTC创建一个服务器块文件。 sudo nano/etc/nginx/conf.d/spreed-webrtc。形态 将以下文本放入文件中。更换spreed。你的领域。com与你的首选域名,不要忘记设置一个记录。 服务器{listen 80;服务器名spreed.your-domain.com;位置/{proxy_passhttp://127.0.0.1:8080; proxy_http_版本1.1;代理设置头升级$httpU升级;代理设置头连接“升级”;proxy_set_header X-Forwarded-Proto$方案;代理设置头主机$httpU主机;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For$proxy_add_X_Forwarded_For;代理缓存打开;代理忽略客户端中止关闭;代理_重定向关闭;代理连接超时90;代理发送超时90;代理读取超时90;代理缓冲区大小为4k;代理缓存4 32k;代理_busy_busy_buffers_size 64k;代理临时文件写入大小64k;代理u下一个u上游错误超时无效u头httpu 502 httpu 503 httpu 504;}地点~/。著名的/acme挑战{root/usr/share/nginx/spreed/;allow all;} 保存并关闭文件。然后测试Nginx配置并重新加载。 sudo nginx-t sudo systemctl reload nginx 现在,您应该可以通过网络浏览器中的域名访问Spreed WebRTC。 阿帕奇 如果使用Apache,请遵循以下说明。 安装Apache web服务器。 sudo apt安装apache2 然后为Spreed创建一个虚拟主机文件。 sudo nano/etc/apache2/sites available/spreed webrtc。形态 将以下文本放入文件中。更换spreed。你的领域。com与你的首选域名,不要忘记设置一个记录。 <;虚拟主机*:80>;服务器名spreed。你的领域。com<;地点/>;ProxyPasshttp://127.0.0.1:8080/ProxyPassReversehttp://127.0.0.1:8080/</地点>&书信电报;位置/ws>;ProxyPass ws://127.0.0.1:8080/</地点>;ProxyVia On ProxyPreserveHost On</VirtualHost>; 保存并关闭文件。然后我们需要启用proxy_http模块。 sudo a2enmod proxy_http 接下来,启用这个虚拟主机。 sudo a2ensite spreed webrtc。形态 测试配置并重新加载Apache sudo apachectl configtest sudo systemctl reload apache2 现在,您应该可以通过网络浏览器中的域名访问Spreed WebRTC。 第3步:启用HTTPS 现在让我们从let's encrypt获得一个免费的TLS证书。运行以下命令从官方certbot PPA安装Let's Encrypt client(certbot)。 sudo apt安装certbot 如果使用Apache web服务器,那么还需要安装Certbot Apache插件。 sudo apt安装python3 certbot apache 然后发出以下命令以获取免费的TLS/SSL证书。 sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email[email ;protected]-d spreed。实例通用域名格式 如果使用Nginx web服务器,则需要安装Certbot Nginx插件。 sudo apt安装python3 certbot nginx 然后通过运行以下命令,使用Nginx插件获取并安装证书。 sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email[email ;protected]-d spreed。实例通用域名格式 您将看到以下文本,表明您已成功获得TLS证书。 第4步:安装回合/眩晕服务器 如果用户使用不同的NAT设备,WebRTC将无法工作。它将被封锁。为了遍历NAT,我们需要设置一个TURN/STUN服务器作为Web浏览器之间的中继。TURN表示使用NAT周围的继电器进行遍历。Coturn是一款免费、开源的TURN and STUN服务器,用于VoIP和WebRTC。 Coturn可从Ubuntu存储库获得,因此请使用以下命令安装它: sudo-apt-install-coturn 一旦安装,它将自动启动。您可以通过以下方式检查其状态: 系统控制状态切换 样本输出: 如果没有运行,则手动启动: sudo systemctl启动coturn 还可以在启动时自动启动: sudo systemctl启用coturn 步骤5:为Spreed WebRTC配置Coturn 编辑主配置文件。 sudo nano/etc/turnserver。形态 默认情况下,此文件中的所有行都被注释掉。下面是一个可以复制并粘贴到文件中的配置示例。 替换你的域名。com与您的NextCloud或Spreed WebRTC的域名。 将12.34.56.78替换为服务器公共IP地址。 设置一个长且安全的身份验证密钥。(可以使用openssl rand-base64 20命令生成随机字符串。) #仅作为TURN服务器运行,所有STUN请求将被忽略。无眩晕#指定监听端口。换成80或443,进行一些严格的NAT测试。监听端口=8443 tls监听端口=5349#指定监听IP,如果未设置,则Coturn监听所有系统IP。监听ip=12.34.56.78中继ip=12.34.56.78#这些线路支持WebRTC fingerprint lt cred mech realm=您的域。com#身份验证方法使用auth secret static auth secret=您的auth secret总配额=100#TURN服务器允许为会话分配的总带宽#组合(输入和输出网络流分别处理)。bps容量=0#这条线路提供额外的安全性。过时的临时日志文件=/var/log/turnserver/turn。日志无环回对等点无多播对等点 保存并关闭文件。然后用以下命令重新启动coturn服务器: sudo systemctl重启coturn Coturn作为turnserver用户运行。运行以下命令,您应该会看到它正在侦听端口8443。 sudo ss-lnpt | grep turnserver 现在,让我们编辑Spreed WebRTC配置文件。 sudo nano/etc/spreed/server。形态 在[app]部分添加以下两行。相应地替换红色文本。 turnURIs=turn:coturn服务器ip:8443?传输=udp turnSecret=您的身份验证密码 保存并关闭文件。然后重新启动Spreed WebRTC服务器。 sudo systemctl重启spreed webrtc 您应该在防火墙中打开TCP和UDP端口8843,以便Coturn正常工作。如果使用UFW防火墙,请运行以下命令。 sudo ufw allow 8443/tcp sudo ufw allow 8443/udp 一旦Coturn运行并重新启动Spreed WebRTC,NAT后的用户应该能够正常使用音频/视频通话。 下一步 我希望本教程能帮助您使用Docker映像在Ubuntu上安装Spreed WebRTC服务器。您可能还想集成Spreed。我和NextCloud在一起。 如何将Spreed Me WebRTC与NextCloud集成 我希望本教程能帮助您在Ubuntu 16.04上安装Spreed WebRTC服务器。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。
-
如何为Spreed WebRTC设置Coturn TURN服务器
Coturn是一款免费、开源的TURN and STUN服务器,用于VoIP和WebRTC。在之前的教程中,我们讨论了如何安装Spreed WebRTC服务器,以及如何将Spreed WebRTC与NextCloud集成。 但有一个问题:如果用户使用不同的NAT设备,WebRTC将无法工作。它将被封锁。为了遍历NAT,我们需要设置一个TURN服务器作为Web浏览器之间的中继。TURN表示使用NAT周围的继电器进行遍历。它的工作原理超出了本教程的范围。 本教程将向您展示如何在Ubuntu上设置coturn,这是TURN的开源实现,以及如何将Spreed WebRTC连接到coturn。 注意:为了减少延迟,TURN服务器应该靠近用户,并注意TURN服务器消耗大量带宽,因为它将同时依赖音频和视频。Coturn可以与Spreed WebRTC在同一台机器上,也可以在不支持NAT的另一台机器上。 在Ubuntu上安装Coturn服务器 Coturn可从Ubuntu存储库获得,因此请使用以下命令安装它: sudo apt install coturn 一旦安装,它将自动启动。您可以通过以下方式检查其状态: systemctl status coturn 样本输出: 如果没有运行,则手动启动: sudo systemctl start coturn 还可以在启动时自动启动: sudo systemctl enable coturn 为Spreed WebRTC配置Coturn 编辑主配置文件。 sudo nano /etc/turnserver.conf 默认情况下,此文件中的所有行都被注释掉。下面是一个可以复制并粘贴到文件中的配置示例。 替换你的域名。com与您的NextCloud或Spreed WebRTC的域名。 将12.34.56.78替换为服务器公共IP地址。 设置一个长且安全的身份验证密钥。(可以使用openssl rand-base64 20命令生成随机字符串。) # Run as TURN server only, all STUN requests will be ignored. no-stun # Specify listening port. Change to 80 or 443 to go around some strict NATs. listening-port=8443 tls-listening-port=5349 # Specify listening IP, if not set then Coturn listens on all system IPs. listening-ip=12.34.56.78 relay-ip=12.34.56.78 # These lines enable support for WebRTC fingerprint lt-cred-mech realm=your-domain.com # Authentication method use-auth-secret static-auth-secret=your-auth-secret total-quota=100 # Total bytes-per-second bandwidth the TURN server is allowed to allocate # for the sessions, combined (input and output network streams are treated separately). bps-capacity=0 # This line provides extra security. stale-nonce log-file=/var/log/turnserver/turn.log no-loopback-peers no-multicast-peers 保存并关闭文件。然后用以下命令重新启动coturn服务器: sudo systemctl restart coturn Coturn作为turnserver用户运行。运行以下命令,您应该会看到它正在侦听端口8443。 sudo ss -lnpt | grep turnserver 现在,让我们编辑Spreed WebRTC配置文件。 sudo nano /etc/spreed/server.conf 在[app]部分添加以下两行。相应地替换红色文本。 turnURIs = turn:coturn-server-ip:8443?transport=udp turnSecret = your-auth-secrect 保存并关闭文件。然后使用重新启动Spreed WebRTC docker容器 sudo docker restart my-spreed-webrtc 或者,如果您通过Ubuntu PPA安装了Spreed,请运行以下命令。 sudo systemctl restart spreed-webrtc 一旦Coturn运行并重新启动Spreed WebRTC,NAT后的用户应该能够正常使用音频/视频通话。 打开防火墙中的端口 您应该在防火墙中打开TCP和UDP端口8843,以便Coturn正常工作。如果使用UFW防火墙,请运行以下命令。 sudo ufw allow 8443/tcp sudo ufw allow 8443/udp 收尾 就这样!我希望本教程能帮助您为Spreed WebRTC安装coturn服务器。一如既往,如果你觉得这篇文章有用,那么订阅我们的免费时事通讯。你也可以在Google+、Twitter或我们的Facebook页面上关注我们。