EvolutionAPI(Whatsapp) - Ubuntu 22.04

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.0.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 (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

Did you find this article valuable?

Support Luan Rodrigues by becoming a sponsor. Any amount is appreciated!