# Manual de Instalação (Cliente) Este guia descreve como instalar a **IPv0 OLT API** em seu servidor Linux. ## Pré-requisitos * Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+) * Python 3.8 ou superior * Acesso root/sudo ## 1. Instalação Automática 1. Transfira o arquivo `ipv0-olt-api.zip` para o servidor (ex: `/opt`). 2. Descompacte o arquivo: ```bash unzip ipv0-olt-api.zip -d /opt/ipv0-olt-api cd /opt/ipv0-olt-api ``` 3. Execute o script de instalação como root: ```bash sudo ./install.sh ``` * Este script instalará as dependências e configurará o serviço. * **Atenção:** Ao final, ele exibirá o **Machine ID**. Copie este código para solicitar sua licença. ## 2. Ativação da Licença e Início do Serviço A aplicação não iniciará sem uma licença válida. 1. Envie o **Machine ID** para o suporte. 2. Você receberá um arquivo de licença chamado `license.key`. 3. Copie este arquivo para a pasta da aplicação e INICIE o serviço: ```bash # Copiar a licença sudo cp license.key /opt/ipv0-olt-api/ sudo chown root:root /opt/ipv0-olt-api/license.key # Habilitar e Iniciar o serviço agora: sudo systemctl enable --now ipv0-olt-api ``` ## 3. Configuração (hosts.json) Renomeie o arquivo `hosts.example.json` para `hosts.json` e edite-o para adicionar suas OLTs. Caminho: `/opt/ipv0-olt-api/hosts.json` **Exemplo Completo:** ```json { "10.155.156.2": { "username": "zabbix", "password": "p4ssw0rd", "driver": "nokia", "snmp_community": "public", "port": 22, "ssh_options": { "disabled_algorithms": { "pubkeys": [ "rsa-sha2-256", "rsa-sha2-512" ] } } }, "192.168.1.10": { "username": "admin", "password": "simple_password", "driver": "fiberhome", "port": 23 } } ``` Após editar, reinicie o serviço. ## 4. Diagnóstico e Debug A API inclui uma ferramenta de diagnóstico. Para verificar status, licença e conexão: ```bash cd /opt/ipv0-olt-api sudo ./venv/bin/python3 debug.py ``` ### Comandos Úteis * **Ver logs:** `sudo journalctl -u ipv0-olt-api -f` * ** Status do Serviço:** `sudo systemctl status ipv0-olt-api` * **Testar API:** `curl http://localhost:5050/health`