blog

Tutorial Proxy Reverso com Nginx no Debian 12 (bookwork) com Certificado Digital (certbot)

Para instalar e configurar o Proxy Reverso no Debian 12 (bookworm) proceda com os seguintes passos:

1º – Instalar nginx

apt install nginx certbot python3-certbot-nginx -y

2ª Crei um Vhost em /etc/nginx/sites-enabled

cd /etc/nginx/sites-enabled
vim site01.conf

server {
  server_name app.site01.com;
  set $upstream 127.0.0.1:5000;

  underscores_in_headers on;
  location /.well-known {
    alias /var/www/ssl-proof/.well-known;
  }

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://$upstream;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Ssl on; # Optional

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_buffering off;

    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
}

Para checar as sintaxes do arquivo de configuração, execute:

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

3º Gerando Certificados

certbot --nginx -d site01.com -d app.site01.com

 

Instalando uma aplicação NodeJS no Debian 12 (bookworm)

Para instalar uma aplicação em NodeJS no Debian 12 (bookworm) pressiga com os seguintes passos.

1º Download e instalação do Node Source

Em https://github.com/nodesource/distributions selecione a versão desejada, nesse caso usaremos versão 20 para Debian

Using Debian, as root

curl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\
apt-get install -y nodejs

2ª Confira a versão

nodejs --version

3º Atualize o NPM

npm install npm@latest
npm install -g npm@10.4.0

4ª Após acessar o diretório com aplicação NodeJS, execute:

1 –  Para instalar as dependências

npm install

2 –  Para buildar os fontes

npm run build

3 –  Para executar aplicação

npm run start

5º Para configurar a aplicação como serviço, instale o PM2

npm install pm2 -g

6ª Adicionando a plicação no PM2 e Configurando ao AutoStartup

1- De dentro do diretório da aplicação, execute:

pm2 start 'npm run start' --name Frontend
pm2 list
pm2 save
pm2 startup
pm2 save
pm2 examples (para maiores informações)

 

 

Como instalar .NET 8 (dotnet 8) no Debian 12 (bookworm), Iniciar uma Aplicação ASP.Net MVC, Publicar, Compilar e Iniciar como Serviço – Copy

Segue um breve passo-a-passo de como instalar o .NET 8 no Ubuntu 22.04.

1 – Instalação do .NET SDK e RunTime

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0

sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-8.0

2 – Criando uma Aplicação MVC

mkdir /apps
cd /apps
dotnet new mvc -o teste
dotnet dev-certs https --trust

3 – Testando a Aplicação via Console

De dentro do diretório teste execute

dotnet run

Após realizar qualquer mudança utilize do build para compilar novamente

dotnet build

4 – Publicando uma Aplicação .NET

De dentro do diretório teste execute o dotnet com paramentro publish

dotnet publish -c Release -o ./bin/Publish

5 – Testando aplicação publicada, executando o DLL

dotnet bin/Publish/teste.dll

6 – Configurnado uma aplicação .NET como Serviço no Linux

Acessar o diretório System de Systemd

cd /etc/systemd/system

--> Criar o arquivo 
vim app.service

--> Editar o arquivo com os seguintes dados.

[Unit]
Description=App Teste

[Service]
WorkingDirectory=/app/teste/bin/Publish
ExecStart=/usr/bin/dotnet /app/teste/bin/Publish/teste.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=App-Teste
User=ubuntu

[Install]
WantedBy=multi-user.target

Instale e inicie o seviço

systemctl enable app.service

systemctl start app.service

se necessário

systemctl daemon-reload

Em um prompt de comando use o seguinte comando para acompanhar o log para possíveis erros.

journalctl | tail -n 300

Como instalar MySql 8 no Debian 12 (bookworm)

Como instalar MySql 8 no Debian 12.

Para realizar a instalação siga os seguintes passos;

1 º Realizar o update e se necessário, instalar o wget

apt update
apt install wget -y

2 º Realizar o download do repositório do MySql e instalação do mesmo.

wget https://repo.mysql.com//mysql-apt-config_0.8.29-1_all.deb
apt install ./mysql-apt-config_0.8.29-1_all.deb -y
apt update

Ps. Sinta-se avontade para baixar o resitório mais recente no site da MySQl

https://dev.mysql.com/downloads/

Em Configuring mysql-apt-config:

  1. Selecione Mysql Server e Cluster
  2. Confirme MySql Server
  3. Confirme com OK
  4. Confirme com OK

Caso precise refazer alguma configuração execute:

dpkg-reconfigure mysql-apt-config

Instale o MySql

apt update
apt install mysql-server -y

3º Configure os serviços

systemctl enable --now mysql
systemctl status mysql

4º Execute o Secure Instalations

mysql_secure_installation

 

Press y|Y for Yes, any other key for No: Y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

 

 

Como instalar .NET 8 (dotnet 8) no Ubuntu 22.04 (LTS), Iniciar uma Aplicação ASP.Net MVC, Publicar, Compilar e Iniciar como Serviço

Segue um breve passo-a-passo de como instalar o .NET 8 no Ubuntu 22.04.

1 – Instalação do .NET

declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)

wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

dpkg -i packages-microsoft-prod.deb

rm packages-microsoft-prod.deb

sudo apt update

apt install dotnet-sdk-8.0

2 – Criando uma Aplicação MVC

mkdir /apps
cd /apps
dotnet new mvc -o teste
dotnet dev-certs https --trust

3 – Testando a Aplicação via Console

De dentro do diretório teste execute

dotnet run

Após realizar qualquer mudança utilize do build para compilar novamente

dotnet build

4 – Publicando uma Aplicação .NET

De dentro do diretório teste execute o dotnet com paramentro publish

dotnet publish -c Release -o ./bin/Publish

5 – Testando aplicação publicada, executando o DLL

dotnet bin/Publish/teste.dll

6 – Configurnado uma aplicação .NET como Serviço no Linux

Acessar o diretório System de Systemd

cd /etc/systemd/system

--> Criar o arquivo 
vim app.service

--> Editar o arquivo com os seguintes dados.

[Unit]
Description=App Teste

[Service]
WorkingDirectory=/app/teste/bin/Publish
ExecStart=/usr/bin/dotnet /app/teste/bin/Publish/teste.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=App-Teste
User=ubuntu

[Install]
WantedBy=multi-user.target

Em um prompt de comando use o seguinte comando para acompanhar o log para possíveis erros.

tail -f /var/log/syslog

Instale e inicie o seviço

systemctl enable app.service

systemctl start app.service

se necessário

systemctl daemon-reload

 

FileBrowser Docker Cmpose

FileBrowser é um aplicativo que oferece uma solução para gerenciar arquivos e pastas em dispositivos móveis, permitindo aos usuários acessar, organizar e compartilhar seus dados de maneira eficiente. Ele atua como um explorador de arquivos avançado, fornecendo uma interface amigável para navegar pelo sistema de arquivos do dispositivo.

Com o FileBrowser, os usuários podem realizar diversas tarefas, como copiar, colar, renomear e excluir arquivos, além de criar e organizar pastas. O aplicativo também oferece recursos avançados, como a capacidade de conectar-se a servidores remotos, como FTP, SFTP, WebDAV e outros, permitindo o gerenciamento de arquivos em diferentes locais.

Além disso, o FileBrowser facilita a transferência de arquivos entre dispositivos, suportando a transferência de dados por meio de Wi-Fi e Bluetooth. Essa funcionalidade é útil para compartilhar documentos, fotos e outros tipos de arquivos entre dispositivos móveis ou entre dispositivos móveis e computadores.

Em resumo, o FileBrowser é uma ferramenta versátil para gerenciamento de arquivos em dispositivos móveis, oferecendo funcionalidades avançadas para facilitar o acesso, organização e compartilhamento de dados.

 

Ler mais

Download Oficial Windows Server e Windows 10

Download do Windows Server e Widows 10 e Windows 11 pelo site oficial da Microsoft

 

https://techcommunity.microsoft.com/t5/windows-server-for-it-pro/accessing-trials-and-kits-for-windows-server/m-p/3361205

 

Zabbix Server em Docker Compose

Segue a versão do yaml do docker compose para Zabbix  Server Mysql

Ler mais

Instalando N8N via Docker Compose

  • Para instalar n8n via docker compose utilize a seguinte yaml
  • Configure proxy reverso do Nginx de n8n.minhaempresa.com.br para 127.0.0.1:5678
version: "3.7"
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - ./n8n_data:/home/node/.n8n
volumes:
  n8n_data:
    external: true
  • O arquivo .env deve estar no mesmo diretório do yaml
  • Chmar do docker com docker-compose up
  • Irá notar um erro de acesso o arquivo, então parar o docker e…
chmod -R 777 n8n_data

Com isso o acesso deve estar normalizado.

 

 

Integração Typebot com Chatwoot via N8N

Roteiro para criação de chatbot.

Pré requisitos
  • Ter instaldo e configurado o n8n.
  • Ter instaldo e configurado o TypeBot.
  • Ter instaldo e configurado o EvolutionAPI.

Passo 1 – Criar instância com EvolutionAPI

curl -X POST http://127.0.0.1:8081/instance/create \
-H "Content-Type: application/json" \
-H "apikey: Lqxb8hZvimasdfadsfIqQEYikZEmN5gYg3LKiHT" \
-d '{
    "instanceName": "TypeBot",
    "token": "",
    "qrcode": true,
    "number": "55629841xxxx6"
}'

Passo 2 – Configurar instância criada para conectar com TypeBot

curl -X POST http://127.0.0.1:8081/typebot/set/TypeBot \
-H "Content-Type: application/json" \
-H "apikey: Lqxb8hZvimZi2L0OXOxdfgsdfgdsgIqQEYikZEmN5gYg3LKiHT" \
-d '{
    "enabled": true,
    "url": "https://bot.meutypebot.com.br",
    "typebot":  "NomeDoFlowDoTypeBot",
    "expire": 20,
    "keyword_finish": "#SAIR",
    "delay_message": 1000,
    "unknown_message": "Mensagem não reconhecida",
    "listening_from_me": false
}'

Passo 3 – Ao concluir fluxo do TypeBot redirecionar conversa para o ChatWoot via N8N

  • Criar variável remoteJid para pegar o número do remetente.
  • Criar variável numeroLimpo para remover sufixo.
  • Após construir todo fluxo criar um Webhook com as seguintes variáveis
    • URL do Webhook – https://n8n.minhaempresa.com.br/webhook-test/typebot
    • Method POST
    • Body:
      {
        "number": "{{numeroLimpo}}",
        "name": "{{name}}"
      }

Passo 4- Configurar N8N para receber o webhook e enviar para Chatwoot

  • Fazer downlaod do flow n8n
  • Em Infobase1 Configurar
    • Token (Chatwoot)
    • Url Chatwoot
    • ID Conta
    • ID Caixa
    • NomeContato
      • TypeBot Minha Empresa
    • MensagemEnvio
      • ” Contato recebido via TypeBot “

Basicamente é isso.