Configurazione di un Multisito Drupal 9 in Locale con DDEV: Ospitato su Acquia con Acquia Pipelines
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
- È 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
- 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
- Nella cartella .ddev, crea un file chiamato config.multisite.yaml
- Il file config.multisite.yaml dovrebbe contenere il seguente contenuto:
additional_hostnames:
- site1
- site2
- site3
- 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';
- Crea tre database utilizzando PHPMyAdmin. Se il nome del progetto DDEV fosse mysite, puoi accedere a phpmyadmin all'indirizzo https://mysite.ddev.site:8037/
- 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
- Se i database sono grandi, puoi utilizzare un comando ddev per importarli:
- Nella directory di ciascun file, devi aggiungere questo file ddev file.
- Il file settings.php di ciascun sito deve essere aggiornato per includere il codice da questo file.
- Esegui
ddev ssh
e successivamentecomposer 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.
- il comando