Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Migrar site do cPanel para Plesk sem perder dados

16 min de leitura  ·  Guia técnico

Migrar site do cPanel para o Plesk é o processo de transferir arquivos, bancos de dados, emails e configurações DNS de um servidor gerenciado pelo cPanel para um ambiente Plesk, preservando todos os dados. Para executar a migração sem perda de dados, siga estes passos:

  1. Reduza o TTL dos registros DNS para 300 segundos com antecedência
  2. Exporte o banco de dados MySQL com mysqldump no servidor cPanel
  3. Transfira os arquivos do site via rsync ou SFTP para o Plesk
  4. Importe o banco de dados e recrie o usuário no Plesk
  5. Migre as caixas de email copiando os arquivos Maildir
  6. Atualize os registros DNS (A, MX, SPF, DKIM, DMARC) e valide o ambiente

Pré-requisitos para migrar do cPanel para o Plesk

  • Acesso root SSH ao servidor cPanel de origem e ao servidor Plesk de destino
  • Plesk Obsidian 18.x ou superior instalado no servidor de destino (AlmaLinux 9 ou Rocky Linux 9 recomendado)
  • cPanel/WHM versão 110 ou superior no servidor de origem
  • MySQL 8.0 ou MariaDB 10.6+ em ambos os servidores
  • Espaço em disco no destino equivalente a pelo menos 1,5x o tamanho total dos dados de origem
  • Cliente SSH como openssh-client e utilitários rsync, mysqldump e imapsync disponíveis
  • TTL dos registros DNS reduzido para 300 segundos com pelo menos 24 horas de antecedência
  • Backup completo do servidor cPanel antes de iniciar qualquer etapa

Etapa 1: preparar o ambiente Plesk e reduzir o TTL do DNS

Antes de iniciar a transferência de dados, a preparação do ambiente Plesk é fundamental para garantir que a migração do cPanel ocorra sem interrupções. Acesse o painel Plesk, crie a assinatura (subscription) para o domínio que será migrado e configure o plano de hospedagem com os recursos equivalentes ao ambiente de origem.

No servidor cPanel, acesse o gerenciador de DNS (WHM > DNS Zone Editor ou o painel do registrador) e reduza o TTL de todos os registros do domínio para 300 segundos. Isso garante que, ao alterar os IPs, a propagação ocorra em poucos minutos em vez de horas.

; Exemplo de zona DNS com TTL reduzido
$TTL 300
dominio.com.br.  IN  A     203.0.113.10
dominio.com.br.  IN  MX 10 mail.dominio.com.br.
mail             IN  A     203.0.113.10

Aguarde pelo menos o tempo do TTL anterior (geralmente 3600 segundos) antes de prosseguir, para garantir que os resolvers em cache já adotaram o novo TTL reduzido. Consulte o artigo Como Configurar DNS Personalizado para Seu Domínio na AviraHost para detalhes sobre gerenciamento de zonas DNS.

Etapa 2: exportar o banco de dados MySQL do cPanel

A exportação consistente do banco de dados é a etapa mais crítica na transferência de dados entre painéis de hospedagem. No servidor cPanel, conecte-se via SSH como root e execute o mysqldump com as flags adequadas para garantir integridade transacional.

Atenção: o comando abaixo bloqueia leituras temporariamente em tabelas MyISAM. Para bancos InnoDB, a flag --single-transaction evita locks. Certifique-se de que nenhuma escrita crítica está ocorrendo durante o dump.

mysqldump -u root -p \
  --single-transaction \
  --routines \
  --triggers \
  --default-character-set=utf8mb4 \
  nome_do_banco > /root/backup_banco.sql

Output esperado ao concluir sem erros:

-- Dump completed on 2024-11-15 14:32:07

Verifique o tamanho do arquivo gerado para confirmar que o dump não está vazio:

ls -lh /root/backup_banco.sql
-rw-r--r-- 1 root root 48M Nov 15 14:32 /root/backup_banco.sql

Para bancos com múltiplos schemas, repita o processo para cada banco de dados associado ao domínio. Você pode listar todos os bancos do usuário cPanel com:

mysql -u root -p -e "SHOW DATABASES LIKE 'usuario_%';"

Consulte também o artigo Conectando remotamente ao MySQL - cPanel para entender a estrutura de usuários e permissões no cPanel antes de exportar.

Etapa 3: transferir arquivos do site via rsync para o Plesk

A sincronização de arquivos entre servidores é mais eficiente com rsync do que com FTP tradicional, pois transfere apenas diferenças e preserva permissões. No servidor cPanel, os arquivos do site ficam em /home/usuario/public_html/. No Plesk, o destino padrão é /var/www/vhosts/dominio.com.br/httpdocs/.

Execute o comando abaixo a partir do servidor Plesk (destino), puxando os arquivos do cPanel (origem):

rsync -avz --progress \
  -e "ssh -p 22" \
  root@IP_CPANEL:/home/usuario/public_html/ \
  /var/www/vhosts/dominio.com.br/httpdocs/
sending incremental file list
./
index.php
wp-config.php
wp-content/uploads/2024/10/imagem.jpg
...
sent 512,345,678 bytes  received 12,345 bytes  8,234,567.89 bytes/sec
total size is 510,000,000  speedup is 1.00

Após a transferência, ajuste as permissões dos arquivos para o usuário do Plesk:

chown -R dominio.com.br:psacln /var/www/vhosts/dominio.com.br/httpdocs/
find /var/www/vhosts/dominio.com.br/httpdocs/ -type d -exec chmod 755 {} \;
find /var/www/vhosts/dominio.com.br/httpdocs/ -type f -exec chmod 644 {} \;

Se preferir usar SFTP com interface gráfica, o FileZilla como software FTP da hospedagem é uma alternativa acessível para transferências manuais de arquivos menores.

Etapa 4: importar o banco de dados no servidor Plesk

Com o dump SQL em mãos, o próximo passo é recriar o banco de dados e o usuário no Plesk, garantindo que o charset seja idêntico ao da origem para evitar problemas de encoding com caracteres especiais do português.

No servidor Plesk, acesse o MySQL como root e execute:

mysql -u root -p
CREATE DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'usuario_banco'@'localhost' IDENTIFIED BY 'senha_segura';
GRANT ALL PRIVILEGES ON nome_do_banco.* TO 'usuario_banco'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Importe o dump gerado anteriormente:

mysql -u root -p nome_do_banco < /root/backup_banco.sql

Verifique se as tabelas foram importadas corretamente:

mysql -u root -p -e "USE nome_do_banco; SHOW TABLES;"
+---------------------------+
| Tables_in_nome_do_banco   |
+---------------------------+
| wp_commentmeta            |
| wp_comments               |
| wp_options                |
| wp_posts                  |
| wp_users                  |
+---------------------------+

Após importar, atualize as credenciais no arquivo de configuração da aplicação. Para WordPress, edite o wp-config.php:

define('DB_NAME', 'nome_do_banco');
define('DB_USER', 'usuario_banco');
define('DB_PASSWORD', 'senha_segura');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');

Etapa 5: migrar emails do cPanel para o Plesk sem perder mensagens

A migração de caixas de email é frequentemente negligenciada, mas é essencial para preservar o histórico de mensagens dos usuários. O cPanel armazena os emails no formato Maildir em /home/usuario/mail/dominio.com.br/caixa/. O Plesk usa um caminho diferente, geralmente /var/qmail/mailnames/dominio.com.br/caixa/Maildir/.

Primeiro, recrie as contas de email no Plesk via painel ou via CLI:

plesk bin mail --create [email protected] -passwd 'senha_email' -mailbox true

Em seguida, copie os arquivos Maildir do cPanel para o Plesk:

rsync -avz --progress \
  -e "ssh -p 22" \
  root@IP_CPANEL:/home/usuario/mail/dominio.com.br/caixa/ \
  /var/qmail/mailnames/dominio.com.br/usuario/Maildir/

Ajuste as permissões para o usuário de email do Plesk:

chown -R popuser:popuser /var/qmail/mailnames/dominio.com.br/usuario/Maildir/

Para validar a integridade antes de alterar o MX, configure um cliente IMAP (Thunderbird, por exemplo) apontando diretamente para o IP do servidor Plesk e confirme que as mensagens aparecem corretamente. Somente após essa validação altere os registros MX.

Etapa 6: atualizar registros DNS e validar o ambiente no Plesk

Com todos os dados migrados e validados no servidor Plesk, chegou o momento de atualizar os registros DNS para apontar para o novo servidor. Esta etapa determina o início do downtime real, que com TTL de 300 segundos fica entre 5 e 30 minutos.

Atualize os seguintes registros no painel do registrador de domínio ou no servidor DNS autoritativo:

  • Registro A: aponte para o IP público do servidor Plesk
  • Registro MX: aponte para o hostname do servidor de email Plesk (ex: mail.dominio.com.br)
  • Registro SPF: atualize para incluir o IP do novo servidor (v=spf1 ip4:NOVO_IP include:_spf.dominio.com.br ~all)
  • Registro DKIM: gere novo par de chaves no Plesk (Mail > DKIM) e publique o registro TXT
  • Registro DMARC: mantenha ou ajuste a política conforme necessário
  • Registros CNAME de subdomínios: atualize cada subdomínio ativo

Após alterar os registros, monitore a propagação com:

watch -n 30 "dig +short dominio.com.br A"
203.0.113.50

Quando o IP retornado for o do servidor Plesk, acesse o site pelo navegador e verifique os logs do Plesk para confirmar que as requisições estão chegando corretamente:

tail -f /var/www/vhosts/dominio.com.br/logs/access_log

Ative o SSL/TLS no Plesk para o domínio (Websites & Domains > SSL/TLS Certificates > Let's Encrypt) e configure o redirecionamento HTTP para HTTPS. Para detalhes sobre esse processo, consulte Como redirecionar um site HTTP para HTTPS.

Usando o Plesk Migrator para automatizar a transferência

O Plesk Migrator é uma extensão oficial que automatiza parte do processo de importação a partir de servidores cPanel ativos, sendo uma alternativa à migração manual para ambientes com muitos domínios. Instale a extensão no servidor Plesk de destino:

plesk bin extension --install panel-migrator

Após a instalação, acesse Extensions > Panel Migrator no Plesk e configure a conexão SSH com o servidor cPanel de origem. O Migrator transfere automaticamente arquivos, bancos de dados e contas de email, mas exige que o servidor cPanel esteja acessível via SSH durante todo o processo.

Atenção: o Plesk Migrator não importa arquivos de backup .tar.gz gerados pelo cPanel via interface gráfica. Ele requer acesso SSH direto ao servidor de origem. Se o servidor cPanel não estiver mais acessível, a migração manual descrita nas etapas anteriores é o caminho correto.

Limitações conhecidas do Plesk Migrator:

  • Não migra configurações personalizadas do Apache/Nginx do cPanel
  • Não transfere cron jobs automaticamente — recrie-os manualmente no Plesk
  • Certificados SSL do cPanel não são transferidos; emita novos via Let's Encrypt no Plesk
  • Regras de .htaccess específicas do cPanel podem precisar de ajuste para o ambiente Plesk

Problemas comuns e como resolver

Sintoma: site exibe erro 500 após migração para o Plesk

Causa: permissões incorretas nos arquivos ou diretórios transferidos via rsync, ou configurações do .htaccess incompatíveis com a versão do Apache no Plesk.
Solução: verifique os logs de erro em /var/www/vhosts/dominio.com.br/logs/error_log. Corrija permissões com find /var/www/vhosts/dominio.com.br/httpdocs/ -type f -exec chmod 644 {} \; e revise o .htaccess para remover diretivas exclusivas do cPanel como suPHP_ConfigPath.

Sintoma: banco de dados importado com caracteres corrompidos (encoding errado)

Causa: o dump foi gerado sem especificar o charset, resultando em conversão incorreta de caracteres especiais do português (ã, ç, é).
Solução: regenere o dump com --default-character-set=utf8mb4 e reimporte. Se o banco já foi importado, execute ALTER DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; e converta as tabelas afetadas individualmente com ALTER TABLE tabela CONVERT TO CHARACTER SET utf8mb4;.

Sintoma: emails não chegam após atualizar o registro MX

Causa: o registro SPF não foi atualizado para incluir o IP do novo servidor Plesk, fazendo com que servidores remotos rejeitem as mensagens como spam ou falha de autenticação.
Solução: verifique o SPF atual com dig TXT dominio.com.br e atualize o registro para incluir o IP do servidor Plesk. Aguarde a propagação e teste com ferramentas como MXToolbox. Confirme também que o DKIM foi gerado e publicado corretamente no Plesk.

Sintoma: cron jobs pararam de funcionar após a migração

Causa: os cron jobs configurados no cPanel não são transferidos automaticamente para o Plesk, nem pelo Plesk Migrator.
Solução: liste os cron jobs do usuário no servidor cPanel com crontab -l -u usuario, copie as entradas e recrie-as no Plesk via Websites & Domains > Scheduled Tasks ou diretamente no crontab do sistema no servidor Plesk.

Perguntas frequentes sobre migrar do cPanel para o Plesk

É possível migrar do cPanel para o Plesk sem downtime?

Sim, é possível minimizar o downtime propagando o DNS somente após validar o ambiente no Plesk. O processo envolve copiar arquivos, banco de dados e emails antes de alterar os registros DNS, mantendo o site antigo ativo durante a transição. O downtime real fica restrito ao tempo de propagação DNS, geralmente entre 5 e 30 minutos com TTL reduzido para 300 segundos.

O Plesk consegue importar backups gerados pelo cPanel?

O Plesk não importa nativamente arquivos .tar.gz gerados pelo cPanel via interface gráfica. A migração recomendada é manual: exportar banco de dados com mysqldump, transferir arquivos via rsync ou SFTP, e recriar contas de email no Plesk. Existe também o Plesk Migrator, uma extensão oficial que automatiza parte do processo a partir de servidores cPanel ativos com acesso SSH disponível.

Como migrar emails do cPanel para o Plesk sem perder mensagens?

Exporte as caixas de email do cPanel copiando diretamente os arquivos Maildir localizados em /home/usuario/mail/. No Plesk, recrie as contas de email e importe os arquivos Maildir para o diretório correspondente em /var/qmail/mailnames/. Confirme a integridade com um cliente IMAP apontando diretamente para o IP do servidor Plesk antes de alterar o registro MX.

Quais registros DNS precisam ser atualizados após migrar do cPanel para o Plesk?

Os registros essenciais são: A (apontando para o IP do novo servidor Plesk), MX (para o servidor de email correto), SPF, DKIM e DMARC (para autenticação de email). Se o domínio usa subdomínios, cada registro CNAME ou A correspondente também deve ser atualizado. Reduza o TTL para 300 segundos antes da migração para acelerar a propagação e minimizar o impacto.

O banco de dados MySQL migrado do cPanel funciona normalmente no Plesk?

Sim, desde que o dump seja gerado com mysqldump incluindo a flag --single-transaction para consistência, e importado no MySQL do servidor Plesk com o mesmo charset (geralmente utf8mb4). Recrie o usuário do banco no Plesk com as mesmas permissões e atualize as credenciais no arquivo de configuração da aplicação, como wp-config.php, .env ou config.php.

Conclusão

  • Reduza o TTL com antecedência: configure o TTL para 300 segundos pelo menos 24 horas antes da migração para garantir propagação rápida no momento da virada.
  • Valide antes de virar o DNS: teste o site, banco de dados e emails apontando diretamente para o IP do servidor Plesk antes de alterar qualquer registro DNS público.
  • Documente e recrie configurações manuais: cron jobs, regras de .htaccess específicas do cPanel e certificados SSL precisam ser recriados manualmente no Plesk após a migração.

Leia também

Precisa de ajuda com migração de cPanel para Plesk?

Migrar entre painéis de hospedagem envolve múltiplas camadas — arquivos, banco de dados, email e DNS — e cada detalhe mal configurado pode resultar em downtime ou perda de dados. A AviraHost oferece planos de hospedagem com suporte técnico especializado para auxiliar em migrações complexas.

Conheça os planos de hospedagem da AviraHost

  • 0 Os usuários acharam isso útil
  • cPanel, Plesk, migração, hospedagem, AviraHost
Esta resposta foi útil?

Artigos Relacionados

Guia Completo: Como escolher o melhor plano de hospedagem para o seu site

Escolher o plano de hospedagem ideal para o seu site é fundamental para garantir seu bom...

Lista Prática: 5 Vantagens de ter SSL gratuito no seu site

Ter um certificado SSL no seu site não é apenas uma questão de segurança, mas também uma...

Comparativo: Hospedagem de sites vs. VPS: qual é a melhor opção?

Quando se trata de escolher entre hospedagem compartilhada ou VPS, as opções variam de acordo...

Dicas de Otimização de Servidores Linux

Dicas de Otimização de Servidores Linux Servidores Linux são amplamente utilizados por sua...

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online...