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

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

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.

Posted on Leave a comment

F5 Sites Diretrizes de Design

Em nossa primeira tentativa de uniformizar o designs de todos nossos projetos, fazendo os terem uma aparência semelhante, como quando você está em um produto Google, Amazon, Microsoft ou Apple, você meio que sabe, mesmo que você não saiba exatamente porque você sabe, você meio que sente como se estivesse em “casa”. Isso porque eles têm um design consistente com algumas regras que orientam todos os produtos.

Então, a F5 Sites começou a desenvolver nossas primeiras diretrizes de design, elas começaram de forma simples, mas achamos que as regras se tornarão mais ajustáveis e melhores com o passar do tempo, então nossas primeiras diretrizes de design são:

  • Barra no topo de todos os produtos
  • Fonte para logo: Lobster
  • Cores:
    • F5 azul: #03659c
    • F5 azul claro: #549ed1
    • Ubuntu laranja: #FF5919
    • Cinza escuro: #3F3F3F
    • Cinza médio: #888888
    • Cinza claro: #EEEEEE
    • Verde escuro: #398439
    • Verde claro: #449d44
    • Dourado: #E2D693
  • Imagens customizadas para posts e produtos

Por enquanto isso é tudo, no futuro estamos prevendo paddings e margens para alguns elementos. Estas regras serão aplicados em produtos antigos sempre que eu puder, pois agora elas apenas existem e estão sendo implementados sem um prazo, mas nada de novo será desenvolvido sem seguir esse rigor.

Posted on Leave a comment

Novo Plugin em Desenvolvimento: F5 Sites Smart Language Filter

Depois de toneladas de testes e experiências, com os plugins de idiomas mais famosos e atualizados para o WordPress, eu iniciei um plugin para F5 Sites e Fnetwork. Baseado em um código simples mas eficiente que fiz para um tema de projeto (Sistema Focalizador Javascript). Tudo o que eu tive que fazer é usar tags em posts, como:

  • lang-en: portugues
  • lang-pt: portugues
  • lang-fr: francês
  • lang-zn: chinês
  • E assim por diante…

O termo “inteligente” no nome é porque ele usa um algoritmo baseado no WooCommerce Geocode e na função HTTP para determinar a localização dos usuários e fornecer a linguagem provavelmente mais correta. Então, vamos fechar nossos domínios que começam com br, como br.f5sites.com e br.franciscomat.com, porque sempre que você estiver em uma localização, o domínio principal fornecerá conteúdo para você em seu idioma.

O plugin estará presente em toda a rede, ele será anexado a outro plugin que usamos F5 Sites Footer Bar, então todos os sites terão opções de tradução. Os usuários também terão a opção de alterar o idioma a qualquer momento, e se ele aparecer em um link que não tenha o idioma que os usuários falaram, um aviso será anexado para alterar o idioma a qualquer momento.

O plugin está em desenvolvimento e não tem prazo para ser finalizado, é um esforço que faço para alcançar melhores resultados em marketing e conquistar novos clientes.

Posted on Leave a comment

Integração com Mailgun completa, enviando e recebendo emails

Mais uma tarefa que levou meses, está ficando repetitivo esse tipo de aviso aqui no blog, porém estas tarefas estruturais, que são a base do serviço, via de regra consomem muito tempo pois são necessário dezenas de testes e muita, mas muita pesquisa de serviços com custos acessíveis para uma startup enxuta. Não vou citar todos os serviços que pesquisei, quase todos da primeira página de busca do Google, mas não comecei essa tarefa procurando serviços de email, mas sim instalando meu próprio servidor de email postfix + devcot, configurando no meu VPS Linode centOS estes serviços.

Tudo ia muito bem até receber aquela enxurrada de spam, tornando inviável verificar os emails diariamente, pois muito tempo era perdido para não encontrar nenhum email “de verdade”, assim o problema se tornou grande, como divulgar meu email oficial em um cartão de visita se nunca iria conseguir encontrar os contatos de pessoas interessadas em serviços neste mar de spam.

Quanto mais velho um domínio e um endereço de email mais spam ele recebe, a internet é cruel e seus robozinhos spammers vão se somando e aniquilando endereços de emails antigos, por isso muita gente vive trocando de email e quase sempre evitando divulgá-lo de forma escrita na internet para evitar spam, mas é inevitável. Como a f5sites.com existe desde 2009, são muitos lugares onde divulguei meus emails, assim a enxurrada de spam era diária a solução foi instalar o SpamAssassin.

Aí você me pergunta, ele realmente funciona e assassina os spams? Sim, muito bem, pouca coisa passa, estaria tudo bem se essa solução não tivesse gerado um problema adicional, além da dificuldade de configurar os filtros, ele esgotava os recursos do servidor, a CPU disparava para 100% e recebia muitos alertas diários, dividindo recursos com https, mysql, php-fpm o servidor de email acabava por travar todos os sites.

Teria que então abrir um novo VPS só para o email, aí surgiu a questão do custo, a frustração cresceu porque tive que desativar o meu servidor de email depois de semanas “apanhando” para configurá-lo certinho para não ser barrado quando enviado para servidores exigentes como gmail, qualquer configuração errada e o gmail jogava meus emails direto no spam. Estava tudo certo mas não havia recursos para o serviço ficar ativo, nessa hora amaldiçoei os serviços de emails corporativos, eles mesmo inundam a rede de spam para depois cobrar por serviços anti-spam, um jogo injusto para os pequenos.

Para servidor de email é necessário além do custo baixo uma boa reputação dos IPs e servidores, além da já tradicional escalabilidade, quase todas as empresas acabam assinando com o próprio Google e recebem além do serviço anti-spam de primeira qualidade, interfaces web para seus funcionários, um tipo de gmail corporativo mas com @seudominio.com, funciona muito bem e tem um preço acessível, mas tenho minhas restrições quanto a confidencialidade, além de existirem alternativas gratuitas ou muito mais baratas.

Não teria encontrado o Mailgun se não fosse em uma conversa informal com meu primo, CEO da Plape.bi, Yuri, que me indicouo serviço, pois estava tendo ótimo resultados e ao questioná-lo sobre seus concorrentes, rapidamente destacou suas vantagens. Assim que tive tempo comecei a configurar o serviço para testar, fico sempre receoso quando exigem o cartão de crédito, mas com uma cota mensal de 10 mil emails grátis, atenderia minha demanda inicial facilmente.

Assim após pesquisa sobre a empresa e o fundo que a mantinha, percebi que era uma alternativa viável as grandes corporações de TI, uma verdadeira entrante no mercado, com força para crescer e com preços competitivos. Consegui sem muita dificuldade configurar o email pelo painel do Linode DNS e assim pude começar a enviar meus emails transacionais, antes usava o serviço grátis do smtp do gmail, com muitas limitações, mas com o Mailgun atingi um novo patamar.

Foram mais semanas lendo as documentações e estudando os protocolos MX do DNS para conseguir configurar corretamente o recebimento de email, está sim uma ferramenta incrível. O Mailgun permite que você receba emails @seudominio e ainda oferece gratuitamente o serviços de filtro de spam com base no próprio SpamAssassin, além de permitir a configurações de rotas catch_all para encaminhar emails recebidos. Assim hoje com o Mailgun posso enviar e receber emails de forma gratuita, com filtro de spam e com limites bastante justos. Portanto agradeço muito ao Yuri pela dica e compartilho com vocês essa incrível ferramenta, Mailgun.

Posted on Leave a comment

Rede de lojas virtuais F5 Sites próximas a serem lançadas

Desde o final de 2016 a F5 Sites vendo sendo reestruturada, antes era uma rede de sites independentes, mas agora se transformou em uma rede de blogs, serviços e lojas virtuais integradas. Vários dominam agora operam uma tecnologia compartilhada, foram necessários muitos meses de trabalho em pequenos projetos para a integração completa de todas as tecnologias e plugins.

Confira uma visão rápida sobre como a F5 Sites evoluiu de uma prestadora de serviços e consultoria em WordPress para uma rede de lojas virtuais e projetos integrados:

  • 2009: Início da F5 Sites, o objetivo era vender temas de WordPress no site ThemeForest, nunca alcançado. Apesar de bem remunerado a qualidade exigida do código e documentação era muito elevada para um momento inicial, portanto a F5 Sites nasceu com foco internacional e global, mas não atingiu as metas iniciais.
  • 2010: Para fazer receita rapidamente, passa a fornecer serviços de personalização e customização de sites para clientes no Brasil que utilizavam WordPress, conheci muitas pessoas e colaborei com muitos projetos.
  • 2012: Além de consultoria passa a hospedar os primeiros serviços próprios, como Itapemapa e Pomodoros, ainda dentro de uma infraestrutura de TI muito pouco estruturada e dependente de serviços de hospedagem para configurações avançadas.
  • 2013: Grandes clientes de consultoria aparecem, muito caixa entra e os investimentos em projetos atigem seu ápice, porém não tinha tempo para programá-los pois dedicava meu tempo para projetos de terceiros, na prática o resultado foi o abandono da F5 Sites seguida de uma grande injeção de recursos financeiros.
  • 2014: Interrompida definitivamente, a rede toda foi suspensa pois o fundador precisou se dedicar de forma integral ao programa de mestrado em Administração da FEA-USP.
  • 2016: retorno do fundador para dedicar-se exclusivamente ao desenvolvimento da F5 Sites e a rede de projetos, a partir de um novo paradigma, transformar a tecnologia para suportar mútiplos lançamentos em sequência. Com muitas tecnologias de 2012 e 2013 paradas, o trabalho foi enorme para relançar cada pequeno projeto dentro de um novo contexto, porém ao optar por WordPress como tecnologia principal desde o início a maior parte do trabalho de atualização foi extremamente fácil, já que basicamente os plugins e temas desenvolvidos funcionariam quase sem problemas.
  • 2018: Após 2 anos desenvolvendo novas tecnologias e preparando a rede, é prevista a abertura e lançamento para o público do primeiro serviço oficial da F5 Sites, o app Pomodoros.com.br.

Conheça as tecnologias e plugins que foram incorporados e agora fazem parte do núcleo duro da nossa tecnologia, integrando plugins próprios com soluções de terceiros:

  • WooCommerce + Plugins
  • F5 Sites Shared Posts & Uploads Folder
  • F5 Sites MySQL Manager
Posted on Leave a comment

Login Com Facebook e Google: Rede Fnetwork Conectada

Em 2016 iniciei o projeto da FNetwork, foi um retrocesso em muitos termos, o primeiro passo foi unificar todos os usuários de vários projetos num banco de dados único. Para isso todos os sites foram desativados por meses, após conseguir essa unificação tinha disponível somente o formulário padrão de registro do wordpress em cada projeto.

Os usuários do Pomodoros já utilizam de forma “pesada” a integração com o Facebook, sempre soube da importância de se deixar pronto esta integração novamente, mas de que adiantaria apenas um site conectado com o Facebook? Um usuário que logar com o Facebook no Pomodoros terá acesso a todos os nossos serviços, atuais e futuros.

Parte Técnica: Plugin wp-social-login (fork)

Fazemos aqui uma indicação deste excelente plugin para fazer login com redes sociais, nós avaliamos como 5 estrelas no diretório do WordPress. Existe serviços de terceiros que são oferecidos para isso, integração de  sites com redes sociais, com altos custos, basta você pesquisar no Google para perceber que este é um novo filão.

Mas os criadores deste plugin se mantiveram “raíz”, permitindo aos próprios usuários configurarem seus domínios para se conectarem diretamente com os servidores das redes sociais. Ao final, quando tudo corretamente configurado, o usuário clica em um botão e se torna um membro registrado do site.

Como utilizamos uma configuração especial com uso intenso da pasta mu-plugins, já que plugins que são colocados nesta pasta são automaticamente ativados/desativados pelo WordPress. Assim não precisamos entrar no painel, porém, a maioria dos plugins exige uma configuração inicial mínima, por isso fazemos forks de vários plugins, adicionando scripts que se auto-configuram para cada domínio.

Graças a API do Google e Facebook ficou muito fácil configurar vários domínios, já que o mesmo aplicativo permite diversas URLs de retorno. Assim agora temos configurado para nossos domínios o login do Facebook e Google. Com isto esperamos aumentar (e muito) (e muito rápido) nossa base de usuários.

Posted on Leave a comment

Fnetwork: uma aposta na eficiência

A Fnetwork foi uma grande aposta, de alta incerteza e risco, onde não conseguia imaginar o resultado antes de iniciar, poderia resultar num fracasso, algo que quase aconteceu em fevereiro de 2017, quando fiquei em vias de encerrar a Fnetwork porque todos os projetos estavam novamente parados por tempo indeterminado.

Posso dizer que todos os projetos tiveram um ciclo de vida muito curto, já que sempre apareciam motivos pessoais que me impediam de continuar dedicando meu tempo em meus projetos, já que eram uma aposta incerta.

Eu poderia optar por um projeto de cada vez, mas trabalhar no coração da tecnologia era uma aposta na eficiência. Criei um plugin para otimizar o processo de produção de projetos em WordPress, melhorando a gestão de arquivos e banco de dados, chamdo F5 Sites WordPress Shared Posts and Taxonomies.

Posted on Leave a comment

Fnetwork: Buscando a Maturidade

Após anos de intenso trabalho e muitas mudanças nos bastidores antes do lançamento, com sempre a vista de melhoria do serviço, visando aprimorar diversas qualidades tecnológicas, foi-se aprimorado nossos servidores para a mais avançada configuração para lançamento rápido de novos serviços.

Dentro deste novo conceito de agilidade para lançar startups e serviços de TI, buscamos centralizar todos os domínios de projetos no mesmo servidor, compartilhando dados dos usuários, resultando numa configuação técnica aprimorada, então denominada Fnetwork em dezembro de 2017.

Após quase 2 meses de trabalho com essa nova configuração, muitos ajustes para compatibilizar todos os projetos, que eram independentes, para entrarem na Fnetwork, foram realizado e mostrou-se como uma alternativa muita vantajosa, portanto decidimos priorizar seu desenvolvimento e descontinuar todas as outras configurações.

Ainda existe muito trabalho a ser feito para completar essa integração, porém a partir deste momento vamos focar na maturidade desta nova grande rede de projetos denominada Fnetwork.

Posted on Leave a comment

Integração de Contas de Usuários e Blogs da F5 Sites resulta na Fnetwork

Fnetwork é a rede de blogs administrados por Francisco Mat e hospedado na F5 Sites, que nada mais são do que em termos técnicos domínios diferentes operando o mesmo blog, a mesma instalação de WordPress, conteúdo (posts) e usuários, que fazem login e se cadastram em um site e tem acesso a todos, conceito parecido com que as grandes empresas de TI fazem, que oferecem uma conta de usuários e vários serviços diferentes, muitas vezes integrados, e assim aumentam e muito o valor de cada pequeno produto, que já começa com uma grande base de usuários. Naturalmente esse processo ocorreu, foram necessários meses de trabalho para atingir esse formato, porém não foi com o objetivo de imitar outra empresa, mas é uma convergência que por si só habilita uma série de melhorias na gestão de contas, apesar de ser fundamental para um crescimento continuado, é extremamente delicado e complicado de implantar na prática, já que temos muitas alternativas e exigências, assim também oferecemos um sistema de integração baseado em REST e Oauth 1.0, para que de fatos as contas dos usuários possam ser sincronizadas em diversos aplicativos e dispositivos.

A Fnetwork é o resultado de uma iniciativa de avanço tecnológico, um desafio técnico que estimulou a resultou na criação de toda uma rede facilmente expansível e integrada. A partir de um único blog é possível administrar outros blogs localizados em outros domínios, escreve o post uma vez e a publicação é “republicada” automaticamente pela rede.

Esse desafio apresenta possíveis soluções semi-prontas, testadas e levadas até o limite, como a utilização do plugin mainwp, integrado com facebook autopublish e qtranslateX, resultando numa configuração técnica muito boa e veloz. Com esse set de plugin era possível escrever um texto e o mesmo ser copiado em tempo real para os outros blogs, ótimo, mas em pouco tempo aparecer o primeiro problema, na hora de editar o texto, corrigir alguma informação ou erro era preciso alterar em todos os locais diferentes, sendo que havia texto sendo replicado em 4 ou 5 blogs, e como eu erro muito e gosto de ter essa liberdade de poder me corrigir no futuro e manter sempre o post atualizado e com informações quentes e atualizadas, porque diferente de um livro o blog é mais vivo, é atualizado e até mesmo os posts já escritos são corrigidos, assim como capítulos de livros, mas em vez de imprimir tudo de novo já é feito automaticamente.

A disponibilidade da informação é crucial, quanto mais rápido a velocidade de entrega mais disponível sua notícia e conteúdo fica, chegue antes, ou o mais próximo possível da hora certa, e seu leitor terá tempo para decidir qual melhor momento para consumir seu conteúdo. Então essa configuração não atendia essa necessidade de fornecer informação sempre atualizada, eu criei uma solução própria, disponível no github, um plugin denominado f5sites/shared-wp_posts, que permite compartilhar os posts de uma única instalação dentro do mesmo banco de dados por meio da alteração da classe $wpdb e das informações relativas as tabelas MySQL que são consultadas para buscar informações do blog. Porém teve uma contra-partirda não prevista interessante, as páginas, menus, imagens e mídia, tudo acabou compartilhado, então é possível administrar vários blogs ao mesmo tempo de uma única tela, basta escolher a categoria que representa o veículo que pretende utilizar para disponibilizar o conteúdo.

Posted on Leave a comment

Testes Iniciais Na Loja Virtual, Poucas Correções Necessárias

A Loja Virtual está agora com dez produtos cadastrados, foram feitos vários testes com o sistema de cadastro de produtos. Essa etapa é vital para o sucesso da loja, o cadastro de produtos tem que funcionar sem nenhum tipo de erro pois em breve a equipe de vendas vai cadastrar os produtos “pra valer”, teremos centenas de produtos para processar.

Somente com processos muito bem testados e validados para garantir sempre a qualidade de nossas tecnologias, a cada etapa que avançamos procuramos não deixar nenhum serviço inacabado, queremos tudo perfeito para a inauguração.

http://editoradeblogs.com.br/franciscomat/wp-content/uploads/editoradeblogs.com.br/sites/2/2016/10/loja-virtual-em-testes.png

Posted on Leave a comment

Primeiro Produto Cadastrado em Nossa Loja Virtual em Construção

Cadastrar o primeiro produto é uma marca, principalmente para a equipe que está montando a loja, já que o público não tem acesso nesse momento e não pode ver ou comprar os produtos. Esse marco é muito importante porque mostra que a tecnologia está amadurecendo e as metas do projeto estão sendo cumpridas, novos produtos serão cadastrados e em breve faremos a inauguração.

Muitas novidades estão sendo preparadas em relação a tecnologia, prometemos inovar no sistema de entregas, vamos facilitar a vida de nossos clientes, comprar pela internet vai ficar mais fácil do que nunca.

Posted on Leave a comment

Loja Virtual em Construção, Planejando o Lançamento

Estou a frente de um novo projeto de loja virtual, o site está sendo construído, projetado e desenvolvido por mim, Francisco Mat, e envolve uma parceria para hospedagem com a empresa F5 Sites, onde temos seu serviço de hospedagem otimizado para wordpress.

Neste momento a ideia é iniciar as vendas de produtos com um portfólio pequeno,poucos itens, afim de testar e aprimorar a tecnologia e sistemas de pagamentos, principalmente recebendo feedbacks dos primeiros clientes. Pretendo no futuro oferecer tecnologia e suporte para parceiros venderem pela internet.

Este projeto faz parte de um cronograma de lançamentos rápidos do Grupo F, grupo nascente de pesquisa, desenvolvimento e acompanhamento de novos produtos.

Autor: Francisco Mat | franciscomat.com