Trasferire Drupal 8 su Aruba Hosting
E’ bello creare un nuovo sito da zero, soprattutto quando vuoi usare un CMS di ultimissima generazione come Drupal 8.
Ci sono un sacco di buoni motivi per cui lo fai con un nuovo CMS:
– per imparare
– per garantire a chi lo usa maggiore sicurezza
– per garantire a chi lo usa una maggiore stabilità nel tempo.
Tutti parlano bene di Drupal 8, nonostante sia un bel macchinone e in confronto a WordPress, impegni un po’ di più il server (neanche tanto).
Mi sono decisa ad usare questo CMS invece del solito Drupal 7 oltre per i motivi sopra elencati, anche perchè, installandolo in locale sul mio portatile, vedevo che non era così impossibile da far girare. E soprattutto funzionava.
Certo c’è tanto da imparare, è completamente diverso da Drupal 7, ma mi piace!
Insomma, ci metti un po’ ad imparare a preparare il tema, le viste, i suoi risultati, alla fine ti senti pronta a pubblicare o comunque a testarlo sull’hosting del cliente (Aruba) e non va.
Non potete capire la frustrazione.
I primi errori che sono sorti erano i soliti: i vari htaccess con le loro Options -Indexes che davano errore 500. Poco male: li conosciamo e li correggiamo. Poi, impostando dall’amministrazione di Aruba il motore PHP 5.6 (che a detta di chi usa D8 su Aruba era l’unico che poteva farlo funzionare) il sito continuava a dire: “Si è verificato un problema. Riprovare più tardi.”.
L’unica cosa che si poteva fare a questo punto e spulciare i log di sistema (printare gli errori da php direttamente non funzionava, si bloccava prima).
E dopo una serie di errori che non capivo arrivo a questo:
Spulciano in internet capisco che il PHP 5.6 è un po’ troppo avanzato o meglio che le password di mysql di Aruba sono un po’ troppo “antiquate”. Non ho provato a cambiare perchè purtroppo ci sono altri database agganciati a quegli accessi: cambiarle, sempre se fosse stato possibile, avrebbe significato scollegare involontariamente qualsiasi altro CMS o sistema collegato con i db.
Ho deciso quindi di procedere con un downgrade del motore PHP da 5.6 a 5.5 e questo ha sbloccato quella situazione.
Ma il sito continuava a rispondere “The website encountered an unexpected error. Please try again later.”.
Di nuovo la mia ancora di salvezza potevano solo essere i log.
Infatti gli errori immediatamente successivi sono stati:
Aruba non permette una collation in utf8mb4 ma solo in utf8. Infatti il database che avevo esportato dal locale portatile era già stato corretto ad utf8, avevo impostato anche in settings.php la collation in questa maniera ma non gli bastava.
Fortemente indispettita sono andata a vedere il file indicato nei log: Core/Database/Driver/mysql/Connection.php.
Sì lo so che non si fa: non si tocca il core di nessun CMS, pena la perdita di tutte le modifiche una volta che si effettua un aggiornamento dello stesso. Ma mettetevi nei miei panni! Almeno volevo vedere se riuscivo a costringerlo a funzionare! Era una questione di principio! Così ho modificato una if forzando il CMS a prendere la collation disponibile (utf8):
In questo modo il sito ha preso a funzionare. Ho avuto modo di accedere al backend e ora vediamo come sistemare la faccenda. :)
PS. In realtà sto scoprendo che il db di Aruba non è propriamente compatibile (almeno quello su cui sto lavorando io). Drupal 8 necessita di un mysql 5.5.3 come minimo, mentre quello su cui sto mettendo mano è un 5.0.
Non sto comunque riscontrando problemi, lato database. Staremo a vedere.
Aggiornamento del 14/07/2017
Oltre al file connection.php nella stessa cartella va ritoccato anche il file Schema.php. Questo file, a quanto pare, crea le regole per gli aggiornamento dei moduli. Quindi è bene andarlo a “correggere” per non avere errori sugli aggiornamenti del data base in futuro.
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!