Directus: Database esterne

Come connettere Directus a un database MySQL, MariaDB o PostgreSQL

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre un servizio Directus cloud pronto per l'uso in produzione in soli 2 minuti:

  • Collezioni, elementi, utenti, ruoli, richieste API e trasferimenti dati illimitati
  • Nome di dominio personalizzato con HTTPS integrato per un accesso sicuro (ad esempio, https://cms.tua-azienda.com)
  • Server email dedicato per invii illimitati di email transazionali e di notifica
  • Redis cache integrata per alte prestazioni
  • Prestazioni costanti e sicurezza avanzata grazie a un'infrastruttura privata e dedicata
  • Aggiornamenti con un clic per mantenere il sistema sempre aggiornato con il minimo sforzo

Concentrati sul tuo progetto, non sulla configurazione: puoi scoprire la soluzione Directus cloud di Stackhero in soli 5 minuti.

Le istanze di Directus su Stackhero sono configurate di default con un database SQLite. Questo rende facile iniziare, permettendo di esplorare la piattaforma o eseguire test in pochi minuti. Tuttavia, per ambienti di produzione, si raccomanda un database esterno più robusto.

  1. Innanzitutto, create un utente per Directus su MySQL o MariaDB. Aprite phpMyAdmin e navigate su Account utente seguito da Aggiungi account utente.

  2. Fornite un nome utente (ad esempio, directus). Impostate una password sicura cliccando sul pulsante Genera, scegliete Autenticazione MySQL nativa, e selezionate Crea database con lo stesso nome e concedi tutti i privilegi.

    Creazione utente Directus su un database MySQL/MariaDBCreazione utente Directus su un database MySQL/MariaDB

  3. Successivamente, accedete al vostro dashboard Stackhero. Selezionate il vostro servizio Directus e cliccate su Configura.

  4. Nel pannello di configurazione sotto Database, scegliete MySQL/MariaDB e completate i campi rimanenti come mostrato nello screenshot qui sotto.

    Configurazione di MySQL/MariaDB per DirectusConfigurazione di MySQL/MariaDB per Directus

  1. Iniziate creando un utente per Directus su PostgreSQL. Aprite PgAdmin, espandete server > postgresql, cliccate con il tasto destro su Ruoli di accesso/Gruppo, e selezionate Crea > Ruolo di accesso/Gruppo....

  2. Nel campo Nome, inserite directus.

  3. Passate alla scheda Definizione e impostate una password forte e sicura.

  4. Successivamente, andate alla scheda Privilegi, selezionate Può accedere, e salvate il nuovo utente.

    Creazione utente Directus su un database PostgreSQLCreazione utente Directus su un database PostgreSQL

  5. Ora create un database per Directus. Cliccate con il tasto destro su Database e scegliete Crea > Database.

  6. Inserite directus nel campo Database, selezionate directus come proprietario, e salvate le modifiche.

    Creazione di un database Directus su PostgreSQLCreazione di un database Directus su PostgreSQL

  7. Infine, navigate al vostro dashboard Stackhero, selezionate il vostro servizio Directus, e cliccate su Configura.

  8. Sotto Database, selezionate PostgreSQL e compilate i campi aggiuntivi come mostrato di seguito.

    Configurazione di PostgreSQL per DirectusConfigurazione di PostgreSQL per Directus

Se vedete l'errore 🚨 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client quando utilizzate un server MySQL che impiega il nuovo protocollo di autenticazione SHA2 in cache, Directus non sarà in grado di connettersi correttamente. La soluzione è passare all'autenticazione MySQL nativa tradizionale.

  1. Se utilizzate phpMyAdmin, navigate su Account utente, selezionate il vostro utente Directus, cliccate su Cambia password, e inserite la vostra password. Assicuratevi di scegliere Autenticazione MySQL nativa come metodo di hashing della password.

  2. In alternativa, potete eseguire i seguenti comandi SQL utilizzando la CLI. Sostituite directus con il vostro nome utente e mySecretPassword con la password scelta:

    ALTER USER 'directus'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'mySecretPassword';
    FLUSH PRIVILEGES;
    

Seguendo questi passaggi, garantirete che la vostra installazione di Directus su Stackhero utilizzi un database esterno progettato per un ambiente di produzione, offrendo prestazioni e affidabilità migliorate.