Versions Compared

Key

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

Si prende come esempio il sito default di UNIMIBd9 prod.

Prima di iniziare serve avere un dump del database.
Il dump si può scaricare o tramite CLI (usando l'utenza portalidrupal) o attraverso il DIM; in quest'ultimo caso, si va alla voce "View backups", si seleziona il file dump (es: 20221116150754.db.sql.gz) e si clicca su Download. Se nella pagina "View backups" non è presente alcun dump, occorre crearne uno andando alla voce "Make backups", scegliendo "DB" come type e cliccando su "Submit": ora nella pagina "View backups" sarà presente un file dump.
Se il dump è in formato compresso, serve scompattarlo (es: 20221116150754.db.sql).


Passaggi:

1. si scarica il codice sorgente e ci si sposta al suo interno:
git clone git@gitlab.cineca.it:drupal/prod_unimibd9.git
cd prod_unimibd9

2. si inizializza l'app nella root del progetto:
lando init \
  --source cwd \
  --recipe drupal9 \
  --webroot web \
  --name unimib

"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.

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

4. si 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 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".

In 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 è 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.sql

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


MEDIA
Per aggiungere i media (immagini, video, ...) nel progetto, scaricare la cartella /files come si è fatto per il dump del database (es: 20221122140605.files.tar.gz). Una volta 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 6.