Directus: Database esterne

Come connettere Directus a un database MySQL, MariaDB o PostgreSQL

👋 Benvenuti 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 illimitati
  • Nome di dominio personalizzabile protetto con HTTPS (ad esempio, https://cms.tua-azienda.com)
  • Server email dedicato e illimitato incluso
  • Server cache Redis incluso per alte prestazioni
  • Prestazioni ottimali e sicurezza robusta garantite da una VM privata e dedicata.
  1. Aggiornamenti con un clic per una manutenzione senza sforzo

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione cloud Directus di Stackhero!

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.