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.example
in un nuovo file.env
e personalizzare le voci nella sezioneLOCAL SETTINGS
. In particolare:- il path
SOURCE_DIR
deve terminare con la cartella/html
PROJECT_BASE_URL=comunicaitalia.loc
. Se si decide per un altro url, bisogna modificare il valore dell'impostazionetrusted_host
nei file:/html/build/build.local.default.yml
qui modificare anche la propertydomain
/html/build/build.prod.default.yml
qui modificare anche la propertydomain
/html/web/sites/default/settings.php
qui la property si chiamatrusted_host_patterns
- il path
- copiare il file
html/build/build.local.default.yml.example
in un nuovo filehtml/build/build.local.default.yml
- modificare la configurazione di
WebProfiler
inhtml/build/build.local.default.yml
. In particolare il path deve terminare con la cartella/we 8000 b
- 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
html
ed eseguire il comandosource .aliases
- eseguire il comando
build
e attendere il completamento della procedura - il sito include un sistema di Basic Authentication, configurato in
/html/web/sites/default/settings.php
per 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 local
esporta le configurazioni sul filesystemrobo configuration:import -e local
importa le configurazioni dal filesystemrobo content:export -e local
esporta 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