EvolutionAPI(Whatsapp) - Ubuntu 22.04

Luan RodriguesLuan Rodrigues
5 min read

CLIQUE AQUI PARA assistir o vídeo com o tutorial ou pular pro texto.

1 - Atualiza a Lista de Pacotes

Antes de começar, certifique-se de que sua lista de pacotes está atualizada:

sudo apt-get update

Instalação e Configuração do PostgreSQL

2 - Instalar PostgreSQL

2.1 - Execute o comando abaixo para instalar o PostgreSQL

sudo apt-get install postgresql postgresql-contrib

2.2 - Inicie o serviço com o comando abaixo

sudo service postgresql start

2.3 - Execute o comando para criar o banco de dados.

sudo -u postgres createdb evolution

2.4 - Conecte-se ao PostgreSQL

sudo -u postgres psql

2.5 - Alterar a senha do usuário do PostgreSQL.

Vamos alterar a senha do usuário postgres.

🚨**Anote essa senha, pois você vai usá-la posteriormente!**🚨

ALTER USER postgres WITH PASSWORD 'senha-do-banco';

Para sair do terminal do PostgreSQL, digite:

\q

3 - Instalação e Configuração do Redis

3.1. Instalar Redis

O Redis está disponível nos repositórios padrão do Ubuntu. Para instalá-lo, use o seguinte comando:

sudo apt-get install redis-server

3.2. Verificar o Funcionamento do Redis

Após a instalação, o serviço Redis deve iniciar automaticamente. Verifique se o Redis está em execução com:

redis-cli ping

Você deve receber um “PONG” como resposta do comando.

4. Melhorando a segurança

4.1. Permitir Conexões Locais

Primeiro, permita conexões de localhost (127.0.0.1) para as portas 6379(REDIS) e 5432(PostgreSQL):

sudo ufw allow from 127.0.0.1 to any port 6379
sudo ufw allow from 127.0.0.1 to any port 5432

4.2. Bloquear Acesso Externo

Bloqueie o acesso externo às portas do Redis e PostgreSQL para evitar conexões indesejadas:

sudo ufw deny 6379
sudo ufw deny 5432

4.3. Permitir Acesso à Porta 22 (SSH) e 8080

Certifique-se de permitir o tráfego na porta 22, usada para conexões SSH, e na porta 8080, onde a Evolution API será executada:

sudo ufw allow 22/tcp
sudo ufw allow 8080

4.4. Ativar o Firewall (UFW)

Ative o ufw para aplicar as regras de segurança configuradas:

sudo ufw enable

Responda y caso a pergunta abaixo apareça:

4.5. Verificar as Regras Atuais

Após configurar as regras, verifique se elas foram aplicadas corretamente:

sudo ufw status verbose

Você verá algo como mostrado abaixo:

5. Instalação do Node.js com NVM

5.1. Instalar o NVM

Instale o Node Version Manager (NVM) para gerenciar versões do Node.js:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

5.2. Carregar o NVM no Ambiente

Carregue o NVM no ambiente com o comando abaixo:

source ~/.bashrc

5.3. Instalar e Usar o Node.js

Agora, instale e use a versão 20.10.0 do Node.js:

nvm install v20.10.0 && nvm use v20.10.0

5.4. Verificar Instalação do NVM

Confirme que o NVM foi instalado com sucesso:

command -v nvm

6. Instalação e Configuração da Evolution API

6.1. Clonar o Repositório da API

Clone o repositório oficial da Evolution API v2 a partir da branch correta:

git clone -b v2.2.0 https://github.com/EvolutionAPI/evolution-api.git

6.2. Instalar Dependências

Acesse o diretório do projeto e instale as dependências necessárias:

cd evolution-api && npm install

7. Configuração das Variáveis de Ambiente

7.1. Copiar Arquivo de Exemplo .env

Copie o arquivo de exemplo .env.example para .env:

cp ./.env.example ./.env

7.2. Editar o Arquivo .env

Edite o arquivo .env e substitua os valores conforme necessário. As variáveis mais importantes são as de conexão com o banco de dados:

nano ./.env

Altere os seguintes valores:

  • DB_USER: postgres

  • DB_PASS: a senha do banco que você definiu anteriormente

Também anote a API Key Global, pois você precisará dela para acessar a plataforma.

(documentação do arquivo .env aqui)

8. Geração e Deploy do Banco de Dados

Após configurar o ambiente, você precisará realizar a geração dos arquivos do cliente Prisma e o deploy das migrations no banco de dados. Utilize os comandos abaixo.

8.1. Gerar Arquivos Prisma

Gerar os arquivos do cliente Prisma:

npm run db:generate

8.2. Deploy das Migrations

Realize o deploy das migrations para configurar o banco de dados:

npm run db:deploy

9. Inicializando a Evolution API

Após todas as configurações, inicie a Evolution API:

npm run build && npm run start:prod

10. Gerenciamento com PM2

10.1. Instalar PM2

Para gerenciar a API, instale o PM2:

npm install pm2 -g

10.2. Iniciar a Evolution API com PM2

Inicie a API com PM2 e configure o PM2 para inicializar automaticamente:

pm2 start 'npm run start:prod' --name ApiEvolution &&
pm2 startup &&
pm2 save --force

11. Verificar a API

Para verificar se a API está em execução, acesse o IP do servidor na porta 8080 (http://ip-do-servidor:8080). Você deve receber a seguinte resposta:

{
  "status": 200,
  "message": "Welcome to the Evolution API, it is working!",
  "version": "2.0.10",
  "clientName": "evolution01",
  "manager": "https://evo2.site.com/manager",
  "documentation": "https://doc.evolution-api.com"
}

Acesse a interface de gerenciamento em:

http://<IP-DO-SEU-SERVIDOR>:8080/manager/login

No campo API Key Global, informe a chave que você configurou no arquivo .env.

12. Finalizando

Tudo pronto! Agora você pode acessar a Evolution API e gerenciá-la diretamente pela interface. Não esqueça de salvar as configurações e realizar testes para garantir que tudo esteja funcionando corretamente.

Te ajudei?

Me paga uma cerveja! 🍺😁

PIX QrCode

0
Subscribe to my newsletter

Read articles from Luan Rodrigues directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Luan Rodrigues
Luan Rodrigues

PHP Developer, Laravel Lover ❤️, Entrepreneur, Founder @ Bee Delivery