# Instalación Rápida - Generico Peticiones Linux

## Requisitos
- Debian/Ubuntu Linux 64-bit
- Acceso root (sudo)

## Instalación

### 1. Copiar archivo al servidor
```bash
scp generico-peticiones-linux-v1.1.1.tar.gz usuario@servidor:/tmp/
```

### 2. Instalar dependencias
```bash
ssh usuario@servidor
sudo apt update
sudo apt install -y musl musl-dev musl-tools
sudo ln -sf /usr/lib/x86_64-linux-musl/libc.so /lib/ld-musl-x86_64.so.1
sudo ln -sf /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
```

### 3. Extraer y configurar
```bash
sudo mkdir -p /opt/generico-peticiones
cd /opt/generico-peticiones
sudo tar -xzf /tmp/generico-peticiones-linux-v1.1.1.tar.gz --strip-components=1
sudo chmod +x generico-peticiones
sudo cp server-config-ejemplo.json server-config.json
```

### 4. Editar configuración
```bash
sudo nano server-config.json
```
Modificar: `database`, `port`, `instancia`

### 5. Abrir puertos en firewall
```bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
```

### 6. Crear servicio
```bash
sudo nano /etc/systemd/system/generico-peticiones.service
```

Pegar:
```ini
[Unit]
Description=Generico Peticiones API
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/generico-peticiones
ExecStart=/opt/generico-peticiones/generico-peticiones
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
```

### 7. Iniciar servicio
```bash
sudo systemctl daemon-reload
sudo systemctl enable generico-peticiones
sudo systemctl start generico-peticiones
sudo systemctl status generico-peticiones
```

### 8. Ver logs
```bash
sudo journalctl -u generico-peticiones -f
```

## Gestión del Servicio

```bash
sudo systemctl start generico-peticiones    # Iniciar
sudo systemctl stop generico-peticiones     # Detener
sudo systemctl restart generico-peticiones  # Reiniciar
sudo systemctl status generico-peticiones   # Estado
```

## Verificar funcionamiento
```bash
curl http://localhost/health
```

## Actualización
```bash
sudo systemctl stop generico-peticiones
sudo cp generico-peticiones generico-peticiones.backup
# Copiar nuevo ejecutable
sudo systemctl start generico-peticiones
```

## Soporte
- Logs: `/opt/generico-peticiones/log/`
- Config: `/opt/generico-peticiones/server-config.json`
