You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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

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). Diversamente il browser mostra "The website encountered an unexpected error. Please try again later.".

Se è già presente un $databases['default']['default'] all'interno del file, provare a modificarlo (da testare).
In alterantiva, 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.


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.

  • No labels