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:
- Reduza o TTL dos registros DNS para 300 segundos com antecedência
- Exporte o banco de dados MySQL com
mysqldumpno servidor cPanel - Transfira os arquivos do site via
rsyncou SFTP para o Plesk - Importe o banco de dados e recrie o usuário no Plesk
- Migre as caixas de email copiando os arquivos Maildir
- 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-cliente utilitáriosrsync,mysqldumpeimapsyncdisponí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
.htaccessespecí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
.htaccessespecíficas do cPanel e certificados SSL precisam ser recriados manualmente no Plesk após a migração.
Leia também
- Comparativo: cPanel vs. Painéis Open Source para Gerenciamento de VPS Linux
- Solucionar erro 'disk quota exceeded' no cPanel: diagnóstico e limpeza
- CDN no Brasil: Acelere Seu Site com Tecnologia Avançada
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.