Como instalar o Jitsi Meet no Ubuntu 24.04 com SSL Let's Encrypt

A instalação do Jitsi Meet no Ubuntu 24.04 é simples, desde que o nome DNS, o firewall e o plano TLS estejam corretos antes da execução do instalador do pacote. O guia oficial de auto-hospedagem do Jitsi, atualizado pela última vez em 10 de agosto de 2026, é compatível com o Ubuntu 22.04 ou versões mais recentes, portanto, o Ubuntu 24.04 LTS está dentro do intervalo de suporte documentado. O mesmo guia recomenda o uso de um certificado TLS confiável e sugere o Let's Encrypt como a opção de certificado preferencial durante a instalação.

Este guia usa meet.example.orgcomo exemplo o nome de host. Substitua-o em todos os lugares pelo nome de domínio totalmente qualificado que realmente aponta para o seu servidor.

O que deve estar pronto antes de instalar o Jitsi Meet?

Você deve ter um servidor Ubuntu 24.04 com acesso sudo, um nome DNS público e acesso de rede de entrada para as portas necessárias do Jitsi. O Jitsi é um serviço WebRTC em tempo real, portanto, um servidor que consegue exibir uma página web, mas não consegue receber tráfego de mídia UDP, não constitui uma implementação completa.

  • Ubuntu 24.04 LTS com acesso administrativo.
  • Um registro DNS do tipo A, como por exemplo, meet.example.orgapontando para o endereço IPv4 público do servidor.
  • As portas TCP 80 e 443 são acessíveis a partir da Internet.
  • A porta UDP 10000 está acessível para o tráfego normal de mídia do Jitsi.
  • Acesso SSH, normalmente TCP 22, a menos que você o tenha alterado.
  • É necessário controle suficiente de qualquer firewall de nuvem upstream, grupo de segurança, roteador ou dispositivo NAT para encaminhar as mesmas portas.

A documentação do Jitsi também lista a porta UDP 3478 para consultas STUN quando habilitadas e a porta TCP 5349 para tráfego de fallback TURN. Se o servidor estiver atrás de um NAT, a configuração do firewall deve estar correta tanto no Ubuntu quanto no roteador ou na rede em nuvem.

Terminal do Ubuntu 24.04 mostrando as verificações da versão do sistema operacional e do OpenJDK 17 antes da instalação do Jitsi Meet.
Confirme se o servidor está executando o Ubuntu 24.04 e verifique o ambiente de execução Java antes de iniciar a instalação do Jitsi Meet.

O nome do host precisa ser resolvido para que o Let's Encrypt funcione?

Sim. Primeiro, crie o registro DNS e aguarde até que os servidores DNS públicos retornem o endereço público do servidor. O Let's Encrypt precisa validar o controle do nome do host, e a configuração do Nginx no Jitsi também usará esse nome de host.

Para uma implementação típica, crie um registro A:

TipoNomeValor
UMmeet.example.orgEndereço IPv4 público do seu servidor

No servidor, verifique se o nome é resolvido conforme o esperado:

getent ahostsv4 meet.example.org

Se retornar um endereço incorreto, pare aqui e corrija o DNS. Emitir um certificado antes que o DNS esteja correto geralmente causa falhas de validação evitáveis.

Página de gerenciamento de DNS para meet.example.org ao lado de um terminal que resolve o nome do host para seu endereço IPv4 público.
Antes de solicitar um certificado Let's Encrypt, verifique se o nome do host da reunião resolve para o endereço público do servidor Ubuntu.

Quais pacotes base e repositórios do Ubuntu são necessários?

O guia atual do Jitsi para Debian/Ubuntu lista os comandos `sudo` gnupg2, nginx-full` sudo` curlou `sudo`, wgete sudotambém menciona a necessidade do OpenJDK 17. O Jitsi depende de pacotes do universerepositório do Ubuntu.

sudo apt update
sudo apt install apt-transport-https
sudo add-apt-repository universe
sudo apt update
sudo apt install gnupg2 nginx-full curl

O apt-transport-httpspacote é mantido aqui porque permanece nas instruções de início rápido do Jitsi. No Ubuntu moderno, o transporte HTTPS já está integrado ao APT, portanto, instalar esse pacote pode ser efetivamente uma medida de compatibilidade, em vez de habilitar um recurso que não está presente.

Atualização do APT no terminal Ubuntu, ativação do repositório universe e instalação dos pacotes necessários para o Jitsi Meet.
Prepare os pacotes do Ubuntu e instale os pré-requisitos mencionados no guia de auto-hospedagem do Jitsi.

Como faço para adicionar os repositórios Prosody e Jitsi?

O Jitsi usa o Prosody para sinalização XMPP. O guia de início rápido oficial atualmente instrui os administradores a adicionarem tanto o repositório de pacotes do Prosody quanto o repositório estável do Jitsi.

sudo curl -sL https://prosody.im/files/prosody-debian-packages.key   -o /usr/share/keyrings/prosody-debian-packages.key

echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" |   sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list

sudo apt install lua5.2

curl -sL https://download.jitsi.org/jitsi-key.gpg.key |   sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" |   sudo tee /etc/apt/sources.list.d/jitsi-stable.list

sudo apt update

Não substitua esses repositórios por um PPA de terceiros qualquer. Usar as fontes de pacotes documentadas pelo Jitsi reduz o risco de misturar pacotes incompatíveis do Jitsi, Prosody e Ubuntu.

Terminal do Ubuntu mostrando a chave de repositório e os comandos source-list documentados para Prosody e Jitsi.
Adicione as fontes de pacotes usadas pelo guia de instalação atual do Jitsi para Debian e Ubuntu e, em seguida, atualize os metadados do APT.

Quais portas do firewall devem ser abertas antes da instalação?

Abra as portas necessárias antes de solicitar o certificado para que a validação HTTP possa alcançar o servidor e o fluxo de mídia possa ocorrer após a instalação. Para UFW, o guia atual do Jitsi fornece as seguintes regras:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable
sudo ufw status verbose

Se o SSH usar uma porta diferente, permita essa porta em vez de adicionar indiscriminadamente a porta TCP 22. Em uma máquina virtual na nuvem, duplique as regras necessárias no firewall ou grupo de segurança do provedor. Em um servidor atrás de um roteador, encaminhe as portas necessárias para o host Ubuntu.

Terminal do Ubuntu mostrando as regras do UFW para o Jitsi Meet, incluindo TCP 80 e 443 e UDP 10000.
Abra as portas web, de mídia, SSH, STUN e TURN documentadas pelo Jitsi no UFW, ajustando a regra SSH caso seu servidor utilize uma porta não padrão.

Como instalar o Jitsi Meet e selecionar o Let's Encrypt?

Instale o metapacote do repositório Jitsi:

sudo apt install jitsi-meet

O instalador solicita o nome do host do Jitsi. Insira o nome DNS público, por exemplo meet.example.org, . A documentação atual do Jitsi informa que a instalação também apresenta opções de certificado SSL/TLS e recomenda a opção Let's Encrypt. Selecione o certificado Let's Encrypt quando essa opção for exibida.

Isso é preferível a tratar um script de certificado independente antigo como uma etapa universal. O guia de início rápido atual centraliza a escolha do certificado no fluxo de instalação do pacote. Se o pacote instalado se comportar de maneira diferente da documentação atual, não invente um caminho: inspecione os prompts do pacote e a documentação específica da versão do Jitsi antes de alterar manualmente os arquivos do Nginx ou do certificado.

Diálogos de configuração de pacotes do Ubuntu para o nome do host do Jitsi Meet e a opção de certificado Let's Encrypt.
Insira o nome do host da reunião pública durante a configuração do pacote e escolha a opção de certificado Let's Encrypt quando o instalador a apresentar.

Como posso confirmar se o HTTPS e a página da reunião estão funcionando?

Abra https://meet.example.orga partir de um navegador fora do servidor. Uma implementação bem-sucedida deve carregar a página do Jitsi Meet sem aviso de certificado do navegador. Crie uma sala temporária e participe dela a partir de um segundo dispositivo ou rede.

Esse segundo teste com o cliente é importante porque carregar a página inicial prova apenas que o HTTPS funciona. Não prova que o tráfego de mídia do Jitsi Videobridge está acessível. Se dois participantes conseguirem entrar, mas não conseguirem se ver ou ouvir, verifique primeiro a porta UDP 10000 e quaisquer regras de NAT ou firewall na nuvem.

O Firefox exibe a página inicial do Jitsi Meet em https://meet.example.org com um indicador de conexão segura.
Acesse o URL HTTPS público e crie uma reunião de teste; um certificado Let's Encrypt válido deve evitar avisos de confiança do navegador.

Quais serviços você deve verificar após a instalação?

O Jitsi Meet é composto por vários componentes, e não por um único serviço monolítico. Os componentes comuns em uma instalação de pacote incluem Nginx, Prosody, Jicofo e Jitsi Videobridge. Verifique-os individualmente:

sudo systemctl --no-pager --full status nginx prosody jicofo jitsi-videobridge2

Você também pode inspecionar os sockets de escuta:

sudo ss -lntup | grep -E ':80|:443|:10000'

Se um serviço não estiver ativo, leia os logs antes de reinstalar pacotes repetidamente. O guia de início rápido do Jitsi indica especificamente aos administradores os diretórios `<service_name>` /var/log/jitsi/jvb.log, /var/log/jitsi/jicofo.log`<service_name>` e `<service_name>` /var/log/prosody/prosody.logpara solução de problemas.

Terminal do Ubuntu mostrando os serviços ativos Nginx, Prosody, Jicofo e Jitsi Videobridge, além das portas web e de mídia em escuta.
Verifique os componentes individuais do Jitsi e confirme se os sockets web e de mídia esperados estão em execução após a instalação.

E se o servidor estiver atrás de um NAT?

A documentação do Jitsi afirma que o Videobridge normalmente deve se configurar automaticamente na inicialização quando o servidor estiver atrás de um NAT, desde que as portas necessárias estejam encaminhadas. Se as chamadas em conferência ainda falharem, o guia descreve um mapeamento estático de endereço local para público em /etc/jitsi/videobridge/jvb.conf:

ice4j {
  harvest {
    mapping {
      static-mappings = [
        {
          local-address = "<Local.IP.Address>"
          public-address = "<Public.IP.Address>"
        }
      ]
    }
  }
}

Use isso somente quando corresponder à sua topologia de rede. Uma VM hospedada com um endereço IP público atribuído diretamente pode não precisar do mapeamento, enquanto uma VM privada atrás de um NAT um-para-um ou um roteador doméstico pode precisar.

Um servidor Jitsi acessível pela internet deveria permitir que qualquer pessoa criasse salas?

Não necessariamente. A instalação padrão do pacote permite que qualquer pessoa com acesso ao servidor inicie uma conferência. Para uma organização privada, sala de aula ou serviço interno, isso pode ser permissivo demais. A documentação atual do Jitsi recomenda configurar o acesso autenticado quando for necessário restringir quem pode criar salas. Considere a autenticação como uma etapa de segurança separada, após a confirmação da implementação básica do HTTPS.

Lista de verificação rápida para solução de problemas

SintomaVerifique primeiro
A emissão do Let's Encrypt falhouRegistro DNS A, acessibilidade pública da porta TCP 80 e se outro serviço já possui as portas web esperadas.
A página do Jitsi não carrega.Status do Nginx, TCP 443, resolução de DNS e erros de instalação de pacotes.
O navegador exibe um aviso de certificado.O nome do host do certificado deve corresponder exatamente ao nome do host do Jitsi e ser emitido por uma CA confiável.
Dois usuários entram, mas não têm áudio/vídeo.UDP 10000, regras de firewall na nuvem, encaminhamento de roteador e mapeamento de endereços NAT.
O aplicativo móvel não consegue se conectar.Confirme se o servidor está usando um certificado confiável; a documentação do Jitsi alerta que os clientes móveis não aceitam uma implantação com certificado autoassinado na configuração normal.
Qualquer pessoa pode criar reuniões.Este é o comportamento padrão; configure o acesso autenticado se isso não for aceitável.

Como deve ser uma implementação bem-sucedida do Ubuntu 24.04?

Um resultado satisfatório vai além de simplesmente "a instalação foi concluída". Seu nome DNS deve resolver para o endereço público correto, o navegador deve carregar o Jitsi por meio de HTTPS confiável, o Nginx e os componentes do Jitsi devem estar ativos e um segundo participante deve conseguir trocar áudio e vídeo. Se essas verificações forem aprovadas, você terá validado os caminhos da web, TLS, sinalização e mídia básicos, que são os mais importantes em uma implantação de servidor único.

Para obter detalhes de instalação atuais, consulte o guia oficial de auto-hospedagem do Jitsi para Debian/Ubuntu . Para obter orientações mais amplas sobre arquitetura e implantação, consulte a visão geral oficial de auto-hospedagem do Jitsi . Se os usuários precisarem se conectar por meio de redes restritivas, consulte a documentação oficial de configuração TURN do Jitsi .

Deixar um comentário

Corrigir o alto uso de CPU no Jitsi Meet em navegadores de clientes

Corrigir o alto uso de CPU no Jitsi Meet em navegadores de clientes

Diagnostique picos de uso da CPU no navegador do Jitsi Meet e reduza a carga do cliente verificando os mosaicos de vídeo, os efeitos da câmera, os gráficos do navegador e as configurações do host.

Como monitorar as métricas do Jitsi Videobridge com Prometheus e Grafana

Como monitorar as métricas do Jitsi Videobridge com Prometheus e Grafana

Monitore a integridade, a carga da conferência e o tráfego do Jitsi Videobridge com seu endpoint Prometheus integrado e, em seguida, explore e visualize os dados em gráficos no Grafana.

Como configurar um nome de domínio personalizado para o Jitsi Meet no Docker

Como configurar um nome de domínio personalizado para o Jitsi Meet no Docker

Configure um domínio personalizado para o Jitsi Meet Docker com DNS, URL pública, HTTPS, Let's Encrypt, portas de firewall, configurações de NAT e verificação de ponta a ponta.

Corrigir erro 404 "Console de administração do Zimbra não encontrado" após a renovação do SSL.

Corrigir erro 404 "Console de administração do Zimbra não encontrado" após a renovação do SSL.

Corrija os erros 404 do Console de Administração do Zimbra após a renovação do SSL, verificando o URL e a porta corretos, o roteamento do proxy, o status do serviço, os certificados implantados e os logs.

Corrigir aviso do Nextcloud: “O cache OP do PHP não está configurado corretamente”

Corrigir aviso do Nextcloud: “O cache OP do PHP não está configurado corretamente”

Aprenda a diagnosticar e corrigir o aviso de configuração do PHP OPcache do Nextcloud, verificando o PHP SAPI ativo, os limites de tamanho, os comentários e as configurações de revalidação.

Corrigir erros de migração do banco de dados Kopano após uma atualização da versão do MySQL

Corrigir erros de migração do banco de dados Kopano após uma atualização da versão do MySQL

Solucione problemas de falhas na migração do banco de dados Kopano após uma atualização do MySQL ou MariaDB, verificando backups, versões do servidor, modos SQL, conjunto de caracteres, estado do esquema e logs.

Como configurar a autenticação LDAP e do Active Directory no Nextcloud

Como configurar a autenticação LDAP e do Active Directory no Nextcloud

Conecte o Nextcloud ao LDAP ou Active Directory com transporte seguro, filtros de usuários e grupos, atributos de login e uma implementação testada.

Corrigir notificações do Android sem os serviços do Google: Guia UnifiedPush

Corrigir notificações do Android sem os serviços do Google: Guia UnifiedPush

Corrija as notificações do Element no Android em telefones sem serviços do Google configurando o UnifiedPush, as permissões do Android, as configurações de bateria e realizando testes de verificação confiáveis.

Corrigir o aviso do Nextcloud "Banco de dados com alguns índices ausentes"

Corrigir o aviso do Nextcloud "Banco de dados com alguns índices ausentes"

Remova o aviso de índices de banco de dados ausentes do Nextcloud com o comando oficial occ. Primeiro, faça um backup, visualize as alterações, execute o reparo e verifique o resultado.

Como configurar o Single Sign-On (SSO) com o Keycloak no Element Web

Como configurar o Single Sign-On (SSO) com o Keycloak no Element Web

Configure o SSO do Keycloak para o Element Web conectando o OIDC ao Synapse, definindo a URL de retorno de chamada exata, mapeando as declarações do usuário e testando o logout.