Guida per installare Drupal

Installazione

Drupal si installa in due modi principali: con un ambiente locale gestito manualmente, seguendo la procedura standard con Composer, oppure con DDEV, uno strumento che automatizza la configurazione dell'intero stack in pochi comandi. Per chi lavora regolarmente su progetti Drupal, DDEV è la scelta più efficiente.

Prerequisiti comuni

In entrambi i casi servono:

  • PHP 8.3 o superiore
  • Composer (gestore di dipendenze PHP)
  • Un database MySQL, MariaDB o PostgreSQL
  • Un server web Apache o Nginx

Con DDEV questi requisiti sono soddisfatti automaticamente tramite Docker: non serve configurare nulla a livello di sistema operativo.

Installazione con DDEV

DDEV è lo strumento raccomandato dalla community per lo sviluppo locale. Gestisce PHP, il server web, il database e Drush in container Docker preconfigurati, eliminando i problemi di compatibilità tra ambienti diversi.

Installare DDEV (se non già presente):

# macOS brew install ddev
 # Linux / WSL2 curl -fsSL https://raw.githubusercontent.com/ddev/ddev/main/scripts/install_ddev.sh | bash

Creare e avviare il progetto:

mkdir mio-sito && cd mio-sito
 ddev config --project-type=drupal --php-version=8.3 --docroot=web
 ddev start
 ddev composer create drupal/recommended-project .  ddev drush site:install --account-name=admin --account-pass=admin -y
 ddev launch

L'ultimo comando apre il browser direttamente sul sito. L'installazione completa richiede circa cinque minuti, Docker incluso.

Per accedere all'area amministrativa:

ddev drush uli

Questo comando genera un link di login temporaneo senza dover inserire credenziali.

Installazione standard senza DDEV

Per chi preferisce gestire l'ambiente manualmente o lavora su un server remoto.

Scaricare Drupal via Composer:

composer create-project drupal/recommended-project mio-sito
cd mio-sito

La struttura generata da recommended-project separa il codice di Drupal dalla root del progetto: il documento pubblico è in web/, mentre composer.json, i moduli contrib scaricati e i file di configurazione si trovano fuori dalla webroot, una scelta di sicurezza importante.

Configurare il database e il file settings:

cp web/sites/default/default.settings.php web/sites/default/settings.php
chmod 644 web/sites/default/settings.php

Puntare il server web sulla directory web/ e aprire il browser per avviare il wizard di installazione grafico, oppure usare Drush da riga di comando:

vendor/bin/drush site:install standard \   --db-url=mysql://utente:password@localhost/nome_db \   --account-name=admin \   --account-pass=password-sicura \   -y

Installare moduli contrib

In entrambi gli approcci, i moduli si installano sempre via Composer:

# Con DDEV ddev composer require drupal/nome-modulo
ddev drush en nome-modulo -y
 # Senza DDEV composer require drupal/nome-modulo
vendor/bin/drush en nome-modulo -y

Non scaricare mai moduli manualmente copiando file: Composer gestisce le dipendenze transitive e garantisce che le versioni siano compatibili tra loro.

Aggiornamenti

Gli aggiornamenti del core e dei moduli seguono lo stesso schema:

# Con DDEV ddev composer update drupal/core-recommended --with-all-dependencies
ddev drush updatedb -y
ddev drush cache:rebuild
 # Senza DDEV composer update drupal/core-recommended --with-all-dependencies
vendor/bin/drush updatedb -y
vendor/bin/drush cache:rebuild

Il comando updatedb applica eventuali aggiornamenti dello schema del database introdotti dalla nuova versione. Va eseguito ogni volta dopo un aggiornamento, prima di andare in produzione.

Una nota su Drush

Drush è l'interfaccia a riga di comando di Drupal. Permette di eseguire operazioni amministrative, importare ed esportare configurazione, svuotare la cache, gestire gli utenti e molto altro senza passare dall'interfaccia web. In un flusso di lavoro professionale è uno strumento indispensabile: quasi tutte le operazioni di deployment e manutenzione passano da Drush.

Con DDEV si invoca con il prefisso ddev drush. Senza DDEV, con vendor/bin/drush dalla root del progetto.