Apesar do título, o que fiz foi bem simples. Basicamente, instalei o Ubuntu Server em um computador antigo e configurei algumas ferramentas para rodar na nossa rede interna.

Contextualizando

Trabalho em um supermercado e há alguns meses, desenvolvi o bot-sambanet, um script que automatiza a associação de produtos durante o lançamento de notas fiscais.

Aqui no escritório, somos duas pessoas, e utilizamos essa ferramenta em qualquer máquina conectada à rede interna. No entanto, o bot rodava no meu computador, via WSL, o que frequentemente deixava minha máquina mais lenta, já que o script consome bastante memória.

Como tínhamos uma máquina antiga sobrando por aqui, decidi instalar o Ubuntu Server nela e transferir todas as ferramentas que usamos para esse servidor. Dessa forma, aliviaria a carga do meu computador e centralizaria todas as ferramentas em uma única máquina.

Passo a Passo

Instalação

A instalação do Ubuntu Server é bem simples. Primeiro, baixei a imagem ISO diretamente do site oficial e criei um pendrive bootável utilizando o Balena Etcher. Durante o processo de instalação, fui avançando nas configurações padrão. Em uma das etapas, o instalador permite escolher algumas ferramentas para serem instaladas automaticamente; escolhi apenas o servidor SSH e o Docker.

Configuração da Chave SSH

Na minha máquina pessoal, gerei uma chave SSH com o seguinte comando:

ssh-keygen -t rsa -b 4096 -C “meu_email@hotmail.com”

Em seguida, copiei a chave pública para o diretório atual:

Leia também:  Honor lança versão global de celular com bateria inovadora de 6.600 mAh

cp ~/.ssh/id_rsa.pub .

Para transferir a chave para o servidor, utilizei um método simples: copiei o arquivo para um pendrive e o conectei na máquina onde o Ubuntu Server foi instalado.

No servidor, identifiquei o pendrive e copiei a chave SSH com os seguintes comandos:

sudo fdisk -lsudo mount /dev/sdb1 /mntcp /mnt/id_rsa.pub ~/.ssh/authorized_keys

Depois, ajustei as permissões adequadas e desmontei o pendrive:

chmod 600 ~/.ssh/authorized_keyschmod 700 ~/.sshchown -R $USER:$USER ~/.sshsudo umount /mnt

Agora o acesso via SSH está configurado e seguro.

Configuração do IP Estático

Para garantir que o servidor esteja sempre acessível pelo mesmo IP, configurei um IP estático. Editei o arquivo de configuração de rede com o seguinte comando:

sudo nano /etc/netplan/50-cloud-init.yaml

Adicionei a seguinte configuração:

network: ethernets: enp4s0: dhcp4: false addresses: 192.168.1.240/24 routes: to: 0.0.0.0/0 via: 192.168.1.1 nameservers: addresses: 8.8.8.8 8.8.4.4 version: 2

Depois de salvar o arquivo, apliquei as mudanças com o comando:

sudo netplan apply

Acesso ao Servidor

Com a configuração completa, o servidor já está pronto para ser acessado de forma segura. Para conectar a ele, usei o seguinte comando no terminal:

ssh usuario@192.168.1.240

Ajustar Permissões do Docker

Para evitar o uso do sudo ao executar comandos Docker, criei o grupo docker e adicionei o usuário a esse grupo:

sudo groupadd dockersudo usermod -aG docker $USER

Depois, apliquei as mudanças com o seguinte comando:

newgrp docker

Como o Docker foi instalado via Snap, reiniciei o serviço com:

Leia também:  WhatsApp Beta libera prévia de recurso de temas

sudo snap restart docker

Executar Ferramentas

O Ubuntu Server já vem com o Git instalado, então o próximo passo foi clonar o projeto no GitHub:

git clone https://github.com/diasjoaovitor/bot-sambanet.git

Esse projeto já possui um Dockerfile e um arquivo compose.yml para construir a imagem e executar os containers. O único ajuste necessário foi criar o arquivo .env e rodar o comando para subir o container:

cd bot-sambanet/touch .envnano .env # adicionar variáveis de ambientedocker compose up –build

Expor Aplicação na Rede Interna

Para acessar a interface web do bot-sambanet na rede interna, precisei expor a porta na qual a aplicação roda. Nesse caso, a aplicação usa a porta 3001. Então, executei os seguintes comandos:

sudo ufw enablesudo ufw allow 3001/tcpsudo ufw allow ssh

Depois, verifiquei o status das regras com o comando:

sudo ufw status

A saída foi:

To Action From– —— —-3001/tcp ALLOW Anywhere22/tcp ALLOW Anywhere3001/tcp (v6) ALLOW Anywhere (v6)22/tcp (v6) ALLOW Anywhere (v6)

Considerações Finais

Agora, todas as ferramentas que antes rodavam no meu computador estão centralizadas e funcionando no servidor, deixando meu PC mais leve. Apesar de ser uma configuração básica, esse processo foi um grande aprendizado para mim e me motivou a continuar estudando sobre infraestrutura de servidores, redes e DevOps.

https://hostinger.com.br?REFERRALCODE=1SEBASTIANA25
Oi! � Estou te dando 84% de desconto para comprar sua maquininha Point Mini NFC 2. Aproveite esse desconto e garanta taxas promocionais a partir de 0,84% no crédito à vista e 9,89% no crédito parcelado em 12x.
Computers & Accessories
Amazon Prime
Aproveite frete GRÁTIS e rápido, descontos exclusivos, filmes, séries, músicas e muito mais. Com o plano anual, você parcela em até 12x de R$ 13,90/mês sem juros (R$ 166,80/ano).
https://amzn.to/40iJj8P

Publicado

em

Tags:

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *