Manual de Instalação e Configuração do Epoptes

Este documento detalha o procedimento para configurar Epoptes em uma sala de informática utilizando a resolução de nomes mDNS (Avahi). Este método permite a interconexão entre dispositivos em redes com endereçamento IP dinâmico (DHCP), eliminando a necessidade de configurar IPs fixos.

Esquema de Funcionamento

  1. Servidor (Neste exemplo, vamos supor que terá este nome: tux0): Atua como controlador central e se anuncia na rede através do Avahi.
  2. Resolução de nomes: Os dispositivos são localizados usando o sufixo .local (tux0.local).
  3. Clientes: Conectam-se ao nome do servidor, validam o certificado de segurança e iniciam o serviço automaticamente a cada inicialização.

Gestão do Nome do Dispositivo (Hostname)

Dado que o IP é dinâmico e pode mudar, o nome do dispositivo é o único identificador confiável na rede. Para que o sistema funcione, o servidor deve ter um nome único e conhecido.

Procedimento para mudar o nome do dispositivo

Se o seu servidor ou clientes não tiverem o nome correto, você deve modificá-lo nos seguintes arquivos:

  1. Arquivo /etc/hostname: Este arquivo contém apenas o nome do dispositivo. sudo nano /etc/hostname (Apague o nome atual e escreva tux0)
  2. Arquivo /etc/hosts: Você deve atualizar a linha associada ao loopback local para que coincide com o novo nome. sudo nano /etc/hosts Modifique a linha: 127.0.1.1 nome_antigo para 127.0.1.1 tux0
  3. Aplicar sem reiniciar: sudo hostnamectl set-hostname tux0

PASO 1: Configuração do Servidor

O servidor é a estação a partir da qual o controle da sala é exercido.

  1. Identificar a interface de rede: Para verificar o estado da rede, use o comando: ip a
  2. Script de instalação e configuração: Crie o arquivo server_setup.sh e execute-o com permissões de superusuário:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Erro: execute com sudo"; exit 1; fi

# Instalação de pacotes
apt update && apt install -y epoptes avahi-daemon

# Assegurar o nome do host
hostnamectl set-hostname tux0

# Gestão de permissões de usuário
# Adicione o usuário que lançou o script ao grupo epoptes
USUARIO_REAL=${SUDO_USER:-$USER}
gpasswd -a "$USUARIO_REAL" epoptes

echo "Configuração do servidor finalizada. Reinicie o dispositivo."

PASO 2: Configuração dos Clientes

Deve ser executado em cada posto de aluno.

  1. Correção dos caminhos do sistema: Se o sistema não localizar os binários em /sbin, adicione-os ao PATH do usuário: echo 'export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin' >> ~/.bashrc && source ~/.bashrc
  2. Script de configuração do cliente: Crie o arquivo client_setup.sh com o seguinte conteúdo:
#!/bin/bash
if [ "$EUID" -ne 0 ]; then echo "Erro: execute com sudo"; exit 1; fi

# O cliente procurará o servidor pelo seu nome mDNS
SERVER_NAME="tux0.local"

# Instalação de dependências
apt update && apt install -y epoptes-client avahi-daemon

# Configuração do arquivo do cliente
# Estabelece a variável SERVER para apontar ao hostname do servidor
if [ -f /etc/default/epoptes-client ]; then
    sed -i "s/^#SERVER=.*/SERVER=$SERVER_NAME/" /etc/default/epoptes-client
    sed -i "s/^SERVER=.*/SERVER=$SERVER_NAME/" /etc/default/epoptes-client
else
    echo "SERVER=$SERVER_NAME" > /etc/default/epoptes-client
fi

# Download do certificado de segurança (Requer que o servidor esteja ativo)
echo "Obtendo certificado de $SERVER_NAME..."
epoptes-client -c

# Persistência do serviço
systemctl enable epoptes-client
systemctl restart epoptes-client

echo "Configuração do cliente finalizada."

PASO 3: Verificação da Conexão

  1. No Servidor: Inicie a interface gráfica executando epoptes ou procurando a aplicação no menu de Educação.
  2. No Cliente: Verifique se o serviço está rodando com o comando systemctl status epoptes-client.
  3. Resolução de problemas: Se o cliente não aparecer, verifique a conectividade mDNS através de um ping: ping tux0.local Se responder mas não conectar, repita o download do certificado: sudo epoptes-client -c.
Scroll to Top