Criando Servidor Web Linux para WordPress na Digital Ocean
Passo a passo para a criação de um servidor web na Digital Ocean para sites em WordPress.
Trata-se de um Cloud VPS.
Se faz necessário a criação da conta, com os dados básicos e um cartão de crédito internacional ou paypal para pagamento do servidor (Não se trata aqui de um serviço gratuito).
1 – Vamos criar um Droplet [Create Droplet]
Escolher SO Linux Ubuntu 16.04 x64 bits ou Debian 8.10 x64 bits ou inferiores.
Eu escolho o plano de $5 dólares para testes e o mais barato, depois você pode fazer upgrade.
Escolho o DataCenter NY1.
Selecionar a opção de Backup acrescenta 20% no valor do plano, um backup automático por semana.
Informar o nome do servidor (hostname).
Clica em Create e aguarde a criação.
Verifique seu email para pegar os dados de acesso ao servidor.
2 – Acessando seu servidor de uma máquina windows.
Vamos instalar o Putty.exe – http://www.putty.org/
Informe o endereço IP, user, password que foi enviado para o email no momento da criação do droplet.
Usar a port 22 no putty.
Copia a senha e para colar no linux use simplesmente um clique com o botão direito do mouse.
Cole novamente a mesma senha para confirmar.
Digite a nova senha, depois confirme a nova senha. [senha segura, com maiúsculas, minusculas, letras, números]
Pronto, acesso SSH liberado utilizando o putty.
3 – Configurações de DNS
Realizar as configurações de DNS no próprio painel da Digital Ocean, ou uma sugestão é usar o Cloud Flare (nas opções gratuitas).
Usando DNS pela Cloud Flare
https://www.cloudflare.com/br/
Cadastre-se e faça login no Cloud Flare.
Informar o Dominio: meusite.com.br
Criar os Records básicos:
A – Aponta ip para dominio.
AAAA – IPV6
CNAME – Um = a outra coisa.
MX – Emails.
TXT – verificações.
NS – Name Server
Vamos usar: TXT, MX, A, CNAME
Exemplo:
A – @ ou dominio – ip
A – meusite.com.br – 192.xxx.xxx.xx (dados cedidos pela Digital Ocean)
CNAME – name – domain name
CNAME – www ou www.meusite.com.br – meusite.com.br
Obs: Pra rodar o site inicialmente basta os dois acima.
Clica em continue e seleciona o plano Free WebSite e continue.
Copie os DNS gerados, e atualize na sua registradora de dominios (ex: registro.br, godaddy.com, superdominios.org, namecheap.com, etc)
Aguardar algumas horas para ocorrer a propagação do domínio, pode ser que dure até 24h.
Usando DNS pela Digital Ocean
Logar na sua conta da DO e ir na aba Networking – Domains.
Add a Domain:
Informa dominio: meusite.com.br
Informar IP ou selecionar o Droplet (O Droplet que acabamos de criar para hospedar nosso(s) site(s)).
Criar os Records:
A: @ – IP do servidor
NS: ns1.digitalocean.com.
NS: ns2.digitalocean.com.
NS: ns3.digitalocean.com.
CNAME: www – meusite.com.br. (com esse ponto no final – ponto do infinito)
Obs: Copiar os DNS dos três NS, na registradora do domínio, e aguardar a propagação do mesmo. (sem o ponto final)
Um Truque
Esse truque é para ambiente windows, quando vamos migrar um site, e para que o site não fique público antes de todas as atualizações.
Com a ajuda de um notepad++ vamos abrir o arquivo hosts no seguinte endereço:
C:\Windows\System32\drivers\etc\hosts
O arquivo gerencia os hosts.
vamos abrir o arquivo, colocar o ip [espaço] dominio.
ex:
198.178.78.199 meusite.com.br
198.178.78.199 www.meusite.com.br
Assim se o site estiver em um servidor antigo [ip antigo] e estivermos migrando para um servidor novo [ip novo], com esse truque podemos alternar os ips que a nossa máquina local irá enxergar qual endereço de ip do dominio que estamos trabalhando, deixando o site antigo no ar enquanto vamos criando o site novo.
Configurando o Servidor
Iremos instalar um serviço de páginas web chamado NGINX, outra solução seria o Apache.
Iremos instalar o PHP 7 ou superior e MySQL 5.6 ou superior/ ou MariaDB 10.0 ou superior, que são requisitos para a instalação do WordPress.
E Instalar o Easy engine, uma aplicação para configuração de servidores VPS para wordpress. Com ele iremos instalar todos os serviços acima citados.
E vamos ser minimalista com o que iremos instalar no servidor, o deixando o mais enxuto possível para não perder o desempenho.
Referências:
https://br.wordpress.org/
http://mariadb.org/
https://www.mysql.com/
https://www.nginx.com/
https://easyengine.io/
Primeiras Configurações
Vamos acessar o servidor através do putty [SSH].
Seguiremos o passo a passo na seguinte ordem:
1 – Atualização do sistema linux do servidor.
apt-get update -y && apt-get upgrade -y apt-get dist-upgrade -y
2 – Instalando o Sudo
apt-get install sudo
3 – Instalando o EasyEngine
wget -qO ee rt.cx/ee && sudo bash ee
Ao final desse processo, pode ser pedido o cadastro do Nome e do Email.
Instalação do WordPress
Com o Easy Engine instalado, agora vamos criar um site wordpress através do seguinte comando:
ee site create seusite.com.br --wp
Com esse comando o Easy Engine vai criar o seu site inicial do wordpress, já com
banco de dados e tudo que é necessário para o site.
Após o processo de instalação, no terminal do putty, ele vai nos fornecer os dados de
acesso ao site, é muito importante que você copie esses dados e cole em um bloco de
notas e salve em uma pasta para não esquecer o seu acesso.
Os dados que ele irá lhe fornecer será parecido com esses:
HTTP Auth User Name: ********
HTTP Auth Password : *******
WordPress admin user : *******
WordPress admin user password : *********
Alguns Comandos do Easy Engine
Aqui está o link da página oficial explicando alguns comandos do Easy Engine.
https://easyengine.io/docs/commands/
Mas vamos a alguns comandos que iremos utilizar bastante em nosso servidor.
1 – Para limpeza de cache no servidor
ee clean –all
2 – Instalação de alguns utilitários
ee stack install –utils
3 – Para alterar a senha do site WordPress
ee site update meusite.com.br –pass (informe o seu usuario, e cadastre a nova senha)
4 – Informações do Servidor
ee site info meusite.com.br (mostra informações do PHP, banco de dados, SSL, etc)
5 – Lista todos os sites do servidor
ee site list
Acesso FTP as pastas do site
Se for necessário copiar dados de um site já existente para o nosso servidor, ou mesmo acessar algumas páginas do site novo para fazer uma configuração, iremos fazer isso através de FTP.
Vamos primeiro executar esses dois comando no servidor para nos dar permissão de acesso a algumas pastas e arquivos no nosso novo site. Isso vai fazer com que não tenhamos problemas ao subir arquivos novos paras as pastas, ou para instalar plugins do wordpress em nosso site.
chown -R www-data:www-data /var/www/meusite.com.br/htdocs
chmod -R g+rw /var/www/meusite.com.br/htdocs
Agora vamos instalar nosso aplicativo de FTP, o Filezilla Client.
https://filezilla-project.org/download.php?show_all=1
Após baixar e instalar o FileZilla, vá no menu Arquivo, opção Gerenciador de Sites.
Clique em Novo Site, e coloque o nome do Site.
Host: Coloque o IP criado na Digital Ocean
Porta: 22
Protocolo: SFTP – SSH File Transfer Protocol
Tipo de Logon: Normal.
Usuário: root
Senha: a senha cadastrada
Para ver os arquivos do site, vá no caminho:
/var/www/meusite.com.br/htdocs
Instalando o PhpMyAdmin
Para a instalação e configuração do PhpMyAdmin vamos executar os seguintes comandos:
ee secure --auth (Para a autenticação segura no HTTP)
Cadastre o usuário, ou deixe o sugerido, cadastre a senha ou deixa a sugerida.
Anote esses dados em um bloco de notas para não esquecer.
ee stack install --phpmyadmin (Para a instalação de fato do PHPMyAdmin)
A partir desse momento já podemos acessar o PHPMyAdmin pelo seu navegador, através do link:
meusite.com.br/pma
ou
meusite.com.br:22222/db/pma
Informe o usuário e senha da autenticação que cadastramos no primeiro comando.
Agora conseguimos ver a tela inicial de login do PHPMyAdmin, mas precisamos informar o
usuario e senha para acessar.
Para pegar os dados de usuario e senha, vamos verificar em um arquivo em nosso servidor,
através do comando:
nano /etc/mysql/conf.d/my.cnf (CTrl + X - para sair do arquivo)
Caso ao acessar o PHPMyadmin esteja ocorrendo algum erro, tente:
Instalar o Composer:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Execute mais esses dois comandos:
cd /var/www/22222/htdocs/db/pma/ composer install --no-dev
Tente acessar novamente, e colocar o usuario e senha.
Desempenho do seu Site
Sites para verificar métricas de desempenho:
https://developers.google.com/speed/pagespeed/insights/
https://gtmetrix.com/
http://tools.pingdom.com/fpt/
Plugins WordPress interessantes para desempenho:
Cache
W3 Total Cache – ee site update meusite.com.br –w3tc (instalar via EasyEngine)
Obs: Não usar mais o W3 Total Cache, substituir pelo Cache FastCgi
Cache FastCgi – ee site update meusite.com.br –wpfc
Obs: Ele vai criar o plugin Nginx Helper, caso ele instale junto o plugin do W3TC, exclua apenas ele.
Com o Nginx Helper, ele não faz o cache, o intuito dele é limpar o cache, em suas configurações devemos colocar:
-Marcar Enable Purge.
– No Caching Method: Marcar a opção correta que você instalou, FastCgi ou Redis.
– Verificar em Purging Conditions, as condições em que ele vai fazer a limpeza de cache automática.
– Botão vermelho – Purge Entire Cache, serve para fazer a limpeza de forma manual, porém é melhor fazer o comando: ee clean –all, pelo SSH.
Outra opção de Cache:
Redis Cache – ee site update seudominio.com –wpredis
Obs: Ideal para o servidor com um site apenas, e para sites maiores.
O comando: ee clean –all (esvazia todos os caches de uma vez do servidor)
Otimização de Imagens
Para ter cuidados com os tamanhos de imagens inseridos no site, o ideal é enxugar o tamanho dessas imagens ao máximo e que fique com uma qualidade boa no seu site para evitar demora do carregamento das mesmas.
Plugin: EWWW Image Optimizer
Obs: Após realizar os procedimentos com as imagens, realizar a limpeza de cache pelo comando do EasyEngine.
O comando: ee clean –all (esvazia todos os caches de uma vez do servidor)
Configurar Memória do WordPress
Por padrão a instalação do WordPress instala 64M de memória, vamos alterar para 128M.
Através do FTP, e com a ajuda do Notepad++, vamos alterar o arquivo default-constants.php que fica na seguinte pasta: /var/www/meusite.com.br/htdocs/wp-includes
// Define memory limits.
if ( ! defined( ‘WP_MEMORY_LIMIT’ ) ) {
if ( false === wp_is_ini_value_changeable( ‘memory_limit’ ) ) {
define( ‘WP_MEMORY_LIMIT’, $current_limit );
} elseif ( is_multisite() ) {
define( ‘WP_MEMORY_LIMIT’, ’64M’ );
} else {
define( ‘WP_MEMORY_LIMIT’, ’40M’ );
}
}
Nas linhas define( ‘WP_MEMORY_LIMIT’, ’64M’ ) e define( ‘WP_MEMORY_LIMIT’, ’40M’ );
alterar para: define( ‘WP_MEMORY_LIMIT’, ‘128M’ );
Obs: Toda vez que você atualiza o WordPress, ele vai voltar a configuração para 64M, e será necessário fazer o procedimento novamente. Para evitar isso podemos fazer a seguinte inclusão no arquivo wp-config.php que fica em /var/www/meusite.com.br
No final do arquivo, após a opção: define(‘WP_DEBUG’, false);
incluir: define( ‘WP_MEMORY_LIMIT’, ‘128M’ );
Instalação do PHP 7
ee site update meusite.com.br --php7
ee site update meusite.com.br –php7=off (desativa o PHP 7)
ee site update meusite.com.br –php7=on (ativa o PHP 7)
Manificação
Manificação é enxugar e compactar os javascripts e CSS’s do nosso site.
Primeiro passo é eliminar plugins wordpress desnecessários e que não estejamos usando.
Plugin: Speed Booster Pack (Usar com cuidado este plugin, ideal para servidores com mais memória, pois o plugin é um pouco pesado e pode fazer o feito contrário)
Não usar temas muito pesados.
Recursos Externos
Recursos externo seriam plugins externos, como plugins para redes sociais, por exemplo, e algumas requisições são externas ao seu site, tornando uma dependência e podendo deixar lento até receber a resposta. Cuidado!
Outros Recursos no servidor
Criando subDomínios
ee site create subdominio.meusite.com.br –wpfc
(cria um outro site, outra instalação do
wordpress, que pode ser um blog, loja, curso, etc, em um subdominio).
Ex. loja.meusite.com.br
Anote os dados de usuario e senha que foram disponibilizados, afina é um site novo.
Obs: configurar os DNS para reconhecer os subdominios.
Record A:
loja – IP (cloud flare)
Record: CNAME
www.loja – IP (cloud flare)
Criando outros tipos de Domínios
ee site create meusite.com.br –wp (Assim criamos nosso primeiro site WordPress)
ee site create meusite.com.br –html (Sites em HTML puro)
ee site create meusite.com.br –php (Sites em PHP puro, sem wordpress)
ee site create meusite.com.br –mysql (Sites em PHP puro com banco de dados MySQL, sem wordpress)
Deletando Domínios
ee site delete meusite.com.br
Artigo excelente.
Realmente muito completo para quem tem interesse em usar uma VPS juntamente com o Easyengine para instalar o WordPress. Parabéns
William
Valeu William. Eu crio mais pra mim, como forma de refazer o processo depois se eu precisar… tanto que nesse nao tive saco de colocar imagens como em outros artigos… mas espero que tenha ajudado… nao estou mais usando o Easy Engine nos meus sites, porque ele está desatualizado e ficou sem suporte e atualizações novas.
Fala Haylson! Quanto tempo. Tudo bem com você. Disse que não está usando mais o Easyengine, qual plataforma está usando agora? Voltou para as pilhas LEMP/LAMP ou está usando algum outro script de automação de instalação do WordPress? Obrigado
Fala mano, só vi agora seu comentário… estou usando o Wordops que é bem mais fácil e mais automatico que o EasyEngine…. Na verdade o EasyEngine foi descontinuado e não tem mais suporte da comunidade, aí surgiu o Wordops feito tbem pela comunidade e por algumas pessoas que estavam no projeto do EasyEngine… Dá uma olhada no site, a documentação é bem intuitiva… https://wordops.net/
abraço.