Hoje em dia quando se fala em Cloud Computing dentro de qualquer realidade é algo que amedronta qualquer desenvolvedor e deixa de cabelo em pé o departamento financeiro.
Pensando nisso, resolvi compartilhar o mais novo serviço que a Amazon colocou em sua prateleira de soluções, com um custo fixo e o mais importante: escalável.
Fique atento, que esta vai ser uma série de posts com algumas das soluções ‘++’ do mercado e as mais comuns entre Startups que estão iniciando as operações.
Vamos falar um pouco sobre o bom e velho WordPress. Primeiro, o que é?
Se trata de um CMS (Content Manager Service); basicamente um gestor de conteúdo onde você pode gerenciar desde um site institucional até um e-commerce mais complexo.
Estima-se que 30% de todos os sites do mundo usam esta ferramenta, que pode ser uma solução excelente para alguns casos ou uma grande dor de cabeça em outros.
Beleza!
Agora, qual a vantagem de migrar o meu site para a AWS?
Vou compartilhar uma experiência real de uma migração que eu indiquei e acabei colocando a “mão na massa” para executar.
Não vou falar em nomes, mas se trata de um caso real de um WordPress com WooCommerce “melindroso” e cheio de regras de negócio, recorrência de pagamentos e tudo mais. Esta aplicação tinha um custo mensal de $80 por mês com servidores, estamos falando em algo em torno de R$ 440,00. Este mesmo ecommerce dentro da Amazon LightSail caiu para $20 por mês!
E sabe o que é mais importante?
Ele está mais performático e custa 75% menos.
Ao total, são $720 em economia por ano.
Agora sem mais rodeios, vamos direto ao ponto.
Como migrar o seu WordPress para o AWS LightSail?
Vou compartilhar passo a passo. Tudo pronto?
INICIANDO COM LIGHTSAIL:
Primeiro você deve criar uma conta na Amazon AWS e acessar o link a seguir:
Clique aqui
Após finalizar o processo de cadastro e inclusão de perfil de pagamento, você deve ir até o painel de serviços e buscar pela opção lightsail.
Selecione a imagem desejável. Neste caso, vamos pegar uma instalação pronta do próprio WordPress em seguida selecione o local da instância, sistema operacional, tipo da imagem e tamanho do volume.
Conforme ilustração a seguir:
Eu particularmente aconselho o volume menor que custa $ 3.5. Além de oferecer 30 dias grátis, é uma excelente opção para avaliar os serviços e simples fazer upgrade. Inclusive, vou ensinar neste post como fazer.
Em seguida crie o nome de sua instância.
Após criar a instância, aguarde a instalação da instância. O processo demora menos de 2 minutos.
ACESSANDO A APLICAÇÃO:
Em seguida, acesse a instância na descrição. Ele vai mostra um número de IP público que pode ser usado para publicar ou até mesmo visualizar a aplicação.
Copie este IP e cole no seu navegador para visualizar a instalação do WordPress:
Nos seguintes passos vamos remover o banner da bitnami.
É importante manter os arquivos de instalação originais do CMS.
Removendo o banner bitnami
Abra o terminal de sua aplicação, clicando no botão Connect using SSH
Em seguida, o seu navegador vai abrir mais uma janela com o terminal:
Em seguida, instrua o seguinte comando:
sudo /opt/bitnami/apps/wordpress/bnconfig — disable_banner 1
Em seguida, vamos migrar os plugins, tema, diretório uploads e o banco de dados:
ACESSO FTP:
Para agilizar e evitar erros, o ideal é comprimir as pastas plugins, theme e uploads do seu servidor ou localhost. Desta maneira fica impossível um arquivo acabar se perdendo no ato de transferir para o servidor.
Acesse o FTP da aplicação e para isto é necessário baixar as chaves de acesso.
Retorne para o painel principal do LightSail acessando a instância que desejada na “aba” Connect, na parte inferior, conforme o print a seguir:
Na última linha clique em Account page. Automáticamente o download de um arquivo com a extensão .pem vai ser iniciado.
Agora configure o FTP (no exemplo estou usando o FileZilla).
Iniciando o FileZilla, no menu superior, clique em Arquivo > Gerenciador de Sites > adicionar novo site.
Em protocolo, use o SFTP;
Em host, adicione o IP de sua instância;
Em usuário, por padrão é sempre bitnami;
Selecione a chave de acesso baixada no passo anterior.
Clique em conectar.
MIGRANDO OS ARQUIVOS:
O endereço remoto é exatamente este: /opt/bitnami/apps/wordpress/htdocs
No diretório wp-content os arquivos zipados: plugin, temas, uploads e arquivos de idioma (caso tenha idiomas extras).
Em seguida, retorne ao terminal e digite os seguintes comandos:
Para navegar até a pasta onde estão os arquivos:
cd /opt/bitnami/apps/wordpress/htdocs
Para remover a pasta de plugins:
sudo rm -rf plugins
Para remover a pasta de temas:
sudo rm -rf themes
Para remover a pasta de uploads:
sudo rm -rf uploads
Em seguida o processo de extração de arquivos .zip:
Para extrair os arquivos zipados plugins:
unzip plugins.zip
Para extrair os arquivos zipados plugins:
unzip plugins.zip
Para extrair os arquivos zipados temas:
unzip themes.zip
Para extrair os arquivos zipados uploads:
unzip uploads.zip
Por fim, vamos alterar as devidas permissões de acessos às pastas:
sudo chmod -R 777 themes
sudo chmod -R 777 plugins
sudo chmod -R 777 uploads
EXPORTANDO O BANCO DE DADOS:
Acesse o wordpress que deseja migrar e faça o download do banco de dados com o auxílio de um plugin, chamado WP Migrate DB — WordPress Migration Made Easy.
Você pode baixar neste link: clique aqui.
Após instalado, o plugin vai estar disponível na dashboard do wordpress em:
Ferramentas > Migrar Banco de Dados
Informe o New URL com o endereço final da aplicação.
Em New file path deve ser adicionado o caminho relativo da instância. Em nosso caso, é o seguinte: /opt/bitnami/apps/wordpress/htdocs
Perfeito! Agora é a hora de exportar a base de dados. Clique em Export, conforme a ilustração a seguir:
IMPORTANDO O BANCO DE DADOS:
Para acessar o banco de dados dentro da aplicação é necessário criar uma Bridge. O acesso em resumo torna ainda mais segura a aplicação e aqui, estou fazendo uso do sistema operacional macOS, com acesso via terminal local.
Abra o terminal. O comando a ser instruído é o seguinte:
sudo ssh -i Downloads/NomeDaSuaChave.pem -L 8888:127.0.0.1:80 bitnami@[IP DE SUA INSTÂNCIA ]
Você vai receber a tela de boas vindas conforme o print a seguir.
Em seguida, acesse pelo navegador o seguinte endereço:
http://127.0.0.1:8888/phpmyadmin
A seguinte tela em seu navegador vai abrir:
Já estamos nos passos finais. Agora, é necessário ter usuário e senha para acessar o banco de dados. O mesmo está informando no arquivo de instalação chamado wp-config.php. Por facilidade, vou usar o nano (um editor de texto nativo do linux).
Instrua o seguinte comando em seu terminal:
sudo nano /apps/wordpress/htdocs/wp-config.php
Procure as seguintes informações:
// ** MySQL settings — You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‘DB_NAME’, ‘bitnami_wordpress’ );
/** MySQL database username */
define( ‘DB_USER’, ‘bn_wordpress’ );
/** MySQL database password */
define( ‘DB_PASSWORD’, ‘SENHADESUAAPLICACAO’ );
Retorne para o navegador e informe as credenciais DB_USER e DB_PASSWORD:
Para fechar o editor aperte as teclas CONTROL + X > Y > ENTER.
Em seguida, clique em importar. Selecione o arquivo .sql exportado pelo plugin WP Migrate DB — WordPress Migration Made Easy no PhpMyAdmin:
Para finalizar, o IP vinculado a aplicação deve ser um IP estático, para ter total controle em sua aplicação.
No painel da Amazon LightSail acesse Networking > Create Static IP
Nomeie o IP estático e vincule a sua instância WordPress.
E pronto! Acesse o IP de sua aplicação caso não encontre. Acesse o serviço conforme o print a seguir.
E pronto, missão cumprida!
E para fazer upgrade, crie um SnapShot ( uma cópia de segurança );
Acesse a instância e localize a “aba” Snapshots conforme ilustração.
Assim que o processo for concluído, você poderá criar uma nova instância a partir de uma imagem, podendo selecionar as configurações que se enquadram melhor a sua necessidade.
- Atenção, não é possível fazer downgrade, portanto escolha com cuidado as configurações.