Posted on Leave a comment

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

Posted on Leave a comment

DBS: Database Sync, Um Script Completo Para Sincronizar Bandos WordPress

Um script mágico para sincronizar os bancos de dados remoto e local, subindo dados como posts e taxonomiais e recebendo do servidor remoto comentários e usuários.

Verifique diretamente o arquivo em tempo real:

https://github.com/franciscof5/bash-server-deployer-2020/blob/master/bsg-scripts/dbs.sh

Posted on Leave a comment

Aparência de sites pessoais aprimorada

Um dos maiores desafios que emplaquei para uma minha rede FNetwork de projetos é criar interfaces consistentes, antes mesmo de saber o que é isso.

Comecei alguns meses criando o design guidelines, de forma bem simples, para a F5 sites, intencionava criar um guia para cada subprojeto. Porém seria muito custoso então surgiu a ideia e a oportunidade de unificar a aparência de todos os projetos.

Assim, a primeira coisa, foi adoção de uma fonte comum para todas as logomarcas, mais um padrão de cores e recomendações gerais.

Dentro do esquema do WordPress eu tenho meu site principal Francisco Mat ponto com, compartilhado na rede, mas o meu portifólio, aqui também é um site do WordPress, é uma instalação isolada. Para criar uma interface única, para usuário não perceber que estava navegando em dois sites diferentes, criei um tema único e apliquei nos dois projetos, assim, a sensação é de estar sempre no mesmo site.

Posted on Leave a comment

Novo build do docker no Linode seguro

Infelizmente a internet continua sendo um local inóspito, servidores podem ser facilmente atacados por máquinas mal-configuradas ou scripts maliciosos, para saber o IP de um site, basta para isso uma consulta reversa pelo nome do domínio para encontrar o IP da máquina.

Com isso bote podem começar a escanear arquitetura do sistema, no caso de sistemas fechados com senha rapidamente pode ser começar o ataque brutal no painel, com um algoritmo programado para tentar milhares de usuários e senhas diferentes até obter êxito no login.

Não tenho tanta experiência com docker e teve alguma dificuldade para identificar a origem dos ataques, pois o consumo excessivo dos os recursos do sistema e dificultavam muito a execução de comandos por SSH.

Precisei aprender a visualizar o log dentro do próprio docker para assim identificar o IP, ou a faixa de IP, da máquina que estava atacando os meus belos e inocentes serviços de publicação de conteúdo e anúncios do bem, dos meus serviços que prestam com tanto amor um serviço de hospedagem para os meus projetos e clientes.

Foi então usado um simples e velho recurso de bloquear o acesso da faixa de IP por htaccess. Em relação ao painel do WordPress, como pode se verificar, nesse post sobre a segurança do meu servidor, o acesso já é bloqueado de fora da rede interna. com isso o risco de complicações é quase zero e após esse bloqueio do ataque o serviço voltou a sua normalidade.

Data do evento: 19 de maio de 2020

Atualização: Setembro de 2020, confirmado meses de estabilidade e fix com sucesso.

Posted on Leave a comment

Plugin F5 Sites Bar Atualizado

Há alguns anos lançamos o plugin F5 Sites Bar para compartilhar em toda a rede de sites e blogs Fnetwork uma barra, no topo de cada site, todos os principais projetos da F5 Sites.

Inspirado em um sites como o UOL e ESPN, onde seus blogs, subsites e até mesmo sistema de terceiros hospedados em seus servidores, apresentam uma barra acima com o link para o portal principal e outros links para os sistemas top nível.

Assim, os visitantes conseguem entender que estão dentro de uma rede de sites, conectados e que compartilham informações. Além de aumentar o link building e destacar a marca como provedora de serviços. No caso da F5 Sites somos uma empresa de hospedagem, tratando os projetos internos como projetos de clientes.

Update: Setembro de 2020, foi removido o bootstrap (3 e 4) da barra devido a vários conflitos com temas e sistemas, é necessário um grande esforço para normalização, por isso a barra só conta com o logo da F5 Sites no topo e a localização flutuando a direita.

Maio de 2020: Agora as informações estão muito mais organizadas, pois a atualização contou com a instalação do Bootstrap 4, trazendo uma grande melhoria na aparência e principalmente responsividade, já que a barra se adapta para tos os dispositivos e o menu colapsa (encolhe) e expande, e se ajusta em qualquer tamanho de tela.

Um problema para sua implementação imediata é que alguns projetos utilizam o Bootstrap 3, então houve uma quebra destes e está sendo realizado um grande esforço para atualização de toda a nossa base de projetos.

Posted on Leave a comment

Milestone de Abril: Organização Para Crise da Pandemia

Desde 2010 utilizo o software online RTM para gestão de notas e tarefas, ainda estou finalizando meu próprio sistema e como tenho todo esse histórico lá de 10 anos é difícil desvincular.

Então durante todo este tempo as tarefas e projetos aconteceram na vida real e por lá foi administrado, então existe um histórico que reflete diversos momentos dos meus projetos e consultorias.

Agora vivemos um momento único, pandemia de coronavírus, que sem dúvida impactou a minha vida pessoal, me trazendo para o isolamento e quarentena. A organização de todas as tarefas se tornou possível e viável, já que perdi um cliente e fiquei com bastante tempo livre.

Organização apontou uma nova direção: priorizar pelos próximos 3 anos a prestação de serviços e criar ferramentas personalizadas para aumentar o valor percebido pelo cliente e transformar estas iniciativas em possíveis produtos.

Posted on Leave a comment

Bloqueado Painel (wp-admin) em Produção via .htaccess

Por uma questão de segurança e manutenção de sistema de backup automatizado, foi bloqueado o acesso ao painel do WordPress, de todos os nossos sites, em produção.

É uma questão de segurança pois evita o ataque do tipo força bruta ou outros, protegendo com mais uma camada as informações do nosso banco.
Em relação à manutenção de backup e do banco de dados em ambiente de produção, é para evitar a publicação de posts e mídias em produção sem o seu correspondente no ambiente de desenvolvimento e QA.

Utilizamos o nosso plugin script BSD e WPSQL para esta automação, assim recomendamos que você conheça nossas soluções de código aberto e tente de adotá-las em seus projetos para ter um maior controle da automação.

Posted on Leave a comment

Plugin de Login F5 Sites Atualizado

Atualizado o nosso plugin, F5 Sites Login Screen, que customiza, com as cores e o logo da F5 sites, a nossa página de login do WordPress. Usamos a técnica de instalar o plugin em toda a rede via pasta mu plugins compartilhada. Assim o plugin é utilizado em toda a rede FNetwork, em uma única pasta compartilhada.

A atualização ocorreu porque mudamos o logo, a última atualização desse plugin foi há 4 anos quando lançamos o logo conceitual da tartaruga. Agora com o novo padrão de logo, cores tipografia, aparência de muitos sistemas estão sendo atualizadas.

Posted on Leave a comment

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.

Posted on Leave a comment

Meu site pessoal agora centraliza todos meus blogs

Como administro diversos blogs, tinha muita dificuldade em oferecer um espaço único para os leitores de diversas fontes.

Após pensar um pouco, resolvi utilizar a homepage do meu site pessoal para listar, utilizando o plugin RSSImport, os posts mais recentes de cada blog aonde eu publico.

Agora home está carregada de informações referentes aos meus trabalhos mais recentes, optei por apenas colocar o endereço do blog e listando abaixo os últimos posts, sem identificar a data da publicação ou mais detalhes.

Na home, acima dos blogs, uma foto minha. No meu site continua com meu currículo aberto e o meu portfólio detalhado, com trabalhos e estatísticas de projetos, além de um menu para contato diretamente comigo.

Posted on Leave a comment

Novo Layout Porfólio

Foi atualizado o layout do meu portfólio de projetos, ele já era bastante moderno, intuitivo e fácil de navegar. Mas essa atualização traz mais destaque para as imagens do quê o excesso de texto que continha embaixo delas.

Ah sim agora temos uma lista de imagens usando um plugin chamado posts_grid, o que facilita para o usuário encontrar trabalhos que sejam do seu interesse assim fica o convite para visitar o meu portfólio e conhecer os meus trabalhos que estão listados desde os primeiros trabalhos de 2002 qual tem vaga lembrança muitos poucos arquivos recuperados até os trabalhos mais recentes e muito importantes para minha carreira.

Posted on Leave a comment

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.