如何在Ubuntu 16.04上安装Spreed WebRTC服务器

Spreed是一个免费的开放源代码(AGPL)WebRTC音频/视频通话和会议服务器,其设计充分考虑了隐私。 WebRTC是一项免费和开放的技术,允许浏览器以对等方式相互通信。 Spreed WebRTC服务器使用端到端加密来保护用户的隐私和安全。

Spreed WebRTC允许您执行以下操作。

  • 安全的音频,视频和文本聊天
  • 网络会议
  • 一对一视频聊天

本教程将向您展示如何在Ubuntu 16.04 VPS或专用服务器上安装Spreed WebRTC服务器。

从官方PPA在Ubuntu 16.04上安装Spreed WebRTC Server

我们可以从Ubuntu 16.04上的官方PPA轻松安装Spreed WebRTC服务器。

sudo apt-add-repository ppa:strukturag/spreed-webrtc

sudo apt update

sudo apt install spreed-webrtc

安装完成后, spreed-webtrc 将自动启动,其内置的网络服务器会监听 127.0.0.1:8080。 您可以通过以下方式查看其状态:

systemctl status spreed-webrtc

输出:

● spreed-webrtc.service - Spreed WebRTC server
   Loaded: loaded (/lib/systemd/system/spreed-webrtc.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-12-13 02:28:18 EST; 3min 0s ago
 Main PID: 925 (spreed-webrtc-s)
    Tasks: 5
   Memory: 1.1M
      CPU: 14ms
   CGroup: /system.slice/spreed-webrtc.service
           └─925 /usr/sbin/spreed-webrtc-server -c /etc/spreed/webrtc.conf -l /var/log/spreed/webrtc/server.log

如果它没有运行,请手动启动它:

sudo systemctl start spreed-webrtc

并在启动时启用自动启动:

sudo systemctl enable spreed-webrtc

主要配置文件是 /etc/spreed/webrtc.conf

设置Nginx反向代理

默认情况下,Spreed WebRTC在本地主机上侦听。 要从浏览器访问Web界面,我们需要使用Nginx或Apache为其设置反向代理。

如果您使用Nginx,请按照以下说明进行操作。

首先,安装Nginx。

sudo apt install nginx

然后为Spreed WebRTC创建一个服务器阻止文件。

sudo nano /etc/nginx/conf.d/spreed-webrtc.conf

将以下文本放入文件中。 更换 spreed.your-domain.com 使用您的首选域名,不要忘记设置A记录。

server {
        listen 80;
        server_name spreed.your-domain.com;
        location / {
                proxy_pass http://127.0.0.1:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_buffering             on;
                proxy_ignore_client_abort   off;
                proxy_redirect              off;
                proxy_connect_timeout       90;
                proxy_send_timeout          90;
                proxy_read_timeout          90;
                proxy_buffer_size           4k;
                proxy_buffers               4 32k;
                proxy_busy_buffers_size     64k;
                proxy_temp_file_write_size  64k;
                proxy_next_upstream         error timeout invalid_header http_502 http_503 http_504;
        }

        location ~ /.well-known/acme-challenge {
             root /usr/share/nginx/spreed/;
             allow all;
        }
}

保存并关闭文件。 然后测试Nginx配置并重新加载。

sudo nginx -t

sudo systemctl reload nginx

现在,您应该能够通过Web浏览器中的域名访问Spreed WebRTC。

设置Apache反向代理

如果您使用Apache,请按照以下说明进行操作。

安装Apache Web服务器。

sudo apt install apache2

然后为Spreed创建一个虚拟主机文件。

sudo nano /etc/apache2/sites-available/spreed-webrtc.conf

将以下文本放入文件中。 更换 spreed.your-domain.com 使用您的首选域名,不要忘记设置A记录。

<VirtualHost *:80>
    ServerName spreed.your-domain.com
    <Location />
      ProxyPass http://127.0.0.1:8080/
      ProxyPassReverse http://127.0.0.1:8080/
    </Location>

    <Location /ws>
       ProxyPass ws://127.0.0.1:8080/
    </Location>
    ProxyVia On
    ProxyPreserveHost On
</VirtualHost>

保存并关闭文件。 然后我们需要启用 proxy_http 模块。

sudo a2enmod proxy_http

接下来,启用此虚拟主机。

sudo a2ensite spreed-webrtc.conf

测试配置并重新加载Apache

sudo apachectl configtest

sudo systemctl reload apache2

现在,您应该能够通过Web浏览器中的域名访问Spreed WebRTC。

预设的WebRTC服务器

启用HTTPS

要获取TLS证书并使用Spreed WebRTC加密您的通信,请参阅以下文章。

  • 为什么要以及如何使用webroot插件从Let’s Encrypt获得TLS证书

而已!

我希望本教程可以帮助您在Ubuntu 16.04上安装Spreed WebRTC服务器。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯。 您也可以在Google +,Twitter或喜欢我们的Facebook页面上关注我们。

Sidebar