Torna al blog

Configurazione di un Multisito Drupal 9 in Locale con DDEV: Ospitato su Acquia con Acquia Pipelines

2023-03-123 min di lettura

Nel mio attuale lavoro, il team che guido fornisce supporto a tre siti web di una grande organizzazione privata. I tre siti web sono ospitati su Acquia. I siti web fanno parte di una configurazione multisito e il codice sorgente è gestito tramite il servizio Acquia Pipelines.

In sintesi, Acquia Pipelines è un servizio di integrazione e deployment continui fornito da Acquia, una piattaforma basata su cloud che offre hosting, supporto e gestione di livello enterprise per siti web Drupal.

Cos'è DDEV?

DDEV è uno strumento a riga di comando che aiuta gli sviluppatori a configurare rapidamente e facilmente ambienti di sviluppo locali. È progettato per semplificare il processo di configurazione di un server web locale, la gestione delle dipendenze e la configurazione degli ambienti di sviluppo. Se è la prima volta che provi a lavorare con DDEV, assicurati di consultare questo post per iniziare con DDEV.

Cos'è un multisito Drupal?

Drupal multisite è una funzionalità che consente di gestire più siti web utilizzando un'unica codebase e un unico database Drupal. In una configurazione multisito Drupal, più siti web condividono una singola installazione Drupal, il che può ridurre i tempi e i costi di manutenzione.

Ogni sito web in una configurazione multisito Drupal ha il proprio dominio o sottodominio univoco e può avere il proprio tema, moduli, contenuti e configurazioni. Tuttavia, condividono la stessa codebase principale e lo stesso database.

Drupal multisite è utile quando è necessario gestire più siti web che condividono una codebase, un tema o una funzionalità simili, come una rete di siti web correlati o più versioni linguistiche di un sito web. Può semplificare la manutenzione del sito web, ridurre i costi e migliorare la coerenza tra i siti web.

La ricetta per configurare il multisito locale

  1. È necessario configurare il progetto utilizzando DDEV. Consulta questo post per iniziare.
    • La posizione della docroot da cui viene servito il sito deve essere web/docroot. Ti verrà posta una domanda sulla posizione della docroot quando esegui il comando ddev config
  2. Nella cartella .ddev, crea un file chiamato config.multisite.yaml
  3. Il file config.multisite.yaml dovrebbe contenere il seguente contenuto:
additional_hostnames:
  - site1
  - site2
  - site3
  1. Aggiorna il file sites.php per aggiungere i tre domini locali e le loro cartelle corrispondenti.

Il file sites.php è un file di configurazione che consente di mappare nomi di dominio o URL a directory specifiche del sito Drupal.

$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
  1. Crea tre database utilizzando PHPMyAdmin. Se il nome del progetto DDEV fosse mysite, puoi accedere a phpmyadmin all'indirizzo https://mysite.ddev.site:8037/
  2. Esporta i backup del database da Acquia e importali nei database corrispondenti creati come parte del passaggio 4.
    • Se i database sono grandi, puoi utilizzare un comando ddev per importarli: ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
  3. Nella directory di ciascun file, devi aggiungere questo file ddev file.
  4. Il file settings.php di ciascun sito deve essere aggiornato per includere il codice da questo file.
  5. Esegui ddev ssh e successivamente composer install
    • il comando ddev ssh ti consente di accedere all'interfaccia a riga di comando (CLI) di un container web ddev in esecuzione, in modo da poter eseguire composer, drush e altri comandi dall'interno del container web.

Categorie: