Files
olt-api/doc/install_dist.md
2026-02-18 10:18:46 -03:00

87 lines
2.3 KiB
Markdown

# 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 ipv0-olt-api
cd 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)
Edite o arquivo `hosts.json` 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`