Ferramentas devops para hospedagem WordPress em VPS

Falamos um pouco sobre tipos de hospedagem para WordPress, explicando como funciona cada um. Acredito que as hospedagens em servidores virtuais (VPS) têm o melhor custo benefício. Apesar disso elas têm também a desvantagem de não serem gerenciadas, sendo nós responsáveis por todo o sistema.

Vamos então falar sobre algumas ferramentas que ajudam nessa hora, facilitando a instalação e configuração de sites WordPress em servidores virtuais

Existem hoje vários provedores de hospedagem em servidores VPS, tanto lá fora como aqui no Brasil. Empresas como a Digital Ocean, Linode e mesmo a Amazon AWS têm opções a partir de apenas U$ 5 por mês. Apesar de ficarmos à mercê das variações do dólar, o serviço ainda pode valer muito a pena.

Mas outra desvantagem é que em geral estes serviços não são gerenciados, então somos os responsáveis por manter o sistema atualizado, desde o servidor HTTP até o MySQL, sem se esquecer do PHP.

Com uma dessas três opções de ferramentas, Easy Engine, WordOps ou Webinoly, a configuração do servidor e criação de sites fica bem mais fácil.

Sistema

Existem inúmeros tutoriais por aí sobre como configurar o servidor, então não entraremos neste quesito. Mas para deixar bem claro:

AVISO

Com grandes poderes vem grande responsabilidade. Você será também o responsável por manter seu site seguro e por protegê-lo de ataques. Se não tem nenhuma noção do que está fazendo, procure ajuda de um profissional

As ferramentas apresentadas são desenvolvidas para Linux, mais especificamente Ubuntu/Debian, e devem ser usadas pela linha de comando (CLI). Apesar da linha de comando não ser nenhum bicho de sete cabeças, é bom ter ao menos uma noção de como se virar.

Instalações e atualizações

As três ferramentas apresentadas se encarregam da instalação dos servidores de HTTP (Nginx), MySQL (MariaDB) e PHP, além das outras dependências necessárias para o funcionamento dos sites.

Atualizações, porém, ficam por conta do sysadmin (você :-D). Outras configurações de segurança, como firewall, também.

Firewall

A primeira coisa que devemos procurar para manter o site seguro é o Firewall, liberando apenas as portas necessárias para o funcionamento do site. UFW (Uncomplicated Firewall) é bem simples de configurar e existem inúmeros tutoriais para isso.

Dados os avisos, vamos às opções que temos:

Easy Engine

Comandos de instalação do Easy Engine
A facilidade do Easy Engine

Easy Engine, ou ee, surgiu como uma ferramenta em Python para instalação e configuração de sites em WordPress com inúmeras opções para um site rápido. Na época pré-PHP7 HHVM era a melhor opção. A ferramenta foi toda reescrita na versão 4 e só há opções para PHP7 ou HTML.

Com o ee pode-se instalar:

  • Site em WordPress com cache redis;
  • Site em WordPress multisite com subdiretório ou subdomínio;
  • Site em PHP (sem WordPress);
  • Site em HTML;
  • Certificados SSL com Let’s Encrypt (incluseive usando wildcard);
  • Certificados auto-assinados, para desenvolvimento local.

Na versão 4 a configuração foi alterada de servidores virtuais no Nginx para compartimentos Docker. Hoje funciona com um compartimento global, com proxy e MySQL. Esse compartimento recebe o tráfego e direciona para os compartimentos individuais, onde estão os arquivos do site.

A versão 4 ainda precisa ter algumas arestas aparadas. Não é possível por exemplo ter mais de um certificado para o mesmo site, então quem quiser usar WordPress Multisite com mapeamento de domínios vai precisar dar um jeitinho com certificados do Cloudflare.

A configuração compartimentada adiciona mais segurança, principalmente para quem usa o ee como um “mini provedor de hospedagem” para mais de um cliente. Ao mesmo tempo acrescentou um outro tanto de complexidade.

Vantagens

  • Grande comunidade;
  • Teoricamente mais segurança por separar os sites em container;
  • Facilidade para desenvolvimento local (ubuntu e mac).

Desvantagens

  • Alguns detalhes não funcionam, como mais de um certificado por domínio;
  • Maior complexidade com compartimentos Docker.

WordOps

Animação de instalação de um site com WordOps
Criando um site com WordOps

Wordops, uma corruptela de devops para WordPress, é um fork da versão 3 do ee. Ainda usa o esquema de servidores virtuais no Nginx, e deu uma limpeza nas opções existentes. Saíram as seguintes opções disponíveis no ee 3: servidor de email, PHP anterior a 7.2, HHVM e a instalação automática do plugin W3 Total Cache.

Opções de instalação:

  • Site em WordPress com cache em fastcgi ou redis;
  • Site em WordPress multisite com subdiretório ou subdomínio;
  • Site em HTML;
  • Site em PHP (sem WP) com ou sem MySQL;
  • Site usando Nginx como proxy reverso;
  • Certificados SSL Let’s Encrypt.

É possível fazer uma atualização da versão 3 do ee para o WordOps, mantendo-se as configurações instaladas no servidor. O WordOps funciona com servidores virtuais, não usa Docker.

Vantagens

  • Maior simplicidade com o uso de servidores virtuais;
  • Traz a bagagem das versões anteriores do Easy Engine.

Desvantagens

  • Desenvolvimento local só com Debian/Ubuntu;
  • Comunidade menor que ee.

Webinoly

Comandos disponíveis para instação de sites com o Webinoly
Comandos do Webinoly

Webinoly é uma outra ferramenta, um pouco menos conhecida, mas também fácil de usar e com muitas opções. Passei a usar Webinoly porque com ele é possível ter mais de um certificado de segurança para o mesmo site. Isto facilita o uso de WordPress multisite, com um certificado para o site principal e certificados secundários para os outros sites. Foi o que me levou a escolher o Webinoly recentemente.

Por padrão todos os sites WordPress criados têm o wp-admin protegido por HTTPAuth. Por isso, logo depois de instalar o site é preciso criar o usuário e senha. Não é um recurso infalível de segurança, mas é bem útil pra manter os bots afastados.

Com Webinoly é possível instalar:

  • Site em WordPress;
  • Site em WordPress Multisite com subdomínios ou subdiretórios;
  • Site em HTML;
  • Site em PHP (sem WordPress);
  • Site com Nginx como proxy reverso;
  • Certificados SSL com Let’s Encrypt (inclusive para WordPress multisite com mapeamento de domínios).

Vantagens

  • Simplicidade da instalação com servidores virtuais;
  • Proteção do wp-admin por HTTPAuth;
  • Opções de múltiplos certificados por site para WordPress multisite.

Desvantagens

  • Menos conhecido, por isso tem uma comunidade menor que o ee;

Conclusão

As três ferramentas são grandes mãos na roda para quem quer hospedar seu site em VPS. São em geral bem parecidas em relação ao objetivo final e a escolha fica por questão de gosto pessoal.

Escolha a sua e mãos à obra, lembrando sempre de proteger seu servidor e seu site, mantendo-os atualizados.

Fala aí!