Migrare da cPanel a un nuovo server senza fermare i siti (2026)
Per migrare da cPanel senza fermare i siti servono quattro mosse: abbassare il TTL dei DNS un giorno prima, copiare l'account sul nuovo server, provarlo con il file hosts e solo alla fine cambiare i DNS, con una sincronizzazione finale subito prima. Questa guida spiega il metodo generale, valido con qualsiasi pannello di destinazione, e poi come farlo con Koapanel, che importa un account cPanel dal file di backup o collegandosi al vecchio server via SSH.
Perché tanti stanno lasciando cPanel
Dal 1° gennaio 2026 una licenza cPanel costa 29,99 $ al mese per 1 account (Solo), 35,99 $ per 5 (Admin), 53,99 $ per 30 (Pro) e 69,99 $ per 100 (Premier), più 0,49 $ per ogni account oltre i 100 (fonte). cPanel resta un prodotto maturo, con un ecosistema enorme (WHMCS, CloudLinux, LiteSpeed, migliaia di tutorial): se ti servono proprio quelli, cambiare pannello ha un costo. Se invece ospiti siti PHP e WordPress, le alternative sono mature. Qui trovi un confronto diretto: Koapanel vs cPanel.
Prima di iniziare: la checklist
- Inventario: elenca domini, sottodomini, database, caselle email, inoltri, cron e record DNS particolari (verifiche TXT, SRV, sottodomini che puntano altrove).
- Dimensione: in cPanel la vedi in Utilizzo del disco. Sul nuovo server serve spazio libero pari a più del doppio: l'archivio e la sua estrazione occupano posto mentre l'importazione è in corso.
- Chi gestisce i DNS oggi: il registrar, Cloudflare o lo stesso server cPanel? Cambia il modo in cui farai il passaggio (vedi sotto).
- Dove sta la posta: sul server cPanel o su Google Workspace / Microsoft 365? Nel secondo caso i record MX non vanno toccati.
- Versioni: annota la versione PHP di ogni sito (MultiPHP Manager) e le impostazioni personalizzate (memoria, dimensione dei caricamenti).
Passo 1: abbassa il TTL almeno 24 ore prima
Il TTL dice ai resolver per quanto tempo possono tenere in memoria un record. Se oggi è 14400 secondi (4 ore, un valore frequente sui server cPanel), dopo il cambio alcuni visitatori vedranno il vecchio server per ore. Porta a 300 secondi i record A, AAAA, www e MX dei domini, e aspetta almeno quanto il TTL vecchio prima di migrare.
Controlla il TTL attuale così (il secondo numero della riga è il TTL):
dig +noall +answer esempio.it A
dig +noall +answer www.esempio.it A
dig +noall +answer esempio.it MX
Attenzione: il TTL dei nameserver (i record NS presso il registro del dominio) non lo decidi tu e per molti domini vale uno o due giorni. Per questo il passaggio più rapido è cambiare prima i record A e solo in un secondo momento, se vuoi, spostare i nameserver.
Passo 2: copia l'account sul nuovo server
Il backup completo di cPanel
Da cPanel: File › Backup › Scarica un backup completo dell'account. Il file backup-….tar.gz contiene file, database, caselle email, inoltri e cron. Se hai accesso root, da riga di comando è più veloce:
/scripts/pkgacct nomeutente
# crea /home/cpmove-nomeutente.tar.gz
Con Koapanel: due strade
Dal file di backup. In Koapanel apri Migrazione › Da file di backup e carica il file. Il pannello analizza l'archivio e mostra Cosa abbiamo trovato: domini (principale, aggiuntivi, sottodomini, alias), database, operazioni pianificate, caselle email e dimensione. Scegli cosa importare, rinomina i domini se serve e imposta la versione PHP. Prima di estrarre, il pannello controlla lo spazio (l'estrazione occupa circa 2,5 volte l'archivio e ogni disco tiene sempre libero il 10%). Dettagli nel manuale: Migrazione da cPanel e Plesk.
Via SSH, senza scaricare nulla. Apri Migrazione › Da un server via SSH e inserisci indirizzo, porta, utente e password o chiave privata. Le credenziali restano solo in memoria per la durata della migrazione, mai su disco né nei registri. Prima di inviare la password, Koapanel mostra l'impronta della chiave del vecchio server: confrontala eseguendo sul server cPanel
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Da qui dipende da chi sei:
- Con root: Analizza server elenca gli account con domini, spazio, database e stato (attivo, sospeso, disabilitato). Per ogni account scelto Koapanel esegue
/scripts/pkgacct, scarica l'archivio, lo cancella dal vecchio server e lo importa. Gli account sospesi non sono selezionati all'inizio; se li porti, arrivano sospesi (opzione modificabile). - Con l'utente dell'account (senza root): Koapanel legge domini e cartelle dall'account, trova le credenziali nei
wp-config.phpe copia direttamente file e database contaremysqldump. Per i database senza WordPress chiede utente e password. Le caselle email in questo caso non vengono copiate.
Un limite di banda evita di saturare il vecchio server. L'accesso via sudo non è supportato: serve root o l'utente dell'account. Tutto il resto è nel manuale Migrazione via SSH.
Cosa arriva e cosa controllare
| Elemento | Cosa succede in Koapanel |
|---|---|
| Domini, sottodomini, alias | Diventano siti; gli alias restano alias del sito principale |
| File | Copiati come utente del sito, in /var/www/<dominio> |
| Database | Creati con password nuove, mostrate una sola volta nel report |
wp-config.php |
Riscritto con le nuove credenziali; .env (Laravel) e configuration.php (Joomla) al meglio, con una nota |
| Caselle email | Con tutti i messaggi, la password originale e gli inoltri (servizio di posta attivo; via SSH serve root) |
| Cron | Importati in pausa, da rivedere |
| Zone DNS | Elencate nel riepilogo, non importate |
| Collegamenti simbolici | Non copiati nella copia diretta; il report dice quanti erano |
Salva subito le password dei database. Poi due controlli che valgono per qualsiasi migrazione:
- Percorsi assoluti: su cPanel i siti stanno in
/home/utente/public_html. Cron, script e alcuni plugin (per esempio il.user.inidi Wordfence conauto_prepend_file) contengono quel percorso e sul nuovo server danno errore. Cercali:
grep -rl "/home/nomeutente" /var/www/esempio.it
- Cron: correggi i percorsi prima di riattivarli.
Passo 3: prova il sito con il file hosts
Prima di toccare i DNS, fai credere solo al tuo computer che il dominio sia già sul nuovo server. Aggiungi una riga al file hosts con l'IP nuovo:
- Linux e macOS:
/etc/hosts(consudo) - Windows:
C:\Windows\System32\drivers\etc\hosts(Blocco note come amministratore)
203.0.113.10 esempio.it www.esempio.it
Apri il sito e prova area amministrativa, moduli e carrello. Il certificato HTTPS non c'è ancora (Let's Encrypt lo rilascia solo quando il dominio punta al server), quindi il browser può mostrare un avviso: per la prova va bene. Da riga di comando, senza toccare il file hosts:
curl -sI --resolve esempio.it:80:203.0.113.10 http://esempio.it/
Finito il test, togli la riga dal file hosts, o continuerai a vedere il nuovo server anche quando qualcosa va storto.
Passo 4: le regole .htaccess su nginx
cPanel usa Apache (o LiteSpeed), che legge i file .htaccess. Molti pannelli moderni, Koapanel compreso, usano solo nginx, che li ignora. Cosa fare, regola per regola:
Regola in .htaccess |
Su nginx |
|---|---|
| Permalink di WordPress | Nulla: la configurazione standard li gestisce |
| Redirect da HTTP a HTTPS | Nulla: con Koapanel il redirect è automatico dopo l'attivazione di HTTPS |
php_value memory_limit, upload_max_filesize |
Ignorati. In Koapanel usa Impostazioni PHP del sito (Versioni PHP) |
| Redirect 301 di vecchi URL | Spostali nell'applicazione (in WordPress un plugin di redirect) |
Protezione di cartelle con .htpasswd, Deny from all |
Da rifare con altri strumenti (login dell'applicazione, regole nginx) |
Il manuale di Koapanel non prevede un editor di direttive nginx personalizzate per sito: WordPress e i CMS PHP più comuni funzionano con la configurazione standard, ma un sito pieno di rewrite personalizzati va verificato prima. Se il tuo progetto dipende da Apache o LiteSpeed, meglio saperlo ora.
Passo 5: sincronizzazione finale e cambio DNS
Tra la copia e il cambio passano ore o giorni: nel frattempo arrivano ordini, commenti, file caricati. Subito prima del cambio:
- Sincronizzazione finale (migrazioni via SSH, entro 7 giorni): Koapanel confronta i file per dimensione e data, copia solo quelli cambiati e reimporta i database. I file di configurazione riscritti restano quelli nuovi. La migrazione da file non ha questo passaggio: per un sito con ordini o commenti preferisci la via SSH, oppure metti il vecchio sito in manutenzione prima di creare il backup.
- Cambia i record A/AAAA di dominio e
www. Se il DNS è su Cloudflare o 1PrimeCDN collegati, apri il sito e usa Punta al server: mostra le modifiche e le applica solo quando confermi. - Attiva HTTPS appena il dominio risponde dal nuovo server: con TTL a 300 secondi bastano pochi minuti.
Controlla la propagazione su resolver diversi:
dig +short esempio.it A @1.1.1.1
dig +short esempio.it A @8.8.8.8
Se vuoi che il DNS stia sul nuovo server
Come cPanel, Koapanel può essere il DNS autoritativo dei tuoi domini: usa PowerDNS, crea da solo la zona di ogni sito (A/AAAA, www, CAA per Let's Encrypt e, con la posta attiva, MX, SPF, DKIM e DMARC) e supporta DNSSEC (DNS di questo server). Le zone di cPanel non vengono importate: prima di spostare i nameserver ricrea a mano i record particolari (TXT di verifica, SRV, sottodomini esterni). Su cPanel li trovi nell'Editor zone o, da root, in /var/named/<dominio>.db.
Se il dominio ha DNSSEC attivo con il vecchio DNS, togli il record DS presso il registrar prima di cambiare nameserver, altrimenti il dominio smette di risolvere. Attiva DNSSEC sulla nuova zona e pubblica il nuovo DS solo quando la delega è stabile.
Passo 6: la posta dopo il cambio
La posta è la parte che si rompe in silenzio. Dopo il cambio:
- MX, SPF, DKIM, DMARC: con il servizio di posta di Koapanel attivo, Configura DNS posta li pubblica sui provider collegati; con il DNS sul server sono già nella zona. Se la posta sta su Google o Microsoft, controlla che il MX sia rimasto il loro.
- Posta arrivata al vecchio server: durante la propagazione alcuni messaggi arrivano ancora lì. Lascia attive le vecchie caselle qualche giorno e poi copia i messaggi mancanti via IMAP (vedi come migrare le caselle email con IMAP).
- Invio: molti provider cloud bloccano la porta 25 in uscita, e un DNS inverso (PTR) sbagliato manda i messaggi nello spam. Koapanel lo controlla prima di attivare la posta e permette un relay SMTP. Prova l'invio verso Gmail e leggi le intestazioni: SPF, DKIM e DMARC devono risultare
pass. Approfondimento: SPF, DKIM e DMARC su un server di posta. - Programmi di posta: IMAP 993 SSL/TLS, SMTP 465 SSL/TLS o 587 STARTTLS, nome utente l'indirizzo completo. Con le caselle da cPanel la password resta quella di prima.
Tieni acceso il vecchio server finché siti e posta non rispondono solo dal nuovo, di solito qualche giorno.
Domande frequenti
Quanto tempo richiede migrare un account cPanel?
Dipende dai dati: minuti per un sito piccolo, ore per decine di GB. Il cambio DNS con TTL a 300 secondi si completa in minuti.
Le password delle caselle email cambiano?
Con Koapanel no: dalle caselle cPanel (backup o SSH come root) vengono mantenute la password originale e tutti i messaggi. Cambiano invece le password dei database, riscritte in wp-config.php.
Posso migrare senza accesso root?
Sì, con l'utente dell'account via SSH o con il backup completo scaricato da cPanel. Senza root, via SSH, le caselle email vanno ricreate.
Koapanel supporta Apache, LiteSpeed o CloudLinux?
No. Usa nginx e PHP-FPM su Ubuntu 24.04 LTS. Se ti servono quei componenti, cPanel resta la scelta più adatta.
Quanto costa Koapanel?
Gratuito fino a 3 siti per uso personale; poi 7,90 € al mese per 10 siti, 14,90 € per 30, 24,90 € per siti illimitati, IVA esclusa, per server. Vedi prezzi e il calcolatore del risparmio.
Prova la migrazione
Installa Koapanel su un Ubuntu 24.04 nuovo con curl -fsSL https://get.koapanel.app | sudo bash (guida all'installazione) e prova la migrazione del tuo account cPanel più piccolo, oppure guarda la sezione Migrazione nella demo pubblica. Tutti i dettagli sulla pagina della migrazione. Vieni da Plesk? Leggi la guida per Plesk.