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

# Definição do nome do servidor mDNS

SERVER_NAME="tux0.local"

# 1. Verificar se o script está sendo executado como root

if [ "$EUID" -ne 0 ]; then 

  echo "Erro: Por favor, execute o script com sudo (sudo ./config_cliente_nome.sh)"

  exit 1

fi

# Adiciona os caminhos de administração ao PATH da sessão atual do script

export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

echo "--- Iniciando configuração automática do cliente Epoptes ---"

# 2. Atualização dos repositórios e instalação

# Instala o avahi-daemon para que o cliente possa resolver o nome .local

echo "[1/5] Instalando os pacotes necessários (epoptes-client, avahi, net-tools)..."

apt update && apt install -y epoptes-client avahi-daemon net-tools

# 3. Configuração do arquivo /etc/hosts (Opcional com Avahi, mas recomendado por segurança)

# Nota: Com o uso de .local, o sistema buscará automaticamente na rede sem necessidade de IP fixa

echo "[2/5] Limpando configurações anteriores de hosts..."

sed -i '/tux0/d' /etc/hosts

sed -i '/server/d' /etc/hosts

# 4. Configuração do arquivo padrão do Epoptes

echo "[3/5] Ajustando configuração para conectar ao $SERVER_NAME..."

if [ -f /etc/default/epoptes-client ]; then

    # Substitui qualquer configuração anterior pelo nome do nosso servidor

    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

# 5. Download do certificado a partir do servidor

# O servidor deve estar ligado e com a aplicação Epoptes aberta

echo "[4/5] Baixando certificado de segurança de $SERVER_NAME..."

/usr/sbin/epoptes-client -c

# 6. Ativação e inicialização do serviço

echo "[5/5] Ativando o serviço para inicialização automática..."

systemctl enable epoptes-client

systemctl restart epoptes-client

echo "---"

echo "PROCESSO CONCLUÍDO COM SUCESSO."

echo "O cliente já deve aparecer no console do servidor ($SERVER_NAME)."

echo "Se o certificado falhou, certifique-se de que o servidor se chama 'tux0'."

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