Migrazione ISPConfig · 15 min read · Sep 12, 2025

Come migrare ISPConfig 2, ISPConfig 3, Confixx, CPanel o Plesk a ISPConfig 3.2 o ISPConfig 3.3 (server singolo)

In questo howto, mostreremo come utilizzare lo Strumento di Migrazione ISPConfig 2.0 per migrare un server singolo a un nuovo server ISPConfig 3.x. Lo Strumento di Migrazione fa parte del toolkit di Migrazione ISPConfig disponibile qui.

Lo Strumento di Migrazione ISPConfig può essere utilizzato per migrare questi Pannelli di Controllo Hosting a un server ISPConfig 3.x:

  • ISPConfig 2
  • ISPConfig 3 a 3.3
  • Plesk 10 - 12.5
  • Plesk Onyx
  • Confixx
  • Cpanel

In questo tutorial, migreremo un server ISPConfig 3.x a un nuovo sistema che esegue ISPConfig 3.2 o 3.3. La migrazione da altri pannelli di controllo hosting supportati avviene in modo simile. Lo Strumento di Migrazione ti guiderà passo dopo passo attraverso il processo di migrazione.

Prerequisiti e Note

  • ISPConfig 3.x sul server sorgente.
  • ISPConfig 3.1.7 o superiore sul server di destinazione.
  • PHP 5.3+ con supporto per JSON, mcrypt, OpenSSL e mbstring sul sorgente.
  • I server vecchio e nuovo non devono essere connessi allo stesso server master. Se sono connessi allo stesso master, utilizza ISPCopy invece (che fa anche parte del Toolkit di Migrazione).
  • Licenza del Toolkit di Migrazione.
  • Certificati Let’s Encrypt: Il server vecchio e il nuovo devono utilizzare lo stesso client Let’s Encrypt. Se il tuo vecchio server utilizza Certbot, assicurati che il nuovo sistema utilizzi anche Certbot e non Acme.sh. Se installi il nuovo server utilizzando l’auto-installatore ISPConfig e il tuo vecchio server utilizza certbot, utilizza il comando della riga di comando –use-certbot nell’auto-installatore per installare certbot invece di acme.sh sul nuovo server.
  • Impostazioni multiserver: Lo Strumento di Migrazione è in grado di migrare impostazioni multiserver ISPConfig. L’obiettivo di tale migrazione può essere un’altra impostazione multiserver, oppure puoi unire un’impostazione multiserver in una nuova impostazione di server singolo. Lo Strumento di Migrazione deve essere eseguito su ciascun nodo (vecchio) di un’impostazione Multiserver uno dopo l’altro, il sistema ISPConfig di destinazione è o il nodo master della nuova impostazione multiserver (lo Strumento di Migrazione mostrerà quindi una finestra di dialogo in cui puoi selezionare su quale nuovo nodo dell’impostazione multiserver i dati devono essere migrati) o il nuovo server singolo.

Crea un utente remoto in ISPConfig

Hai bisogno di un utente remoto sul server ISPConfig di destinazione.

Vai a Sistema -> Utente Remoto

Aggiungi utente remoto in ISPConfig.

Clicca sul pulsante Aggiungi nuovo utente.

Inserisci un nome utente e una password per l’utente remoto, ad esempio “remoter” e assicurati di aver selezionato tutte le caselle di controllo. Quindi clicca su “salva”.

Permessi utente remoto

Se stai utilizzando una versione ISPConfig 3.1.11 sul server di destinazione, modifica il file / usr /local/ ispconfig /security/security_settings.ini come utente root:

nano / usr /local/ ispconfig /security/security_settings.ini

e cambia i valori di ids_anon_enabled e ids_user_enabled da ‘yes’ a ‘no’.

....  
[ids]  
ids_anon_enabled=no  
ids_anon_log_level=1  
ids_anon_warn_level=5  
ids_anon_block_level=20  
ids_user_enabled=no  
ids_user_log_level=1  
ids_user_warn_level=10  
ids_user_block_level=25  
ids_admin_enabled=no  
ids_admin_log_level=1  
ids_admin_warn_level=5  
ids_admin_block_level=100  
sql_scan_enabled=yes  
sql_scan_action=warn  
apache_directives_scan_enabled=yes  
nginx_directives_scan_enabled=yes  
....

L’IDS può essere riattivato quando la migrazione è completata. Se utilizzi ISPConfig 3.1.12 o versioni successive, questa modifica non è necessaria.

Successivamente, controlla se il modulo php-soap è installato sul server di destinazione. Se non è installato, installalo ora. Su Debian e Ubuntu, puoi installare il modulo PHP Soap con apt:

apt-get install php-soap

Un altro prerequisito è che il server di destinazione e quello sorgente devono avere rsync installato. Controlla con ad esempio:

rsync --version

su entrambi i nodi che rsync sia installato. Se non è installato, installa il pacchetto rsync del sistema operativo. Ad esempio con:

apt-get install rsync

su Debian e Ubuntu o con:

yum install rsync

su CentOS.

Sul server di destinazione, potrebbe esserci un file /etc/ssh/sshd_config.d/custom.conf creato dall’auto-installatore ISPConfig che impedisce il funzionamento dello Strumento di Migrazione. Questo file deve essere eliminato se esiste. Esegui questo comando sul server di destinazione come utente root per eliminare il file:

rm /etc/ssh/sshd_config.d/custom.conf

Tutti i passaggi successivi vengono eseguiti sul server sorgente a meno che non venga indicato diversamente.

Scarica ed estrai lo Strumento di Migrazione

cd /root  
mkdir migration  
cd migration  
wget https://www.ispconfig.org/downloads/ispconfig_migration_toolkit-latest.zip  
unzip ispconfig_migration_toolkit-latest.zip  
mv ispconfig_migration_toolkit/ispc3-migration-tool-*.tar.gz /root/migration/migtool.tar.gz  
tar xzf migtool.tar.gz  
rm -f migtool.tar.gz

Prepara il login senza password (opzionale)

Durante la migrazione, ci sarà una connessione SSH per trasferire impostazioni e dati dal server sorgente ai server di destinazione. Per questo, il server sorgente deve essere in grado di connettersi ai server di destinazione senza password.

Puoi:

  • Configurare il login senza password da solo (aggiungi la chiave pubblica del sorgente al file authorized_keys del root del target).
  • Oppure consentire l’accesso root tramite ssh al target con password (temporaneamente). Lo Strumento di Migrazione chiamerà quindi ssh-keygen e ssh-copy-id per te. Questi sono chiamate di sistema dirette, quindi se ti viene chiesto di inserire la password ssh root del target durante questo passaggio, l’input NON viene letto dallo Strumento di Migrazione, è un prompt diretto del comando di sistema ssh-copy-id.

Esegui la migrazione (dry-run)

./migrate

Se desideri eseguire lo strumento su una versione PHP specifica (ad esempio PHP 7.4 su Ubuntu 22.04), utilizza questo comando invece:

PHP=/usr/bin/php7.4 ./migrate

Il risultato di uno dei comandi sopra sarà simile a questo:

Benvenuto nello Strumento di Migrazione ISPConfig3 V2 Versione 2.0.0

Sebbene questo strumento non modifichi nulla sul server sorgente, dovresti
SEMPRE fare un BACKUP di tutti i tuoi dati prima di migrare a un nuovo server!

Devi avere alcuni prerequisiti impostati per utilizzare questo strumento:
 * crea un utente remoto (sistema -> utenti remoti) nel tuo sistema TARGET ISPConfig3 e concedi TUTTI i diritti ad esso
 * assicurati che questo (il sistema SORGENTE) possa raggiungere l'api remota del sistema TARGET

* Dichiarazione di esonero da responsabilità *
ISPConfig declina nella misura massima consentita dalla legge qualsiasi e tutte le altre garanzie, espresse o implicite,
compresi, senza limitazione, eventuali garanzie implicite di titolo, non violazione, integrazione, commerciabilità o
idoneità per uno scopo particolare.
Continuando a utilizzare questo software, accetti questo.

Prima di tutto, la domanda più importante:
Vuoi effettuare una migrazione reale o una simulazione? (dry, migrate): dry

Vogliamo eseguire prima in modalità dry-run, quindi inseriamo dry qui.

I seguenti moduli sono disponibili:
        1. Migratore da Confixx a ISPConfig 3 (confixx)
        2. Migratore da Plesk (10.5 - 17.5) a ISPConfig 3 (plesk)
        3. Migratore da ISPConfig 2 a 3 (ispconfig2)
        4. Migratore da ISPConfig 3 a ISPConfig 3 (ispconfig3)

Quale corrisponde al tuo sistema SORGENTE? (confixx, plesk, ispconfig2, ispconfig3): ispconfig3

Lo Strumento di Migrazione ha bisogno di sapere quale pannello di controllo stai utilizzando sul tuo server sorgente. Prova a riconoscere il modulo richiesto sul server sorgente, quindi normalmente puoi semplicemente premere INVIO.

Inserisci l'IP di questo server (SORGENTE) utilizzato per le connessioni in uscita [192.168.10.10]: 123.123.123.123

Lo Strumento di Migrazione ha bisogno di sapere quale indirizzo IP sul server sorgente viene utilizzato per le connessioni in uscita, cioè quale indirizzo IP gli altri server vedranno quando il sorgente si connette a loro. Lo strumento cerca di indovinare l’indirizzo IP, ma potresti dover modificare il valore se stai utilizzando una rete privata, ad esempio.

Nome dell'utente remoto del sistema TARGET ISPConfig3 []: remoter
Password per questo utente remoto []: yourremotepassword
URL del sistema remoto (ad es. https://yourdomain.com:8080/remote/) []: https://www.example.com:8080/remote/
Hai fornito l'utente remoto 'remoter' con password 'yourremotepassword'
E io dovrei connettermi a 'https://www.example.com:8080/remote/'
È corretto? (y, n): y

Fornisci allo Strumento di Migrazione i dati dell’utente remoto che hai creato sul target e conferma il tuo input con “y”. Lo Strumento di Migrazione tenterà quindi di connettersi all’API remota del tuo sistema di destinazione.

Ora dovrò apportare alcune modifiche nella configurazione del tuo sistema TARGET ISPConfig3.
        1.) Abilita il modulo dominio se necessario
        2.) Rimuovi i prefissi client (sarà annullato automaticamente alla fine)
        3.) Abilita il login per gli account email se necessario

Test connessione MySQL ... OK

Qual è l'IP pubblico principale(!) del server di destinazione www.example.com? [123.123.123.123]: [INVIO]

Lo Strumento di Migrazione cambierà alcune impostazioni ISPConfig sul target (queste modifiche non verranno eseguite quando si esegue in modalità dry-run) e testerà la connessione al server MySQL. Cerca di indovinare le credenziali MySQL esaminando alcuni file di sistema, ma alla fine ti verrà chiesto di inserire la password root di MySQL.

Successivamente, devi fornire l’IP pubblico del server di destinazione. Sarà prelevato da DNS, ma potresti doverlo regolare, specialmente se utilizzi lo stesso hostname sul sorgente e sul target.

Vuoi che sovrascriva/aggiorni le voci esistenti con lo stesso nome? (y, n): y
Puoi ora impostare i nomi delle voci che NON devono essere sovrascritti.
Dovresti usare questo se prevedi di importare i dati di più server in un'installazione multiserver.
Se questo strumento trova un nome già presente, AGGIORNA i dati con i dati del SORGENTE!
Se questo strumento trova un nome che hai contrassegnato come non sovrascrivere, esso
         - aggiunge un _2, _3 ecc. a questo nome e crea una nuova voce, oppure
         - aggiunge un prefisso server se specificato dall'argomento --server-prefix

Lo Strumento di Migrazione consente di unire più server in un solo target. Quando fai questo, potrebbe esserci un conflitto di nomi utente sui server sorgenti, ad esempio, se hai due database con il nome “testdatabase”. Se rispondi “y” a questa domanda, il secondo database sostituirà il primo. Se rispondi “n”, cambierà il nome del secondo database in “testdatabase_2”.

Assicurati di rispondere “y” quando esegui una migrazione di server singolo, altrimenti creerai duplicati se esegui lo strumento di migrazione più volte sullo stesso sorgente.

Attualmente hai 0 nome(i) utente FTP contrassegnati:

Puoi ora aggiungere ulteriori nomi a questo elenco. Inseriscili uno per uno o fornisci un elenco separato da virgole.
Per eliminare uno o più nomi dall'elenco, precedi il tuo input con /DELETE.
Per cancellare tutti i nomi dall'elenco, digita /CLEAR.
Un input vuoto procede al passaggio successivo.
La tua scelta : [INVIO]

Lo Strumento di Migrazione ti offre di contrassegnare alcuni nomi utente per FTP, database, clienti ecc. come “riservati”. Questo significa che non verranno sovrascritti come menzionato nella sezione sopra. Normalmente lascerai questo vuoto, ma in alcuni casi potresti voler impedire che nomi utente come “admin” o “administrator” vengano importati. Quindi puoi inserirli qui, il che comporterà una rinominazione dei nomi importati in “admin_2” ecc.

La domanda viene ripetuta per i diversi tipi di servizio (FTP, database, clienti, utenti email).

Qual è il nome del database della tua installazione ISPConfig 3 SORGENTE? [dbispconfig]: [INVIO]

Lo strumento ora chiede il nome del database sul server sorgente che contiene i dati del pannello di controllo. Controlla se il database riconosciuto è corretto e cambialo se necessario.

Vuoi migrare solo alcuni servizi o tutto?                                                                 
I servizi validi sono: client, web, mail, ftp, database, cronjob, dns, billing                                               
Per favore inserisci uno o più servizi (separati da virgole) o lascia vuoto per tutti: [INVIO]

Il nuovo Strumento di Migrazione è in grado di migrare solo un sottoinsieme di servizi, ad esempio, migrare solo gli account email e saltare i web ecc.

Vogliamo migrare tutti i servizi, quindi lasciamo l’input vuoto e premiamo INVIO.

Per copiare i dati web, ho bisogno di accesso SSH al server web di destinazione.
Assicurati che il login root tramite SSH sia consentito. Sul target apri /etc/ssh/sshd_config
imposta PermitRootLogin su yes o senza-password.
Puoi ripristinarlo una volta completata la migrazione.

Qual è l'ip per il server web di destinazione a cui connettersi via SSH? [123.123.123.123]: [INVIO]
Qual è la porta SSH? [22]: [INVIO]

Per copiare i dati web, email e db, lo Strumento di Migrazione richiede accesso SSH senza password al server di destinazione. Devi fornire l’ip e la porta a cui il sorgente dovrebbe connettersi. Se non hai già impostato l’accesso senza password, ti verrà chiesta la password SSH root del server di destinazione.

Test connessione MySQL ... OK

Avvio delle chiamate API.

[50/74]  elaborazione mydomain.com

Lo strumento inizierà ora a creare/aggiornare tutte le voci sul target ISPConfig. In modalità dry run non cambierà o copierà nulla, ovviamente. Attendi che le chiamate API finiscano.

Elaborazione delle voci completata.                                                                                               
=============
Esecuzione dello strumento di migrazione completata.

Una volta che lo strumento di migrazione ha completato la dry run senza errori, possiamo continuare con la migrazione reale.

Esegui la migrazione

./migrate

Se desideri eseguire lo strumento su una versione PHP specifica (ad esempio PHP 7.4 su Ubuntu 22.04), utilizza questo comando invece:

PHP=/usr/bin/php7.4 ./migrate

Il risultato di uno dei comandi sopra sarà simile a questo:

    Benvenuto nello Strumento di Migrazione ISPConfig3 V2 Versione 2.0.0rc2

Sebbene questo strumento non modifichi nulla sul server sorgente, dovresti
SEMPRE fare un BACKUP di tutti i tuoi dati prima di migrare a un nuovo server!

Devi avere alcuni prerequisiti impostati per utilizzare questo strumento:
 * crea un utente remoto (sistema -> utenti remoti) nel tuo sistema TARGET ISPConfig3 e concedi TUTTI i diritti ad esso
 * assicurati che questo (il sistema SORGENTE) possa raggiungere l'api remota del sistema TARGET

* Dichiarazione di esonero da responsabilità *
ISPConfig declina nella misura massima consentita dalla legge qualsiasi e tutte le altre garanzie, espresse o implicite,
compresi, senza limitazione, eventuali garanzie implicite di titolo, non violazione, integrazione, commerciabilità o
idoneità per uno scopo particolare.
Continuando a utilizzare questo software, accetti questo.

Prima di tutto, la domanda più importante:
Vuoi effettuare una migrazione reale o una simulazione? (dry, migrate): migrate

Questa volta rispondiamo al prompt con “migrate” e rispondiamo alle domande proprio come abbiamo fatto durante la dry run. Lo strumento avrà i tuoi input dalla dry run precompilati, quindi potrai per lo più premere INVIO.

Test connessione MySQL ... OK
Copia dei file Let'sEncrypt nel target ... OK

Avvio delle chiamate API.
[9/11]  elaborazione [email protected] (web213p41)

Questa volta il processo richiederà un po’ più di tempo poiché vengono effettuate chiamate API reali. Attendi che il processo finisca.

Elaborazione delle voci completata.                                                                                               
La coda di lavoro ISPConfig di destinazione ha 35 voci rimanenti. Attesa .. 

Per assicurarsi che tutti i percorsi siano creati sul target, lo Strumento di Migrazione attende che ISPConfig elabori tutte le richieste prima di continuare.

[INFO] La coda di lavoro ISPConfig di destinazione è completata. Continuando.

[19/935] Sincronizzazione /var/www/clients/client26/web21/web a /var/www/clients/client1424/web21/

Ora lo strumento sincronizza tutti i percorsi (web, email) e copia i contenuti del database nel server di destinazione. Questo processo può richiedere un po’ di tempo a seconda della quantità di dati che hai.

Se desideri eseguire la sincronizzazione dei dati effettivi in un passaggio separato, puoi saltarla eseguendo ./migrate –no-syncjobs invece di ./migrate

Passaggi finali

Lo Strumento di Migrazione ripristinerà i valori che ha modificato all’inizio (ad es. prefissi client).

A seconda del tuo pannello di controllo sorgente, lo Strumento di Migrazione ha attivato il modulo dominio sul tuo ISPConfig di destinazione. Questo significa che i domini possono essere utilizzati solo per siti web, domini email ecc. se sono stati assegnati da un amministratore prima (utilizzando Client -> Domini). Se non desideri utilizzare il modulo dominio, puoi disabilitarlo sotto Sistema -> Impostazioni interfaccia -> Tab “Domini”.

Infine, controlla il migrate.log che è stato creato per voci che hanno marcatori [ERROR] o [WARNING]. Questi indicano problemi durante il processo di migrazione.

Risincronizza il tuo target

Risincronizza account e impostazioni

Se le cose sono cambiate sul pannello di controllo sorgente dopo aver effettuato la migrazione, puoi semplicemente rieseguire. Lo Strumento di Migrazione aggiornerà tutte le voci con le nuove impostazioni dal tuo server sorgente. E aggiungerà nuove voci che sono state create nel frattempo. Le voci eliminate sul sorgente non verranno eliminate sul target!

Risincronizza i dati

Se desideri solo risincronizzare i dati per web, email e database puoi eseguire ./migrate –syncjobs. Questo salterà tutti i passaggi di migrazione e eseguirà solo la sincronizzazione di siti web, database e email.

Puoi anche risincronizzare solo uno dei servizi, ad esempio ./migrate –syncjobs –only=database. Questo salterà la risincronizzazione dei dati del sito web e delle email.

Opzioni avanzate

Per ottenere un elenco di opzioni avanzate che consentono di migrare ad esempio singoli siti web, domini email o clienti, utilizza l’opzione –help.

./migrate --help

Le opzioni attuali sono:

Uso:  migrate 
        Elenco delle opzioni:
        --help
                        Mostra questa schermata
        --server-prefix=
                Usa il prefisso dato per nomi utente in conflitto, se si verificano ulteriori
                conflitti, aggiungi _2 _3 _4 ... al nome utente
        --source-temp-dir=
                Imposta una directory temporanea diversa per le azioni sul server sorgente rispetto a /tmp
        --target-temp-dir=
                Imposta una directory temporanea diversa per le azioni sul server di destinazione rispetto a /tmp
        --syncjobs
                Non eseguire il processo di migrazione, risincronizza solo tutti i dati
                (file web, contenuti del database)
        --no-syncjobs
                Esegui solo la migrazione, non copiare alcun file di dati o
                contenuti del database nel target
        --ignore-sync-errors
                Non interrompere l'elaborazione dei syncjobs se si verifica un errore. Questo
                può essere utile ad esempio se un comando come chattr non funziona correttamente sul
                server di destinazione.
        --confixx-no-domain
                In una migrazione confixx (server sorgente) non creare un
                sito web fittizio che contenga
                tutti gli altri domini di quel cliente come domini alias.
                Confixx utilizza un approccio diverso per memorizzare e
                gestire i domini, quindi non esiste un "dominio principale", ma un hosting invece, che ha tutti
                i domini assegnati.
                Su server confixx dove i clienti hanno solo un singolo
                dominio può essere meglio non
                creare un sito web fittizio con un singolo alias, ma utilizzare il
                dominio come sito web invece.
        --only=client|web|mail|ftp|database|cronjob|dns|billing
                Migra solo il/i servizio/i dato/i e salta gli altri.
                Può essere fornito più volte.
        --exclude=client|web|mail|ftp|database|cronjob|dns|billing
                Migra tutti i servizi tranne il/i dato/i. Può essere
                fornito più volte.
        --only=/--exclude= su --syncjobs run
                Quando si limita la risincronizzazione a singoli servizi, solo web,
                mail, database, sistema sono validi.
        --only-client=
                Migra solo un singolo cliente e i suoi dati (web, email
                ecc.). Questo può essere utilizzato insieme
                con --only= / --exclude= per limitare ulteriormente i dati migrati.
        --only-web=
                Migra solo il dominio dato e i suoi database, account ftp ecc.
                Questo può essere utilizzato insieme con gli altri
                --only-x/--exclude-x e --only=/--exclude= per
                specificare i dati da migrare.
        --only-mail=
                Migra solo il dominio email dato e i suoi account email, filtro spam ecc.
                Questo può essere utilizzato insieme con gli altri
                --only-x/--exclude-x e --only=/--exclude= per
                specificare i dati da migrare.
        --only-database=
                Migra solo il database dato e il suo sito web genitore.
                Questo può essere utilizzato insieme con gli altri
                --only-x/--exclude-x e --only=/--exclude= per
                specificare i dati da migrare.
        --only-dns=
                Migra solo la zona DNS data e i suoi record DNS.

                Le opzioni sopra possono anche essere utilizzate in modo opposto,
                utilizzando --exclude-client, --exclude-web,
                --exclude-mail, --exclude-database, --exclude-dns
                ATTENZIONE! I clienti DEVONO SEMPRE essere migrati, altrimenti
                avrai tutti i dati migrati assegnati
                all'utente admin invece che al cliente!
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.