In questa sezione, imparerai:

  • Come installare Plesk senza un database Plesk locale ma con un database ospitato su server di database remoto.
  • I vantaggi e svantaggi di Plesk con database ospitato su un server di database remoto.
  • Le procedure d’installazione per un server di database remoto condiviso e dedicato.
  • Come convertire un database Plesk remoto in un database locale.

Plesk necessita di server di database per memorizzare il proprio database psa, i database utilizzati dai suoi componenti e i database creati dalla memorizzazione dei siti web e delle applicazioni dei clienti (per esempio, un database WordPress). Plesk può lavorare con server di database situati sullo stesso server di Plesk (server di database locali) o su un computer remoto (server di database remoto).

Per impostazione predefinita, l’installazione di Plesk installa anche un server di database locale. Plesk lo utilizza per ospitare il proprio database psa. Questo vale anche se i siti web ospitati utilizzano server di database remoti.

Tuttavia, è possibile installare Plesk senza utilizzare un database locale e ospitare il database psa di Plesk su un server di database remoto.

Nota: Al momento, è possibile utilizzare solo Plesk per Linux con il database remoto.

Con il database di Plesk ospitato su un server di database remoto, è possibile eseguire le seguenti operazioni:

  • Esternalizzare il supporto del server di database.
  • Utilizzare strumenti avanzati di gestione dei database web, ad esempio quelli offerti da Amazon RDS.
  • Utilizzare un servizio di database specifico che non può essere installato sullo stesso server di Plesk.
  • Ospitare più database di Plesk su un server di database centralizzato se si dispone di più server Plesk.
  • Creare un’infrastruttura ad alta disponibilità per Plesk ospitando il database di Plesk su un cluster di database multi-nodo (ad esempio, MariaDB Galera Cluster). Plesk non supporta l’installazione locale di MariaDB Galera Cluster.

Gli svantaggi di Plesk con un database remoto sono i seguenti:

  • Aumenta i costi finanziari (sia che si tratti di un server di database aggiuntivo o di un servizio AWS).
  • Richiede più tempo, sforzi e competenze per l’installazione e la manutenzione (rispetto all’installazione predefinita di Plesk).

Installazione di Plesk con il suo database su un server di database remoto

Prerequisiti

L’esatta procedura d’installazione varia a seconda del tipo di server di database remoto: dedicato o condiviso.

Un server di database dedicato non ha database o utenti di database creati in precedenza. Devi avere la possibilità di creare un utente amministratore del database con tutti i privilegi. Quindi lo script del programma d’installazione di Plesk creerà automaticamente il database psa di Plesk.

Un server di database condiviso contiene già alcuni database e utenti di database. Non è possibile creare un utente amministratore di database con tutti i privilegi. Invece, si creano manualmente tutti i database e gli utenti di database necessari per eseguire Plesk.

(Server di database remoto dedicato) Per installare Plesk con il suo database su un server di database remoto:

Nota: Per prima cosa, è necessario installare un sistema di gestione del database sul server di database remoto. Per ora, ti consigliamo di utilizzare MySQL, dato che lo abbiamo testato con risultati positivi.

Nota: Di seguito è riportata una procedura passo-passo per il server di database remoto in esecuzione su Ubuntu. Per le altre distribuzioni Linux, fai riferimento alla documentazione Oracle, quindi salta direttamente al passo cinque della procedura qui sotto.

  1. Accedi al server di database remoto e installa il server MySQL:

    [mysql_server]$ wget https://repo.mysql.com//mysql-apt-config_0.8.22-1_all.deb
    [mysql_server]$ dpkg -i mysql-apt-config_0.8.22-1_all.deb
    [mysql_server]$ apt update
    [mysql_server]$ apt install mysql-server
    [mysql_server]$ locate my.cnf
    
  2. Aggiungi le informazioni sulla password nativa a my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
  3. Riavvia il server MySQL per applicare le modifiche:

    [mysql_server]$ systemctl restart mysql
    
  4. Apri l’applicazione del server MySQL e crea un superuser per il database:

    [mysql_server]$ mysql
    
    # welcome message output
    
    mysql> CREATE USER 'mysql_admin'@'%' IDENTIFIED BY '<password>';
    mysql> GRANT ALL ON *.* TO 'mysql_admin'@'%' WITH GRANT OPTION;
    
  5. Assicurati che il server Plesk abbia accesso al server del database remoto. Per farlo, controlla il valore del parametro bind-address del sistema di database remoto. Deve essere il seguente:

    bind-address = 0.0.0.0
    

    oppure

    bind-address = <IP address of the remote database server the Plesk server will connect to>
    

    Per altre informazioni sul parametro bind-address, fai riferimento alla documentazione MySQL o MariaDB.

  6. Verifica la connessione al server remoto MySQL dal server Plesk:

    # try to connect to the MySQL server from the Plesk server
    [another_server]$ mysql --host=mysql_server --user=mysql_admin --password=<password>
    
  7. Crea un utente amministratore per il database con tutti i privilegi:

    CREATE USER 'plesk_db_admin'@'%' IDENTIFIED BY '<plesk_db_admin_password>';
    GRANT ALL ON *.* TO 'plesk_db_admin'@'%' WITH GRANT OPTION;
    
  8. Accedi al server Plesk.

  9. Sul server Plesk, esegui lo script d’installazione di Plesk specificando l’utente amministratore del database (creato nel passaggio precedente) tramite la variabile d’ambiente PLESK_DB_DSN_PREFIX:

    PLESK_DB_DSN_PREFIX=mysql://plesk_db_admin:<plesk_db_admin_password>@mysql_server/host1_ ./plesk-installer
    

    Nota: Per usare utenti di database e/o nomi di database specifici, usa variabili ambientali DSN per database insieme alla o al posto della variabile PLESK_DB_DSN_PREFIX. Ad esempio, per specificare un nome di database per Plesk e mantenere tutto il resto come predefinito, specifica le seguenti variabili ambientali:

    PLESK_DB_DSN_PREFIX=mysql://plesk_db_admin:<plesk_db_admin_password>@mysql_server/host1_
    PLESK_DB_DSN=mysql://plesk_db_admin:<plesk_db_admin_password>@mysql_server/host1_plesk
    

    In questo caso, dopo l’installazione di Plesk, verrà creato il database host1_plesk invece di host1_psa.

Hai configurato tutto il necessario per far sì che Plesk ospiti il suo database sul server di database remoto. Ora non ti resta che accedere a Plesk per la prima volta.

(Server di database remoto condiviso) Per installare Plesk con il suo database su un server di database remoto:

Nota: Presumiamo che tu abbia già configurato un sistema di gestione di database (ad esempio, MySQL/MariaDB) sul server di database remoto. In caso contrario, fai riferimento alla procedura descritta sopra per un server di database dedicato: contiene un esempio di configurazione del sistema di gestione del database.

  1. Accedi al server di database remoto e accedi all’applicazione del server MySQL:

    mysql
    
  2. Crea database e utenti di database con i privilegi specificati nella tabella «Utenti di database»:

    CREATE DATABASE host1_psa; # Plesk Database
    CREATE USER 'plesk_db_user'@'%' IDENTIFIED BY '<plesk_db_user_password>';
    GRANT ALL ON host1_psa.* TO 'plesk_db_user'@'%' WITH GRANT OPTION;
    
    CREATE DATABASE host1_apsc; # APSC Database
    CREATE USER 'apsc_db_user'@'%' IDENTIFIED BY '<apsc_db_user_password>';
    GRANT ALL ON host1_apsc.* TO 'apsc_db_user'@'%' WITH GRANT OPTION;
    
    CREATE DATABASE host1_roundcubemail; # Roundcube Webmail Database
    CREATE USER 'roundcube_db_user'@'%' IDENTIFIED BY '<roundcube_db_user_password>';
    GRANT ALL ON host1_roundcubemail.* TO 'roundcube_db_user'@'%' WITH GRANT OPTION;
    
    CREATE DATABASE host1_horde; # Horde Webmail Database
    CREATE USER 'horde_db_user'@'%' IDENTIFIED BY '<horde_db_user_password>';
    GRANT ALL ON host1_horde.* TO 'horde_db_user'@'%' WITH GRANT OPTION;
    
  3. Sul server Plesk, esegui lo script d’installazione di Plesk specificando i database e gli utenti del database (creati nel passaggio precedente) tramite le seguenti variabili ambientali: PLESK_DB_DSN, PLESK_DB_APSC_DSN, PLESK_DB_ROUNDCUBE_DSN e/o PLESK_DB_HORDE_DSN.

    PLESK_DB_DSN=mysql://plesk_db_user:<plesk_db_user_password>@mysql_server/host1_psa \
    PLESK_DB_APSC_DSN=mysql://apsc_db_user:<apsc_db_user_password>@mysql_server/host1_apsc \
    PLESK_DB_ROUNDCUBE_DSN=mysql://roundcube_db_user:<roundcube_db_user_password>@mysql_server/host1_roundcubemail \
    # and/or PLESK_DB_HORDE_DSN=mysql://horde_db_user:<horde_db_user_password>@mysql_server/host1_horde \
    ./plesk-installer
    
  4. Assicurati che il server Plesk abbia accesso al server del database remoto. Per farlo, controlla il valore del parametro bind-address del sistema di database remoto. Deve essere il seguente:

    bind-address = 0.0.0.0
    

    oppure

    bind-address = <IP address of the remote database server the Plesk server will connect to>
    

    Per altre informazioni sul parametro bind-address, fai riferimento alla documentazione MySQL o MariaDB.

Hai configurato tutto il necessario per far sì che Plesk ospiti il suo database sul server di database remoto. Ora non ti resta che accedere a Plesk per la prima volta.

Convertire il database remoto di Plesk in un database locale

Se hai installato Plesk con un database remoto ma hai cambiato idea, puoi convertire il database remoto di Plesk in uno locale e ottenere così l’installazione di Plesk predefinita.

Nota: Al momento non è possibile fare il contrario. Non è possibile, cioè, convertire un database di Plesk locale in uno remoto.

Prerequisiti

  • Un server di database remoto su cui è ospitato il database di Plesk.
  • Un server Linux su cui è installato Plesk. Lo chiameremo server Plesk.

Per convertire il database remoto di Plesk in un database locale:

  1. Copia un dump dei seguenti database dal server di database remoto: psa, apsc, roundcubemail e/o horde:

    plesk db dump host1_apsc host1_psa host1_roundcubemail > dump_from_host1.sql
    
  2. Rimuovi i prefissi (se presenti) dai nomi dei database:

    sed -i 's/host1_apsc/apsc/g' dump_from_host1.sql
    sed -i 's/host1_psa/psa/g' dump_from_host1.sql
    sed -i 's/host1_roundcubemail/roundcubemail/g' dump_from_host1.sql
    sed -i 's/host1_horde/horde/g' dump_from_host1.sql
    
  3. Accedi al server Plesk e rinomina il file /etc/psa/private/dsn.ini che contiene i dati di configurazione del database remoto. Questo disabiliterà il supporto del database remoto sul server Plesk:

    mv /etc/psa/private/dsn.ini /etc/psa/private/dsn.ini.backup
    
  4. Crea un utente amministratore del database:

    PSA_PASSWORD=<new_admin_password> plesk sbin ch_admin_passwd
    
  5. Implementa il dump copiato sul server Plesk:

    plesk db < dump_from_host1.sql
    
  6. Controlla che il database non presenti problemi e risolvili (se ce ne sono) usando l’utility plesk repair db:

    plesk repair db
    

La conversione è stata completata e Plesk ospita ora il suo database sulla macchina locale. Ora è possibile accedere a Plesk.

Riferimenti

Utenti del database

image db users

Variabili d’ambiente

Variabile d’ambiente DSN per tutti i database in base al prefisso

Variabile d’ambiente Formato del valore Descrizione
PLESK_DB_DSN_PREFIX mysql://{plesk_db_admin}:{password}@{remote_db_host}/{db_prefix}

Specifica questa variabile se vuoi che il programma d’installazione crei tutti i database di cui ha bisogno aggiungendo il prefisso db_prefix ai loro nomi.

Nota:

Se db_prefix viene lasciato vuoto, verranno utilizzati i nomi di database predefiniti: psa, apsc, roundcubemail e/o horde.

Variabili ambientali DSN in base al database

Variabile d’ambiente Formato del valore Descrizione
PLESK_DB_DSN mysql://{plesk_db_user}:{password}@{remote_db_host}/{plesk_db_name}

Specifica questa variabile se desideri che il programma d’installazione utilizzi plesk_db_name come nome del database Plesk. Il database deve essere aggiunto in anticipo, oppure plesk_db_user deve avere i privilegi per creare il database plesk_db_name (ad esempio, specifica plesk_db_admin).

Nota:

Se plesk_db_name viene lasciato vuoto, verrà utilizzato il nome predefinito psa.

PLESK_DB_APSC_DSN mysql://{apsc_db_user}:{password}@{remote_db_host}/{apsc_db_name}

Specifica questa variabile se desideri che il programma d’installazione utilizzi apsc_db_name come nome del database APSC. Il database deve essere aggiunto in anticipo, oppure apsc_db_user deve avere i privilegi per creare il database apsc_db_name (ad esempio, specifica apsc_db_admin).

Nota:

Se apsc_db_name viene lasciato vuoto, verrà utilizzato il nome predefinito apsc.

PLESK_DB_ROUNDCUBE_DSN mysql://{roundcube_db_user}:{password}@{remote_db_host}/{roundcube_db_name}

Specifica questa variabile se desideri che il programma d’installazione utilizzi roundcube_db_name come nome del database Roundcube. Il database deve essere aggiunto in anticipo, oppure roundcube_db_user deve avere i privilegi per creare il database roundcube_db_name (ad esempio, specifica roundcube_db_admin).

Nota:

Se roundcube_db_name viene lasciato vuoto, verrà utilizzato il nome predefinito roundcube.

PLESK_DB_HORDE_DSN mysql://{horde_db_user}:{password}@{remote_db_host}/{horde_db_name}

Specifica questa variabile se desideri che il programma d’installazione utilizzi horde_db_name come nome del database Horde. Il database deve essere aggiunto in anticipo, oppure horde_db_user deve avere i privilegi per creare il database horde_db_name (ad esempio, specifica horde_db_admin).

Nota:

Se horde_db_name viene lasciato vuoto, verrà utilizzato il nome predefinito horde.