Let`s Encrypt no Ubuntu 20.04 com Apache

Com o domínio registrado no DNS e configurado no Apache na porta 80, segue:

apt install certbot python3-certbot-apache
certbot --apache -d your_domain -d www.your_domain

Responda as perguntas do script com atenção!

Particularmente, prefiro deixar o redirecionamento automático de http para https.

Os certificados deverão ser salvos dentro da pasta /etc/letsencrypt/live/ automaticamente.

O script criará um novo vhost para o domínio dentro do apache se você respondeu para redirecionar para https.

Esse script também gera um cron job em /etc/cron.d para renovar o certificado automaticamente e pode ser testado com o comando abaixo:

certbot renew --dry-run

Docker Básico com Ubuntu Server

Seguem informações de referência úteis para criar e executar uma imagem docker para um servidor Ubuntu com finalidade de uso no desenvolvimento de software para web.

Primeiro, o básico. Criamos um contêiner a partir de uma imagem. Essa imagem pode ser baixada do Docker Hub.

docker pull ubuntu:bionic

Estou usando a tag bionic para me referir a uma versão específica igual a mesma utilizada no servidor de produção.

Esse comando acima vai baixar a imagem para nossa máquina que já possui o serviço do doker rodando.

Uma vez que a imagem está baixada, vamos criar um contêiner a partir dela e expor as portas que serão utilizadas com o comando abaixo.

docker run --name bionic -p 8089:80 -p 5439:5432 -it -i ubuntu:bionic

Essas portas correspondem aos seguintes serviços respectivamente:

  • apache2 web server
  • postgresql database server

Esse comando (docker run … -it) vai te enviar para uma sessão dentro do contêiner.

É aconselhável executar uma atualização de pacotes antes de qualquer outro comando.

Volumes

Por padrão um contêiner descarta os dados gravados quando terminado. Para persistir os dados usamos os Volumes.

O comando abaixo cria um volume com o nome de bionic-vol.

docker volume create bionic-vol

Para usar esse volume, montamos o mesmo no comando run do contêiner.

docker run \
--name bionic \
-p 8089:80 -p 5439:5432 \
--mount source=bionic-vol,target=/app \
-it -i ubuntu:bionic

Dessa forma, uma pasta /app poderá ser usada para armazenar de forma persistente qualquer arquivo ou estrutura de pastas (ex: local onde o servidor de banco de dados guarda seus arquivos).

Agora vamos aprimorar esse comando para atender a necessidade de um desenvolvedor web com persistência de dados e apontamento da pasta do projeto no host pelo web server do contêiner.

docker run \
--name bionic \
-p 8089:80 -p 5439:5432 \
-v $HOME/Projetos:/var/www/html \
-v $HOME/docker/volumes/postgres:/var/lib/postgresql/data \
-it -i ubuntu:bionic

Comandos

Comandos para utilizar para manutenção do contêiner:

  • docker ps – lista contêineres em execução
  • docker attach bionic – conecta o terminal do container
  • docker volume ls – lista volumes instalados

Documentação oficial em https://docs.docker.com/.

Instalar PDI 9 no MacOS

Após baixar o arquivo do Pentaho Data Integration, descompacte o conteúdo em uma pasta da sua escolha.

Minha escolha foi ~/MyApps/PDI91. Nunca utilize a pasta de aplicativos nativa do sistema operacional nesses casos.

Estou usando a versão Big Sur do MacOS e a 9.1 do PDI.

No Finder, navegue até a pasta ~/MyApps.PDI91 e abra o arquivo “Data Integration.app”. Provavelmente o sistema vai reclamar dos direitos de acesso. Abra a Privacidade nas Preferências do Sistema e destrave esse aplicativo.

Tente abrir novamente o .app. Caso nada aconteça, execute o comando abaixo no terminal (lembrando de alterar o caminho de acordo com sua escolha) para remover o aplicativo da quarentena:

sudo xattr -dr com.apple.quarantine ~/MyApps/PDI91/Data\ Integration.app

Feito isso o app deve abrir e você poderá fixar o mesmo no Dock depois de executado.

Boas transformações!

Upgrade de SSD no MacBook PRO 13″ 2017 (A1708)

MacBook PRO 2017 com 128GB de armazenamento em 2020. Sem chance de continuar instalando atualizações do S.O. e armazenar aplicativos para desenvolvimento de software nessa capacidade de armazenamento.

A busca por um upgrade para um de 512GB bateu forte no bolso. Mais de 2.000,00 em conversão do dólar de hoje por esse aqui:

Procurando uma alternativa, cheguei nesse pacote composto por um adaptador e uma SSD de 512GB, além das ferramentas necessárias para a substituição:

Onde atentar nesse processo:

  • o kit vem com duas chaves, uma exclusiva para o SSD e outra para os demais parafusos
  • a remoção dos parafusos da tampa deve ser memorizada porque são três tamanhos diferentes nesse modelo
  • a remoção da tampa deve ser feita com o auxílio da ventosa e palheta (veja vídeos no youtube sobre esse procedimento), ela é de alumínio e forçar pode vincar a peça de forma irreparável
  • desligar a bateria é um procedimento delicado que envolve o desligamento de um cabo flat e a desconexão de outra peça (eu prefiro deixar a bateria descarregar por completo do que mexer nessas peças)
  • após instalar o no SSD, entrar na recuperação do sistema e preparar o SSD com o Utilitário de Disco

Se for comprar as peças separadas, o SSD tem que ter suporte à NVME, do contrário o MacOS não vai reconhecer.

Boa sorte!

Área de Notificação não abre no Windows 10

Após uma atualização do Windows Update um notebook passou a não responder o comando de abrir a área de notificação e também o calendário.

A única solução foi registrar novamente o componente usando o comando abaixo dentro do PowerShell em modo administrativo:

Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppxManifest.xml” -verbose }

Atalhos no menu iniciar do Windows 10

Nem todos aplicativos possuem assistentes de instalação para deixar atalhos no menu iniciar.

Nesses casos temos que botar a mão na massa, ou melhor, no terminal, para deixar esses atalhos com acesso mais imediato do que a execução direta chamando o aplicativo na pasta pelo explorer.

A partir do momento que conseguimos criar atalhos para o aplicativo na nossa área de trabalho usando o comando “Enviar para…” podemos recortar e colar esses atalhos na pasta do Iniciar (sim, o Iniciar é uma pasta no seu disco).

Abra a pasta abaixo copiando e colando seu endereço no Executar (Win + R):

mod_fcgid: read data timeout

Com essa pasta aberta, podemos colar nossos atalhos (não cole o arquivo original do aplicativo, nunca!) ou mesmo criar pastas específicas para organizar esses aplicativos.

Em seguida, devemos reiniciar nossa sessão no Windows ou, se preferir, reiniciar o explorer com os seguintes comando no Terminal (não é necessário abrir como Administrador):

taskkill /f /IM explorer.exe
start explorer.exe
exit

Dessa forma os atalhos/pastas já estarão presentes no menu Iniciar, onde podemos fixá-los no acesso rápido, por exemplo.

Boa sorte!

Atribuindo privilégios em tabelas e sequencias no PostgreSQL

Ao restaurar um banco de dados em um servidor diferente do original é comum não ter o mesmo usuário registrado nesse novo servidor ou mesmo fazer a escolha de outro para uso em ambiente de produção.

O PostgreSQL vai proibir o acesso depois de uma restauração nesses casos por parte do aplicativo que usa um novo usuário.

Para atribuir esses privilégios a um usuário no banco de dados, abra o aplicativo psql como usuário postgres:

su postgres
psql nome_do_bd

Dentro do psql execute os comandos (atenção se seu schema não for o public):

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO nome_do_usuario;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO nome_do_usuario;