Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

"cwd" sta per "current working directory", in altre parole si dice a Lando che abbiamo già a disposizione la codebase e siamo nella sua root.
"drupal9" specifica che UNIMIB è un sito in Drupal 9.
"web" indica che la webroot di UNIMIB si trova nella cartella /web della codebase, come tutti i nostri progetti Drupal. Se si volesse fare coincidere root e webroot, lo si indica usando il punto ("--webroot .")

3. si fa il building dell'app:
lando start

4. si aggiunge modifica la cartella /web/sites:

  • se presente il file /web/sites/sites.php, cancellarlo o commentare la riga del require() al suo interno. Diversamente il browser mostrerà "The website encountered an unexpected error. Please try again later.".
  • controllare nel file web/sites/default/settings.php la presenza del codice $settings['trusted_host_patterns'] = [] e nel caso commentarlo. 
  • aggiungere in fondo al file web/sites/default/settings.php il seguente codice:

    $databases['default']['default'] = array (
      'database' => 'drupal9',
      'username' => 'drupal9',
      'password' => 'drupal9',
      'prefix' => '',
      'host' => 'database.unimib.internal',
      'port' => '3306',
      'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
      'driver' => 'mysql',
    );

Il valore di 'database', 'username' e 'password' coincide con il valore passato al flag "–recipe", nel "lando init". Ciò significa che se stessimo lavorando in Drupal 8, il valore da inserire per databsae, username e password sarebbe "drupal8".

Il nome dell'host cambia a seconda del nome del progetto:
database.[nomeprogetto].internal
Se il progetto si fosse chiamato "pippo", l'host sarebbe diventato "database.pippo.internal".

Se presente nel settings.php, commentare $settings['trusted_host_patterns'] = [].

Se presente il file /web/sites/sites.php, cancellarlo (o commentare la riga del require al tuo interno).

Se è già presente un $databases['default']['default'] all'interno del file, provare a modificarlo (da testare).
In alterantivaIn caso di problemi, rimuovere la cartella /web/sites e sostituirla con la cartella /web/sites di un semplice progetto Lando in Drupal 9, in cui Drupal è stato installato Drupal (ad esempio come il progetto descritto nella pagina "Primi passi").
Controllare che le cartelle /sites e /sites/default siano accessibili anche agli utenti non root; in caso contrario (dovrebbe comparire l'icona di un lucchetto sopra la cartella), eseguire il comando:
sudo chmod -R 777 sites

5. importare il database; in questo caso si è posto il dump (pippo.sql) nella root del progetto:
lando db-import pippo.sql6. aprire il sito nel browser e procedere con l'installazione.
Quando vengono richieste le credenziali per il database, inserire "drupal9" per i campi nome, utente e password, mentre "database.unimib.internal" per il campo host. Quindi procedere con l'installazione.
A fine processo, clicca sul link del sito ed inizia a sviluppare

Se il dump proviene da una versione MySQL precedente la versione utilizzata nel progetto Lando, durante l'importazione potrebbe comparire l'errore:
Unknown collation: 'utf8mb4_unicode_ci'
Per risolverlo, occorre aggiornare il formato UTF del file dump, andando a sostituire le seguenti stringhe:
utf8mb4_0900_ai_ci          con       utf8_unicode_ci
utf8mb4                                 con       utf8
utf8_unicode_520_ci         con       utf8_unicode_ci
Esistono diversi metodi per modificare un file dump: uno di questi è usando l'editor GNU nano. Per farlo ci si porta col terminale nella cartella dove si trova il file, si esegue il comando:
nano pippo.sql
e si usano i comandi di sostituzione.

6. aprire il sito nel browser (es: https://unimib.lndo.site/).

Se il sito mostra problemi di CSS e JS, si consiglia di aggiungere le seguenti righe al file settings.php:
$config['system.performance']['css']['preprocess'] = 0;
$config['system.performance']['js']['preprocess'] = 0;
ed eseguire i comandi:
lando rebuild
lando drush cr
In questo modo, il sito si comporterà come se le opzioni "Unire i file CSS" ed "Unire i file JavaScript" alla pagina /admin/config/development/performance nel backoffice fossero entrambe non spuntate.


MEDIA
Per aggiungere i media (immagini, video, ...) nel progetto, scaricare la cartella /Files files come si è fatto per il dump del database (es: 20221122140605.files.tar.gz). Una volta che si ha la cartella, si sposta scaricata e scompattata, spostarne il contenuto all'interno di /web/sites/default/files.

...

NOTA BENE!
Il comando "lando destroy" rimuove sia il building che il database. Ciò significa che, una volta distrutta l'applicazione, occorre rieseguire lando start e riprendere dal punto 65.