Drupal 8 su hosting condiviso aruba

3 contenuti / 0 new
Ultimo contenuto
Drupal 8 su hosting condiviso aruba

Come noto ci sono problemi nell'utilizzo di Drupal su Aruba e chiaramente i problemi persistono su Drupal 8.
Dopo una analisi sistemistica è possibile capire che i problemi principali sono:
- La versione di php che deve essere almeno la 5.6
- I file .htaccess presenti in drupal mal digeriti da Aruba.

Per la versione di php, basta andare all'interno del pannello del servizio di hosting Aruba -> Hosting Linux -> versione php e selezionare la 5.6.

Per quanto riguarda i file .htaccess la questione è un po' più complicata.
Il problema è che Aruba non digerisce l'opzione "Indexes" presente nei file .htaccess.
E' possibile risolvere parzialmente rimuovendo tale direttiva "-Indexes, options Indexes ecc..." dai file .htaccess presenti nella root, in /vendor, in /sites/default/files e in /sites/default/files/tmp.

Questo però risolve parzialmente il problema, infatti drupal genera un file .htaccess per ogni file del template di twig compilato all'interno delle directory sites/default/files/php/twig//. Oltre a questo c'è un file .htaccess anche in /sites/default/files/config/sync e in sites/default/files/php/twig. E' probabile che l'installazione di un nuovo modulo, la modifica dei file di template, o altro possano portare alla rigenerazione di file .htaccess in tali directory con l'opzione Indexes non compatibile con Aruba.

Ho visto altri riferimenti al problema nel forum ad esempio qui:
http://www.drupalitalia.org/node/13764
ma la questione è trattata solo parzialmente senza considerare questi altri file .htaccess che possono portare a malfunzionamenti.

Vorrei trovare una soluzione corretta e definitiva al problema come la modifica di qualche file del core di drupal o la creazione di un modulo per evitare che durante la generazione dei vari file .htaccess venga scritto quel -Indexes che provoca al server di Aruba un senso di mancamento.

Se avete idea di come fare per avere la garanzia che nella mia installazione di drupal non comparirà mai un -Indexes nei file .htaccess generati da drupal, potremmo finalmente scrivere la parola fine riguardo l'incompatibilità di Drupal 8 su Aruba.

Attendo vostre notizie in merito!

Grazie

Brennino

Drupal Version:

AGGIORNAMENTO:
Ho notato che Aruba non digerisce oltre a -Indexes anche -ExecCGI -Includes quindi andranno rimossi anche loro.
Inoltre, dopo aver caricato il mio sito locale su aruba e aver rimosso la directory /sites/default/files/php ho notato che sul server di Aruba essa non viene rigenerata mentre sul mio server locale si.
L'unica differenza riscontrata è il modulo "Cache PHP OPcode" che su aruba non è supportato quindi sembra che la generazione dei file .htaccess nella directory dei template non sia un problema su aruba in quanto la funzionalità di caching del template non è disponibile.

Ho trovato comunque una possibile soluzione che può risolvere il problema della generazione dei file htaccess in generale che può essere implementata per sicurezza ma prevede la modifica del core.

Il file che genera i .htaccess è il seguente:
/core/lib/Drupal/Component/PhpStorage/FileStorage.php
Modificando il file e correggendo da: "Options -Indexes -ExecCGI -Includes -MultiViews"
a: "Options -MultiViews"
si avrà la sicurezza che ogni file .htaccess che drupal genererà in futuro non avranno le opzioni non digerite da Aruba.
Essendo una modifica al core, bisogna ricordarsi di riapplicarla ogni volta che si farà un aggiornamento del core.

Ricapitolando, per rendere Drupal 8 compatibile con Aruba, le modifiche che consiglio sono:

- Modificare il file /.htaccess modificando la riga "Options Indexes" in "#Options Indexes"

- Modificare i seguenti file:
./vendor/.htaccess
./sites/default/files/.htaccess
./sites/default/files/tmp/.htaccess
da: "Options -Indexes -ExecCGI -Includes -MultiViews"
a: "Options -MultiViews"

- Modificare il file: /core/lib/Drupal/Component/PhpStorage/FileStorage.php
da: "Options -Indexes -ExecCGI -Includes -MultiViews"
a: "Options -MultiViews"

Se presente la directory /sites/default/files/php, rimuoverla.

Se qualcuno è in grado di creare un modulo Drupal che sovrascriva la modifica al file FileStorage.php sarebbe fantastico in quanto la modifica resisterebbe agli aggiornamenti del core.

Spero che qualcuno si faccia avanti, sarei disposto a dare una mano!

Brennino

Marco Brenna - Programmazione e Progettazione Web - Amo Drupal fino allo sfinimento

Ciao, ho installato il mio sito con Drupal 8 per prova su Aruba, visto che in effetti anni fa con drupal 7 avevo provato ma se se non si smanettava con gli .htaccess il sito non si vedeva proprio... ho scelto un hosting condiviso (pacchetto linux easy, poco più che il base) e mi pare che ora invece funzioni tutto, non ho notato alcun tipo di malfunzionamento, per cui pensavo che Aruba avesse risolto i suoi problemi con Drupal... da cosa dovrei capire che ad Aruba non piace l'Indexes? c'è qualcosa che mi sfugge?