Tutte le sezioni del manuale

DocumentazioneMigrazione via SSH

Migrazione via SSH

Con la MigrazioneDa un server via SSH il pannello si collega direttamente al vecchio server, riconosce cosa c'è (cPanel, Plesk, DirectAdmin o un Linux qualsiasi), prepara il backup, lo trasferisce e lo importa: non devi scaricare né caricare nessun file. Per i dettagli su cosa viene importato (siti, file, database con password nuove, wp-config.php, cron in pausa) vedi Migrazione da cPanel e Plesk: i passaggi di importazione sono gli stessi.

Le credenziali: usate una volta, mai salvate

Servono indirizzo, porta (di solito 22), utente e password oppure chiave privata (incolla il contenuto, con la passphrase se c'è). Le credenziali restano solo in memoria per la durata della migrazione: non vengono scritte su disco, nei registri o nell'archivio delle attività, e vengono cancellate alla fine. Se il pannello si riavvia durante la migrazione, la migrazione si interrompe: basta ricollegarsi.

Le credenziali di root danno accesso completo al vecchio server: il pannello le usa solo per i comandi della migrazione (backup, lettura dei file, dump dei database) e ripulisce i propri file temporanei alla fine, anche se la migrazione non riesce o la annulli.

L'impronta del server

Al primo collegamento il pannello non invia ancora nessuna password: legge la chiave del server e ti mostra la sua impronta (per esempio SHA256:…). Confrontala con quella del vecchio server, da una console di cui ti fidi:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Quando confermi, il pannello si autentica e fissa quell'impronta per tutta la migrazione, sincronizzazione finale compresa: se il server presentasse una chiave diversa (server reinstallato, o qualcuno in mezzo), la connessione viene interrotta.

Cosa succede in base al server

  • cPanel come root: «Analizza server» elenca gli account (con domini, spazio e database). Scegli quali portare: per ognuno il pannello esegue /scripts/pkgacct sul vecchio server, scarica l'archivio, lo cancella dal vecchio server e lo importa come un file di backup completo.
  • cPanel con l'utente dell'account (senza root): il pannello legge domini e cartelle dall'account (UAPI), trova le credenziali dei database nei wp-config.php e copia file e database direttamente. I database senza WordPress chiedono utente e password.
  • Plesk come root: elenca le sottoscrizioni; per ognuna usa plesk bin pleskbackup e importa il backup. Se il backup di Plesk non riesce, copia direttamente file e database della sottoscrizione.
  • Linux qualsiasi o DirectAdmin: il pannello propone le cartelle che sembrano siti (public_html, /var/www/…) con la dimensione; scegli quelle da portare e indica il dominio di ciascuna (puoi anche aggiungere una cartella a mano). I database vengono trovati dai wp-config.php, da ~/.my.cnf o con l'accesso root; per gli altri inserisci utente e password.

La copia diretta usa tar per i file e mysqldump per i database, dentro la connessione SSH: sul vecchio server non serve installare nulla. Le password dei database viaggiano solo in un file temporaneo privato nella home dell'utente, cancellato subito dopo, mai sulla riga di comando. I collegamenti simbolici non vengono copiati (per sicurezza) e il report ne indica il numero.

Avanzamento e report

Dopo la scelta di cosa importare (rinomina dei domini, database, versione PHP, cron) parte l'operazione con le fasi: connessione, analisi, backup sul server di origine, trasferimento (con dati trasferiti, velocità e tempo stimato), estrazione, siti, file, database, configurazioni, cron, verifiche e pulizia sul server di origine. Prima di iniziare il pannello controlla lo spazio libero (serve circa il doppio della dimensione stimata) e i limiti del pacchetto. Il limite di banda del modulo di connessione evita di saturare il vecchio server.

Il report finale è quello della migrazione da file (siti, password dei database mostrate una volta, note) più i Prossimi passi.

Il cambio dei DNS, passo per passo

  1. Abbassa il TTL: dove sono gestiti oggi i DNS, porta il TTL dei record dei domini a 300 secondi almeno un giorno prima.
  2. Sincronizzazione finale: subito prima del cambio premi Sincronizzazione finale (nel report o nell'elenco «Migrazioni via SSH» della pagina Migrazione). Inserisci di nuovo la password o la chiave: il pannello confronta i file del vecchio server con quelli migrati (dimensione e data di modifica), copia solo quelli cambiati e reimporta i database. I file cancellati sul vecchio server non vengono cancellati qui, e i file di configurazione riscritti (wp-config.php, .env, configuration.php) restano quelli nuovi. È disponibile per 7 giorni dopo la migrazione.
  3. Punta i domini a questo server: se hai collegato un provider DNS (vedi DNS) apri il sito e usa Punta al server, che ti mostra cosa cambia prima di applicarlo; altrimenti aggiorna i record A dal tuo provider. Il cambio non è mai automatico.
  4. Tieni il vecchio server finché i siti non rispondono bene da qui e la posta non arriva qui (le caselle di cPanel come root vengono importate con i messaggi se il servizio di posta è attivo; da un Linux generico ricreale).

Chi può farlo

  • Amministratori: qualsiasi server (anche indirizzi privati o locali) e qualsiasi account di destinazione.
  • Rivenditori: server raggiungibili su Internet, importazione nei propri clienti; possono usare anche root su cPanel o Plesk.
  • Utenti: server raggiungibili su Internet, importazione nel proprio account entro i limiti del pacchetto, e solo la copia diretta di file e database (niente pkgacct/pleskbackup, che portano interi account con strumenti di root).

La sessione di migrazione appartiene a chi l'ha aperta: nessun altro, nemmeno un amministratore, può usarla. I tentativi di connessione sono limitati (10 ogni 10 minuti per persona) e ogni collegamento finisce nel registro attività con utente, server e impronta, mai con le credenziali.

Limiti

  • La posta non viene migrata; i cron arrivano in pausa da rivedere.
  • Serve una shell POSIX sul vecchio server (bash, dash, sh) e, per la copia diretta, tar, find e mysqldump GNU/MySQL.
  • Non è supportato l'accesso tramite sudo: usa root o l'utente dell'account.