Um esforço enome foi feito nos bastidores, limpeza do banco de dados

Fnetwork é uma rede de sites e aplicativos em diversos estágios, porém ainda são produtos não finalizados, assim temos uma estrutura de custos muito reduzido.

Para não sobrecarregar os servidores em alguns momentos dedicamos dias para limpar e organizar o banco de dados dos projetos, assim temos menos “tralha” armazenada. Economiza espaço, tempo de backup, melhora performace na busca de informação e no final reduz os custos financeiros e de manutenção.

Uma das maiores mudanças foi a descontinuação do plugin F5 Sites Shared Posts & Upload Folder, um projeto que nunca saiu do estágio de testes de conceito, com isso o banco de dados de muitos projetos foi organizado e migrado para o modelo padrão do WordPress.

Deploy fnetwork in fresh ubuntu (português)

Antes de começar

  • install docker.io and docker-compose

Configuração de SSH

  • add ssh keys to bitbucket e github

Instalação de Scripts

  • download bsg (bash server deployer),
  • config bsg (adicionar domínio)
  • download wpsql configure and download prod db
  • download sublime 3 and optional mysql-workbench (to check)

Execução de comandos BSG

bsg run - dp
bsg run - dd (deploy docker só depois de baixado o projeto)
bsg run - sc (ssh copy id...)

Configurtar f5sites shared post

<?php 
$config["posts"] = "1fnetwork_posts"; 
$config["postmeta"] ="1fnetwork_postmeta"; 
$config["terms"] ="1fnetwork_terms"; 
$config["term_taxonomy"] ="1fnetwork_term_taxonomy";
$config["term_relationships"] ="1fnetwork_term_relationships"; 
$config["termmeta"] ="1fnetwork_termmeta";
$config["taxonomy"] ="1fnetwork_taxonomy";
$config["comments"] ="3fnetwork_comments";
$config["commentmeta"] ="3fnetwork_commentmeta";
$config["links"] ="4fnetwork_links";

Instalação pelo front

Após colocar no BSG, depois instalar pelo próprio front do wp, aí pode deletar as tabelas sobrando (comments, links), deve criar a pasta mu-plugins-DOMÍNIO

Capacidades do usuário

Adicionar o usuario DOMÍNIO_capabilities

a:1:{s:13:"administrator";s:1:"1";}

user id = 2

Milestone de Fevereiro: Certificação SSL Renovada Após Rebuild

Posso dizer que ainda não dominei o método de certificação SSL, continuo tendo muita dificuldade em algumas etapas, principalmente a renovação automática e a configuração de virtual hosts do Apache.

Após o rebuild do meu servidor principal (veja post com mais detalhes) obtive sucesso nas novas configurações para renovação dos certificados utilizando certbot. Assim, foi renovado os nossos certificados, e muitos usuários que haviam tido problemas em acessar todos os nossos sites, passaram a conseguir acessá-los novamente.

Um bug de configuração foi identificado no servidor antigo, pois havia mais de um diretório com configurações do Apache SSL e virtual hosts, fazendo com que o servidor não conseguisse entregar os arquivos certos para navegador e a certificadora.

Centralizamos todas as configurações do Apache e instalamos o servidor principal com docker, fizemos o rebuild e a nova instalação do certbot para poder resolver esse problema e assim permitir a navegação segura para os nossos usuários novamente. Sei que ainda terei alguns problemas pela frente, como a renovação automática, então, por hora a navegação está garantida e o esforço de rebuild e recertificação valeu a pena.

Milestone de Março: Rebuild do Servidor de Produção

Foi feita a reconstrução (rebuild) do nosso servidor de produção, uma operação bastante delicada e arriscada. Após muito tempo dependendo de um esquema antigo e repleto de manutenções feitas sem planejamento, aproveitamos a janela de oportunidade para migrar totalmente nossa operação para o docker.

Assim, comecei a reconstrução com o servidor local de desenvolvimento, tarefa que levou meses, para só depois atuar em produção. Inicialmente, para não cair o serviço, havia planejado fazer um servidor em paralelo com todas as aplicações, porém, durante o processo, houve um comprometimento crucial dos serviços no servidor em produção, pela expiração dos certificados SSL.

Assim, seria um desperdício de tempo trabalhar em dois servidores em produção e abandonei o plano inicial, pois o serviço já havia caído. Então, destruí o antigo servidor em produção e todo o esquema que estava corrompido, para dar lugar ao novo esquema baseado em docker linux WordPress, Apache e MySQL.

Com a reconstrução terminei a implantação de uma nova esteira de desenvolvimento e deploy automatizado. Com isso voltei a ter mais controle sobre o processo de desenvolvimento e entrega.

Acredito em um futuro mais automatizado e mais “simples” para fazer entregas, sabemos que existem algumas dificuldades com a estrutura que foi desenvolvida, como versionamento de todos os sistemas em conjunto. Trabalhamos com um repositório principal e diversos submódulos, técnica a qual ainda não domino completamente.

O espaço em disco foi economizado e os processos de utilização de CPU e memória obtiveram ganho de desempenho. Assim em 2020 temos um novo servidor em produção baseado em Ubuntu e não mais em CentOS, mais uma dificuldade que foi superada.

Milestone de Janeiro: BSD – Bash Shell Deployer

Script que eu criei para fazer o deploy de meus projetos WordPress em ambiente local e produção. Está disponível no meu perfil do github:

Com este repositório você pode configurar rapidamente o seu docker, seus virtuais hosts do apache e fazer o deploy do seu projeto WordPress ou outros.

Verifique também este item no meu portfólio de projetos:

https://portfolio.franciscomat.com/bsg-shell/

Brazilian Website Moved Down to a Subdomain

As part of moving toward to become global, brazilian operations will no longer be a priority, some content will be published in portuguese, but most of efforts will now be focused on english content.

(translate) Aviso: o site para o público brasileiro está agora disponível em um subdomínio, acesse agora e continue informado sobre nossas publicações para o Brasil.