Como Migrar um Backup do cPanel para o Amazon Lightsail com Segurança

Aprenda a desmembrar um backup completo do cPanel e restaurar arquivos e bancos de dados em uma instância do Amazon Lightsail sem perda de dados.

Como Migrar um Backup do cPanel para o Amazon Lightsail com Segurança

A migração de uma hospedagem compartilhada baseada em cPanel para um servidor em nuvem como o Amazon Lightsail é um passo comum quando uma aplicação exige maior previsibilidade de recursos, redução de custos com licenças e controle total sobre o ambiente operacional. No entanto, um arquivo de backup completo do cPanel (backup-*.tar.gz) não pode ser restaurado no Lightsail com um único clique, já que o Lightsail entrega instâncias Linux limpas ou stacks pré-configuradas sem o painel proprietário da cPanel.

Para realizar essa transição com integridade, é fundamental entender a estrutura do arquivo de backup e adotar um fluxo metódico de descompactação, extração de dados e reconfiguração de serviços.


Anatomia de um Backup do cPanel

Quando você gera um backup completo no cPanel, o arquivo compactado contém muito mais do que apenas o código-fonte do site. Ele reúne:

  • homedir/: Diretório raiz do usuário, onde residem os arquivos públicos (geralmente em public_html).
  • mysql/: Dumps individuais de cada banco de dados no formato .sql ou .sql.gz.
  • Configurações de e-mail, zonas DNS e metadados do painel: Itens que, em sua maioria, não devem ser importados diretamente para o Lightsail para evitar conflitos de caminhos absolutos e permissões legadas.

O segredo de uma migração limpa reside em extrair apenas o que é essencial: a camada de aplicação e a camada de dados.


Boas Práticas de Infraestrutura no Lightsail

1. Escolha da Imagem Base

Ao criar a instância no Amazon Lightsail, você pode optar por uma distribuição Linux pura (como Ubuntu 22.04 LTS) ou uma imagem empacotada pela Bitnami (como WordPress ou LAMP). Em sistemas que desenvolvo e mantenho, prefiro distribuições limpas com Nginx configurado manualmente, pois oferecem controle granular sobre a pilha técnica, menos consumo residual de memória e facilidade na aplicação de políticas de segurança.

2. Separação de Privilégios e Permissões

No cPanel, os arquivos pertencem ao usuário da conta cPanel. Ao migrar para o Lightsail (ex: Ubuntu com Nginx/Apache), a propriedade dos arquivos deve ser atribuída ao usuário do servidor web (geralmente www-data):

bash
sudo chown -R www-data:www-data /var/www/meusite
sudo find /var/www/meusite -type d -exec chmod 755 {} ;
sudo find /var/www/meusite -type f -exec chmod 644 {} ;


Passo a Passo Técnico da Migração

Passo 1: Transferência do Backup para a Instância

Utilize o protocolo SSH (scp ou rsync) para mover o arquivo de backup local ou do servidor antigo diretamente para o Lightsail, evitando transferências desnecessárias pelo navegador:

bash
scp -i sua-chave-lightsail.pem backup.tar.gz ubuntu@ip-do-lightsail:/tmp/

Passo 2: Extração Seletiva dos Arquivos Web

Acesse o servidor via SSH e descompacte especificamente a pasta public_html para o diretório de destino:

bash
cd /tmp
tar -xzvf backup.tar.gz homedir/publichtml
sudo mv homedir/public
html/* /var/www/meusite/

Passo 3: Restauração do Banco de Dados

Localize o dump do banco dentro da pasta mysql gerada pelo backup e importe para o MySQL/MariaDB configurado no Lightsail:

bash
tar -xzvf backup.tar.gz mysql/nomedobanco.sql
sudo mysql -u root -p

No terminal do MySQL, recrie o banco e o usuário correspondente:

sql
CREATE DATABASE bancoproducao CHARACTER SET utf8mb4 COLLATE utf8mb4unicodeci;
CREATE USER ‘usuario
app’@’localhost’ IDENTIFIED BY ‘senhasegura’;
GRANT ALL PRIVILEGES ON banco
producao.* TO ‘usuario_app’@’localhost’;
FLUSH PRIVILEGES;
EXIT;

Execute a importação do arquivo .sql:

bash
mysql -u usuarioapp -p bancoproducao < mysql/nomedobanco.sql

Passo 4: Atualização de Variáveis de Conexão

Edite o arquivo de configuração da sua aplicação (como wp-config.php, .env ou config.php) para refletir o novo nome do banco, usuário e senha definidos na etapa anterior.

Passo 5: Virtual Host e Certificado SSL

Configure o Virtual Host apontando a raiz de documentos (root) para /var/www/meusite. Em seguida, instale um certificado SSL gratuito via Let’s Encrypt utilizando o Certbot:

bash
sudo apt install certbot python3-certbot-nginx
sudo certbot –nginx -d seusite.com.br -d www.seusite.com.br


Validação Pós-Migração

Antes de alterar os apontamentos de DNS (registros A e CNAME), valide o funcionamento da aplicação editando o arquivo hosts da sua máquina local. Isso permite navegar no site rodando dentro do Lightsail sem impactar os usuários em produção.

Verifique:

  • Conexão e escrita no banco de dados;
  • Upload de arquivos de mídia;
  • Rescrita de URLs amigáveis e arquivos .htaccess ou blocos location do Nginx.

Planejando uma Migração sem Downtime?

Migrar estruturas legadas de painéis compartilhados para instâncias gerenciadas em nuvem requer planejamento cuidadoso em relação a permissões, desempenho e segurança de rede. Se a sua empresa precisa de apoio técnico especializado para migrar sistemas, otimizar servidores AWS ou estruturar uma infraestrutura sob medida, entre em contato para uma consultoria técnica dedicada.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.