Ir para o conteúdo

Preparação da VPS

1. Conectar via SSH

Windows (PowerShell)

ssh -i "C:\Users\aragu\.ssh\issabel-key.pem" rocky@ec2-3-84-135-100.compute-1.amazonaws.com

Linux / macOS

chmod 600 ~/.ssh/issabel-key.pem
ssh -i ~/.ssh/issabel-key.pem rocky@3.84.135.100

2. Atualizar sistema

Rocky / RHEL:

sudo dnf update -y
sudo dnf install -y epel-release

Ubuntu:

sudo apt update && sudo apt upgrade -y

3. Criar estrutura de diretórios

mkdir -p ~/omnichannel
cd ~/omnichannel

Opção A — Pacote mínimo (recomendado — sem código-fonte CTI)

Do seu PC:

# Gerar zip no PC de desenvolvimento
cd d:\omnichannel\lorentz-vps-stack
./scripts/build-lorentz-cti-zip.sh

scp -i sua-chave.pem -r `
  d:\omnichannel\lorentz-vps-stack `
  d:\omnichannel\supervisor `
  usuario@IP:~/omnichannel/

scp -i sua-chave.pem `
  d:\omnichannel\lorentz-vps-stack\resources\net9.0.zip `
  usuario@IP:~/omnichannel/lorentz-vps-stack/resources/

Na VPS:

cd ~/omnichannel/lorentz-vps-stack
./scripts/extract-lorentz-cti-publish.sh resources/net9.0.zip
ls resources/lorentz-cti-publish/LorentzCTI.dll
ls ../supervisor/login.php

Opção B — Monorepo completo (desenvolvimento)

git clone <url-do-repositorio-omnichannel> ~/omnichannel
# Build CTI: docker compose -f docker-compose.yml -f docker-compose.source.yml ...

Guia completo AWS/Hostinger: 13-maquina-nova-stack-aws-cli.md.

4. Configurar timezone

sudo timedatectl set-timezone America/Sao_Paulo

5. Configurar swap (4 GB)

Necessário para build da imagem Issabel em VPS com 4 GB RAM.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -h

6. Obter IP público

curl -s http://169.254.169.254/latest/meta-data/public-ipv4   # AWS
# ou
curl -s https://api.ipify.org

Anote o IP — use em .env (VPS_PUBLIC_IP, ISSABEL_SIP_EXTERNAL_ADDRESS).

7. Parar serviços conflitantes

Apache/MariaDB nativos do SO ocupam portas usadas pelo Issabel (hostnet):

sudo systemctl stop httpd mariadb 2>/dev/null || true
sudo systemctl disable httpd mariadb 2>/dev/null || true

O script install-host-prerequisites.sh faz isso automaticamente.

8. Configurar .env

cd ~/lorentz-vps-stack   # ou ~/omnichannel/lorentz-vps-stack
cp .env.example .env
nano .env

Variáveis críticas:

VPS_PUBLIC_IP=3.84.135.100
MSSQL_SA_PASSWORD=Jubilu2024
SUPERVISOR_PUBLIC_URL=http://3.84.135.100:8080/
ISSABEL_SIP_EXTERNAL_ADDRESS=3.84.135.100
LORENTZ_CTI_PBX_IP=host.docker.internal   # AMI no host (Issabel hostnet)

9. Próximo passo

./scripts/install-host-prerequisites.sh

Continuar em 04-docker-e-ferramentas.md.