Il routing interno verso le immagini e la terminazione HTTPS sono gestite da Træfik.
Per velocizzare l'accesso su MacOs ai file nel volume dell'applicazione montato sui container php e apache è stato scelto di
utilizzare il driver nfs, per abilitarlo eseguire lo script file-setup_native_nfs_docker_osx.sh
- copiare il file
.env.examplein un nuovo file.enve personalizzare le voci nella sezioneLOCAL SETTINGS. In particolare:- il path
SOURCE_DIRdeve terminare con la cartella/html PROJECT_BASE_URL=comunicaitalia.loc. Se si decide per un altro url, bisogna modificare il valore dell'impostazionetrusted_hostnei file:/html/build/build.local.default.ymlqui modificare anche la propertydomain/html/build/build.prod.default.ymlqui modificare anche la propertydomain/html/web/sites/default/settings.phpqui la property si chiamatrusted_host_patterns
- il path
- copiare il file
html/build/build.local.default.yml.examplein un nuovo filehtml/build/build.local.default.yml - modificare la configurazione di
WebProfilerinhtml/build/build.local.default.yml. In particolare il path deve terminare con la cartella/web - scaricare i moduli Monolog e Devel e copiarne il contenuto nelle rispettive cartelle:
Monolog /html/web/modules/contrib/monolog
Devel
/html/web/modules/contrib/devel
5. spegnere eventuali servizi che potrebbero occupare le porte dello stack di questo progetto e avviare lo stack Docker con il comando make up
6. configurare il proprio /etc/hosts inserendo l'indirizzo del progetto web.comunicaitalia.loc o altro indirizzo come da punto 1.
Il sistema viene ricostruito a partire dai soli file del repository GIT mediante un processo di build:
- spostarsi nella cartella
htmled eseguire il comandosource .aliases - eseguire il comando
builde attendere il completamento della procedura - il sito include un sistema di Basic Authentication, configurato in
/html/web/sites/default/settings.phpper evitare l'indicizzazione da parte dei bot. Username e password sono indicate nel file stesso.
Diversi comandi sono mappati in automatico sul container Docker php, quindi per usarli è sufficiente spostarsi nella
cartella html ed eseguire il comando source .aliases:
- drush
- drupal (Drupal Console)
- composer
- robo
Sono stati definiti una serie di task Robo per automatizzare alcune operazioni:
robo configuration:export -e localesporta le configurazioni sul filesystemrobo configuration:import -e localimporta le configurazioni dal filesystemrobo content:export -e localesporta i nodi sul filesystem
Su alcuni sistemi Linux il primo utente non root non è 1000 ma 1001. Le immagini di Wodby utilizzate in questo progetto
prevedono che l'utente sul sistema host abbia UID e GUID impostati a 1000 (lo puoi scoprire con i comandi id -u e
id -g). In questo caso è necessario sostituire l'immagine di default wodby/drupal-php con una custom
wellnetimages/wodby-drupal-php dentro alla quale l'utente wodby è mappato sull'utente 1001 dell'host.
Potrebbero:
- non essere corretta la configurazione dell'url del progetto. Controllare i valori nei file del punto 1.2.
- non essere stata flushata correttamente la cache del dns
Dallo stack trace risalire al modulo che la contiene, verificare che esista il contenuto come da punto 5. Infine rilanciare la build.
Verificare i valori di $username e $password del punto 3 della fase di build.
Messaggi relativi a moduli non installati o non abilitati indicano che la build non è andata a buon fine.
Es:
The service "cache_tags.invalidator.checksum" has a dependency on a non-existent service "redis.factory".
Se il browser non prompta la basic authentication, ma invece segnala il seguente errore:
Error: "The provided host name is not valid for this server."
Allora non è corretta la configurazione dell'URL di progetto al punto 1.2.
In particolare questo errore viene lanciato dal fallimento del controllo trusted_host_patterns in settings.php