Servidor

Como instalar o Spreed WebRTC Server no Ubuntu

Como instalar o Spreed WebRTC Server no Ubuntu

O Spreed não é como qualquer outra plataforma de chat por vídeo - é muito melhor e poderoso em todos os sentidos. É um servidor de chamadas de áudio / vídeo gratuito e de código aberto projetado com privacidade em mente. Spreed usa WebRTC (Web Real-Time Communication), que permite que navegadores da web e aplicativos móveis se comuniquem em tempo real via APIs (interfaces de programação de aplicativos). WebRTC permite a comunicação ponto a ponto, possibilitando que áudio e vídeo funcionem dentro de páginas da web.

Além disso, Spreed WebRTC usa criptografia ponta a ponta, garantindo privacidade e segurança para os dados dos usuários.

Algumas das tarefas que você pode realizar com o Spreed incluem:

Instalando Spreed WebRTC Server no Ubuntu

Se você está se perguntando como começar a usar o Spreed, você estará no caminho certo. Esta postagem fornecerá um guia passo a passo sobre como instalar e começar a usar o Spreed WebRTC Server no Ubuntu. Vamos mergulhar!

Passo 1. Instale Spreed no Ubuntu

Veremos duas maneiras que você pode usar para instalar o Spreed.

  1. Instale o Spreed do PPA oficial
  2. Instale Spreed via Snap

Observação: A instalação do Spreed via PPA só funcionará no Ubuntu 16.04. Se você estiver no Ubuntu 18.04, Ubuntu 20.04, ou qualquer outra variante do Ubuntu, você precisará usar o Snap.

Inicie o Terminal (Ctrl + Alt + T) e execute os comandos abaixo no Terminal.

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

Para começar, primeiro instale o Snap com os comandos abaixo.

sudo apt update sudo apt install snapd

Instale o Snapd

Depois de instalar o Snap em seu sistema, prossiga com a instalação do Spreed WebRTC com o comando abaixo:

sudo snap install spreed-webrtc-snap

Instale Spreed-WebRTC

Depois de instalar com êxito o Spreed-WebRTC via Snap, ele iniciará seu servidor da web embutido via localhost na porta 8084 (127.0.0: 8084). Você pode confirmar seu status se está em execução com o comando abaixo.

snap info spreed-webrtc-snap

Spreed-WebRTC Status Snap

Se não estiver em execução, você pode iniciar o Spreed Snap com o comando abaixo:

sudo snap start spreed-webrtc-snap

Iniciar Spreed Snap

Você também pode ativar o Spreed para iniciar automaticamente quando o sistema for inicializado com o comando abaixo:

sudo snap start --enable spreed-webrtc-snap

Habilite o Spreed para iniciar na inicialização

Você pode confirmar se o servidor da web Spreed está funcionando pesquisando o endereço 127.0.01: 8084 no navegador da web. Você deverá ver a página da web do Spreed conforme mostrado na imagem abaixo.

Interface da Web Spreed

Etapa 2: configurar proxy reverso

Como você pode ver nas informações acima, Spreed-WebRTC, por padrão, só está acessível via host local. Portanto, outro usuário em uma rede diferente da sua não acessará o Spreed-WebRTC. Para superar esse problema, você precisará configurar um proxy reverso.

Dica: Um proxy reverso é um servidor proxy que solicita recursos de rede em nome de um cliente do servidor back-end apropriado.

Veremos como configurar um proxy reverso usando Nginx e Apache. Você pode usar qualquer um deles.

Para instalar o Nginx no Ubuntu, execute o comando abaixo:

sudo apt install nginx

Instale o Nginx

Assim que o comando for executado com sucesso, prossiga para criar um bloco de servidor para Spreed-WebRTC no Nginx. Execute o comando abaixo para criar o spreed-webrtc.arquivo conf com o editor nano.

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

Agora, copie o conteúdo abaixo e cole no editor nano. Lembre-se de substituir o spreed de domínio.exemplo.com com o seu nome de domínio preferido. Além disso, não se esqueça de configurar um registro A.

Dica: Um registro DNS-A aponta subdomínio ou nome de domínio para um endereço IP.

servidor escuta 80; server_name spreed.exemplo.com; localização / proxy_pass http: // 127.0.0.1: 8080; proxy_http_version 1.1; proxy_set_header Atualizar $ http_upgrade; proxy_set_header Conexão "upgrade"; esquema proxy_set_header X-Forwarded-Proto $; 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 ativado; 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 erro tempo limite invalid_header http_502 http_503 http_504;  localização ~ /.bem conhecido / acme-challenge root / usr / share / nginx / spreed /; permitir todos; 

Arquivo de configuração Spreed-WebRTC

Salve e feche o arquivo. (Ctrl + O e Enter para salvar, Ctrl + X para sair).

Agora você pode testar suas configurações e recarregar o Nginx com os comandos abaixo.

sudo nginx -t sudo systemctl recarregar nginx

Recarregar o Nginx

Agora, Spreed-WebRTC deve ser acessível através de um navegador da web através do domínio atribuído. Veja a imagem abaixo.

Servidor Spreed-WebRTC Nginx

Se você quiser usar o Apache, comece instalando-o primeiro com o comando abaixo:

sudo apt install apache2

Instale o Apache

Uma vez feito isso, assim como fizemos com Nginx, crie um arquivo de bloco de servidor Spreed-WebRTC. Execute o comando para criar e abrir o arquivo com o editor nano.

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

Agora, copie o conteúdo abaixo e cole no editor nano. Lembre-se de substituir o spreed de domínio.exemplo.com com o seu nome de domínio preferido. Além disso, não se esqueça de configurar um registro A.

 ServerName spreed.exemplo.com  ProxyPass http: // 127.0.0.1: 8080 / ProxyPassReverse http: // 127.0.0.1: 8080 /   ProxyPass ws: // 127.0.0.1: 8080 /  ProxyVia On ProxyPreserveHost On 

Salve e feche o arquivo. (Ctrl + O e Enter para salvar, Ctrl + X para sair).

Em seguida, precisamos habilitar proxy_http

Execute o comando abaixo:

sudo a2enmod proxy_http

Habilitar proxy_http

Uma vez feito isso, habilite o host virtual. Execute o comando abaixo:

sudo a2ensite spreed-webrtc.conf

Habilitar host virtual

Você pode prosseguir para testar suas configurações e recarregar seu servidor Apache.

sudo apachectl configtest sudo systemctl reload apache2

Agora, Spreed-WebRTC deve ser acessível através de um navegador da web através do domínio atribuído. Veja a imagem abaixo.

Spreed-WebRTC

Etapa 3: Habilitar HTTPS

Até agora, nosso servidor Spreed-WebRTC só pode ser acessado via HTTP, o que pode levantar algumas questões de segurança. Para habilitar HTTPS, precisaremos obter um certificado SSL / TLS.

Este tutorial usará Let's Encrypt para obter um certificado TLS gratuito. Execute os comandos abaixo para instalar o cliente Let's Encrypt -Certbot- do PPA oficial.

sudo apt install certbot

Instale o Certbot

Para usuários do Apache, será necessário instalar o plug-in Certbot Apache com o comando abaixo:

sudo apt install python3-certbot-apache

Certbot Apache Plugin

Para usuários Nginx, instale o plug-in Certbot Nginx com o comando abaixo:

sudo apt install python3-certbot-nginx

Plug-in Nginx Certbot

Para obter o certificado TLS para o servidor Apache, execute o comando abaixo:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you @ example.com -d spreed.exemplo.com

Para obter um certificado TLS para o servidor Nginx, execute o comando abaixo:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp - enviar e-mail para você @ exemplo.com -d spreed.exemplo.com

Observação: Com os dois comandos acima, lembre-se de substituir você @ exemplo.com com seu e-mail oficial para registro e spreed.exemplo.com com o nome de domínio que você usou para o Spreed-WebRTC.

Você deve receber a mensagem abaixo se obteve o certificado com sucesso.

spreed-webtrc-certbot-https

Etapa 4: instalar um servidor TURN / STUN

O servidor Spreed-WebRTC está bem configurado e acessível online até este ponto. No entanto, há um problema que precisamos resolver. Se você tiver usuários atrás de uma rede NAT, eles serão bloqueados e o WebRTC não funcionará. Para superar isso, vamos configurar um servidor TURN / STUN, que funcionará como um relé entre os navegadores da web. TURN significa Traversal Using Relays around NAT e STUN significa Session Traversal Utilities.

Usaremos o servidor Coturn, que facilita chamadas de vídeo / áudio e conferências implementando os protocolos TURN e STUN.

Para começar, instale o Coturn com o comando abaixo:

sudo apt install coturn

Instale Coturn

Assim que o comando for executado com sucesso, o serviço coturn será iniciado automaticamente. Você pode verificar o status com o comando abaixo:

systemctl status coturn

Instale Coturn

Se coturn não estiver em execução, inicie-o com o comando abaixo:

sudo systemctl start coturn

Além disso, por conveniência, você pode configurá-lo para iniciar automaticamente na inicialização com o comando abaixo:

sudo systemctl enable coturn

Iniciar Coturn na inicialização

Etapa 5: Configurar Coturn

Com o Coturn instalado e funcionando, podemos configurá-lo para Spreed-WebRTC.

Execute o comando abaixo para editar o Turnerver arquivo de configuração.

sudo nano / etc / Turnerver.conf

Você notará que todas as linhas são comentadas a partir da saída que você obtém. Conforme mostrado na imagem abaixo:

Turn server conf file

Para tornar o seu trabalho muito mais fácil, copie o conteúdo abaixo e cole-o no final da sua configuração Turnerver Arquivo. No entanto, lembre-se de fazer as alterações abaixo:

# Especifique a porta de escuta. Mude para 80 ou 443 para contornar alguns NATs restritos. listen-port = 8443 tls-listening-port = 5349 # Especificar IP de escuta, se não definido, Coturn escuta em todos os IPs do sistema. escuta-ip = 10.16.1.1 relé-ip = 10.16.1.1 # Estas linhas permitem suporte para impressão digital WebRTC lt-cred-mech realm = example.com # Método de autenticação use-auth-secret static-auth-secret = sample-auth-secret total-quota = 100 # Total de bytes por segundo de largura de banda que o servidor TURN tem permissão para alocar # para as sessões, combinadas (entrada e saída fluxos de rede são tratados separadamente). capacidade bps = 0 # Esta linha fornece segurança extra. arquivo de log stale-nonce = / var / log / TurnServer / turn.log no-loopback-peers no-multicast-peers

Salve o arquivo de configuração e reinicie coturn com o comando abaixo:

sudo systemctl restart coturn

Agora, vamos precisar configurar Spreed-WEbRTC para Coturn. Execute o comando abaixo para abrir o arquivo de configuração do servidor.

Se você instalou o Spreed via PPA, use o comando abaixo:

sudo nano / etc / spreed / server.conf

Se você instalou o Spreed via Snap, use o comando abaixo:

sudo nano / var / snap / spreed-webrtc-snap / common / server.conf

Localize a seção do aplicativo e adicione as linhas abaixo. Lembre-se de substituir o texto destacado de acordo.

turnURIs = turn: coturn-server-ip: 8443?transport = udp turnSecret = example-auth-secret

Arquivo Spreed Server

Salve e feche o arquivo. Mais uma vez, reinicie o servidor Spreed-WebRTC com o comando abaixo:

Se você instalou o Spreed via PPA, use o comando abaixo:

sudo systemctl restart spreed-webrtc

Se você instalou o Spreed via Snap, use o comando abaixo:

sudo snap reiniciar spreed-webrtc-snap

A última etapa que você precisa fazer é habilitar a porta 8843 em seu Firewall. Isso porque o Coturn escuta na porta 8843. Execute os comandos para o firewall UFW.

sudo ufw allow 8443 / tcp sudo ufw allow 8443 / udp

Permitir porta 8843

Agora, com a configuração Coturn e Spreed-WebRTC, mesmo os usuários atrás de uma rede NAT devem ser capazes de fazer chamadas de áudio / vídeo e até mesmo realizar conferências online.

Espero que este post tenha fornecido um guia claro sobre a instalação do Spreed WebRTC Server no Ubuntu. Algumas configurações, como Definir um registro A de DNS, podem ser bastante desafiadoras para iniciantes, mas acredito que haja artigos de guia no site em que você comprou seu domínio. Caso você encontre algum problema, sinta-se à vontade para deixar um comentário abaixo.

Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...
O botão esquerdo do mouse não funciona no Windows 10
Se você estiver usando um mouse dedicado com seu laptop ou computador desktop, mas o o botão esquerdo do mouse não funciona no Windows 10/8/7 por algu...