La piattaforma che ho scelto è nginx per le risorse statiche e come reverse prowxy, php-fpm o tomcat 8 per le app, mariadb per la persistenza.

Ma la prima cosa da far funzionare è la persistenza, in quanto le app è facile mantenerle sull’hosting attuale fino alla scadenza ma la persistenza deve essere spostata per prima.

Ma per la persistenza serve una piattaforma di gestione … il che significa l’odiato/amato phpMyAdmin e quindi un server php funzionante. Quindi facciamo le cose in ordine … questa è la guida da cui ho tratto ispirazione -> LINK. Poi forse la traduco con le personalizzazioni che ho fatto, o forse no.

Ora probabilmente php deve essere configurato per gestire l’upload di file un pò piu grossi della configurazione standard a meno che i vostri database siano microscopici.

Quindi su php.ini

post_max_size = 50M
upload_max_filesize = 50M

In caso di DB molto grossi può essere utile comprimere in zip il dump e alzare il limite della ram assegnata a php e il timeout. Ad esempio

php.ini :

max_input_time = -1
memory_limit = 128M

(Sarebbe bene riportare questi parametri a valori piu cautelativi una volta terminata l’importazione, sopratutto per il max_input_time)

Scarichiamo phpMyAdmin e installiamolo su un virtual host fatto apposta. Noip.com offre la possibilita di creare un pò di domini di terzo livello gratuitamente e può essere utile per il nostro scopo.

In alternativa se proprio phpMyAdmin non digerisce il dump c’è sempre l’importazione da linea di comando. L’istruzione è questa :

mysql -u <username> -p -h localhost <database_name> < dumpfile.sql  

Per ogni database si dovrebbe essere un utente diverso, momentaneamente abilitato alla connessione da qualsiasi host con privilegi sui soli dati (SELECT/INSERT/UPDATE/DELETE) per il solo database che deve usare. Non cadete nella tentazione di assegnare ad un utente con accesso remoto tutti i permessi su tutti i database.
Terminata la migrazione bisognerà disattivare l’accesso da remoto.

I permessi possono essere testati con lo stesso phpMyAdmin.