En este tema descubrirá:

  • Cómo instalar Plesk sin una base de datos Plesk local pero con una alojada en un servidor de base de datos remoto.
  • Pros y contras de Plesk con la base de datos alojada en un servidor de base de datos remoto.
  • Procedimientos de instalación de Plesk para un servidor de base de datos remoto compartido y dedicado.
  • Cómo convertir una base de datos Plesk remota en una local.

Advertencia: La instalación de Plesk sin la base de datos local es una prestación en fase beta. Le recomendamos encarecidamente no usarla en producción, puesto que esta prestación puede incluir fallos.

Plesk necesita servidores de base de datos para almacenar su propia base de datos psa, bases de datos usadas por sus componentes y bases de datos creadas por las aplicaciones y sitios web de los clientes de hosting (por ejemplo, una base de datos WordPress). Plesk puede operar con servidores de base de datos presentes en el mismo servidor con Plesk (servidores de base de datos locales) o en una máquinan remota (servidores de base de datos remotos).

Por defecto, al instalar Plesk también se instala un servidor de bases de datos local. Plesk lo usa para alojar su propia base de datos psa. Esto es así incluso en el caso de que los sitios web alojados usen servidores de bases de datos remotos.

De todos modos, puede instalar Plesk sin usar ninguna base de datos local y alojar la base de datos psa de Plesk en un servidor de bases de datos remoto.

Nota: En este momento, solo puede usar Plesk para Linux con la base de datos remota.

El hecho de que la base de datos de Plesk esté alojada en un servidor de bases de datos remoto le permite:

  • Externalizar el soporte para el servidor de bases de datos.
  • Usar herramientas avanzadas de gestión de bases de datos web, por ejemplo, las que ofrece Amazon RDS.
  • Usar un determinado servicio de base de datos que no pueda instalarse en el mismo servidor como Plesk.
  • Alojar múltiples bases de datos Plesk en un servidor centralizado de bases de datos si dispone de más de un servidor Plesk.
  • Crear una infraestructura de alta disponibilidad para Plesk mediante el hosting de la base de datos Plesk en un clúster de base de datos de múltiples nodos (por ejemplo, MariaDB Galera Cluster). Plesk no soporta la instalación local de MariaDB Galera Cluster.

Los inconvenientes de Plesk con una base de datos remota son los siguientes:

  • Aumenta los costes financieros (ya se trate de un servidor de bases de datos adicional o servicio AWS).
  • Requiere de más tiempo, esfuerzo y experiencia en términos de instalación y el mantenimiento (en comparación con la instalación predeterminada de Plesk).

Instalación de Plesk con su base de datos en un servidor de bases de datos remoto

Requisitos mínimos

El procedimiento de instalación exacto varía en función del tipo de su servidor de base de datos remoto: dedicado o compartido.

Un servidor de bases de datos remoto no dispone de bases de datos ni usuarios de base de datos creados previamente. Debe poder crear un usuario admin de la base de datos con todos los privilegios. Entonces el script de Plesk Installer creará la base de datos psa de Plesk de forma automática.

Un servidor de base de datos compartido ya dispone de algunas bases de datos y usuarios de base de datos. No puede crear un usuario admin de la base de datos con todos los privilegios. En su lugar, cree todas las bases de datos y usuarios de bases de datos necesarios de forma manual para ejecutar Plesk.

(Servidor de bases de datos remoto dedicado) Para instalar Plesk con su base de datos en un servidor de bases de datos remoto:

Nota: En primer lugar, instale un sistema de gestión de bases de datos en el servidor de bases de datos remoto. En este momento le recomendamos usar MySQL, puesto que lo hemos analizado y probado con resultado positivo.

Nota: A continuación puede ver el procedimiento paso a paso para la ejecución de un servidor de bases de datos remoto en Ubuntu. En el caso de otras instalaciones de Linux, consulte la documentación de Oracle y vaya al paso cinco del procedimiento detallado a continuación.

  1. Acceda al servidor de bases de datos remoto e instale el servidor 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. Añada la información sobre la contraseña nativa a my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
  3. Reinicie el servidor MySQL para que se apliquen los cambios:

    [mysql_server]$ systemctl restart mysql
    
  4. Acceda a la aplicación MySQL Server y cree un superusuario de la base de datos:

    [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. Compruebe que el servidor Plesk puede acceder al servidor de remoto de base de datos. Para ello, seleccione el valor del parámetro bind-address del sistema de base de datos remoto. Este debe ser el siguiente:

    bind-address = 0.0.0.0
    

    o

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

    Si desea más información sobre el parámetro bind-address, consulte la documentación de MySQL o MariaDB.

  6. Compruebe la conexión al servidor MySQL remoto desde el servidor Plesk:

    # try to connect to the MySQL server from the Plesk server
    [another_server]$ mysql --host=mysql_server --user=mysql_admin --password=<password>
    
  7. Cree un usuario admin de la base de datos con todos los privilegios:

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

  9. En el servidor Plesk, ejecute el script de Plesk Installer indicando el usuario admin de la base de datos (creado en el paso anterior) mediante variable de entorno:` PLESK_DB_DSN_PREFIX:

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

    Nota: Para usar nombres de bases de datos y/o usuarios de base de datos específicos , en su lugar use Variable de entorno DSN por base de datos o junto con la variable PLESK_DB_DSN_PREFIX. Por ejemplo, para especificar el nombre de una base de datos para Plesk y dejar todo lo demás con los valores predeterminados, indique las siguientes variables de entorno:

    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
    

    En este caso, tras la instalación de Plesk, se creará la base de datos host1_plesk en vez de host1_psa.

Ha configurado todo lo necesario para que Plesk aloje su base de datos en el servidor de bases de datos remoto. El último paso es acceder a Plesk por primera vez.

(Servidor de bases de datos compartido) Para instalar Plesk con su base de datos en un servidor de bases de datos remoto:

Nota: Suponemos que ya ha instalado un sistema de gestión de bases de datos (como puede ser MySQL) en el servidor remoto de bases de datos. De no ser así, considere el procedimiento de arriba para un servidor de bases de datos dedicado. Este incluye un ejemplo de configuración del sistema de gestión de bases de datos.

  1. Acceda al servidor de bases de datos remoto y acceda a la aplicación del servidor MySQL:

    mysql
    
  2. Cree bases de datos y usuarios de bases de datos con los privilegios indicados en la tabla «Usuarios de base de datos»:

    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. En el servidor Plesk, ejecute el script de Plesk Installer indicando las bases de datos y los usuarios de base de datos (creados en el paso anterior) mediante las siguientes variables de entorno: PLESK_DB_DSN, PLESK_DB_APSC_DSN, PLESK_DB_ROUNDCUBE_DSN y/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. Compruebe que el servidor Plesk puede acceder al servidor de remoto de base de datos. Para ello, seleccione el valor del parámetro bind-address del sistema de base de datos remoto. Este debe ser el siguiente:

    bind-address = 0.0.0.0
    

    o

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

    Si desea más información sobre el parámetro bind-address, consulte la documentación de MySQL o MariaDB.

Ha configurado todo lo necesario para que Plesk aloje su base de datos en el servidor de bases de datos remoto. El último paso es acceder a Plesk por primera vez.

Conversión de la base de datos remota de Plesk en local

Si instaló Plesk con una base de datos remota y luego cambió de opinión, puede convertir la base de datos remota de Plesk en una base de datos local y así obtener la instalación predeterminada de Plesk.

Nota: En este momento no se soporta la conversión viceversa. No es posible convertir una base de datos local de Plesk en una base de datos remota.

Requisitos mínimos

  • Un servidor de bases de datos remoto donde se aloja la base de datos de Plesk.
  • Un servidor Linux donde se ha instalado Plesk. Lo llamaremos el servidor Plesk.

Para convertir la base de datos remota de Plesk en una base de datos local:

  1. Copie el volcado de las siguientes bases de datos del servidor de bases de datos remoto: psa, apsc, roundcubemail y/o horde:

    plesk db dump host1_apsc host1_psa host1_roundcubemail > dump_from_host1.sql
    
  2. Elimine prefijos (de existir) de los nombres de las bases de datos:

    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. Acceda al servidor Plesk y cambie el nombre del archivo /etc/psa/private/dsn.ini que contiene los datos de configuración de la base de datos remota. Esto desactivará el soporte de bases de datos remotas en el servidor Plesk:

    mv /etc/psa/private/dsn.ini /etc/psa/private/dsn.ini.backup
    
  4. Crear un usuario admin de la base de datos:

    PSA_PASSWORD=<new_admin_password> plesk sbin ch_admin_passwd
    
  5. Desplegar el volcado copiado en el servidor Plesk:

    plesk db < dump_from_host1.sql
    
  6. Compruebe la base de datos para verificar que no existe ninguna incidencia y, de existir, corríjalas mediante la utilidad plesk repair db:

    plesk repair db
    

Ha completado la conversión y ahora su Plesk aloja su base de datos en la máquina local. Ahora puede acceder a su Plesk.

Referencias

Usuarios de base de datos

image db users

Variables de entorno

Variable de entorno DSN para todas las bases de datos por prefijo

Variable de entorno Formato del valor Descripción
PLESK_DB_DSN_PREFIX mysql://{plesk_db_admin}:{password}@{remote_db_host}/{db_prefix}

Indique esta variable si desea que Installer cree todas las bases de datos que necesite añadiendo el prefijo db_prefix indicado a sus nombres.

Nota:

De dejar db_prefix vacío, se usarán los nombres de base de datos predeterminados: psa, apsc, roundcubemail y/o horde.

Variable de entorno DSN por base de datos

Variable de entorno Formato del valor Descripción
PLESK_DB_DSN mysql://{plesk_db_user}:{password}@{remote_db_host}/{plesk_db_name}

Especifique esta variable si desea que Installer use plesk_db_name como el nombre de la base de datos Plesk. La base de datos debe haberse añadido previamente o bien plesk_db_user debe tener privilegios pata crear la base de datos plesk_db_name (por ejemplo, indique plesk_db_admin).

Nota:

De dejar plesk_db_name vacío, se usará el nombre predeterminado psa.

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

Especifique esta variable si desea que Installer use apsc_db_name como el nombre de la base de datos APSC. La base de datos debe haberse añadido previamente o bien apsc_db_user debe tener privilegios pata crear la base de datos apsc_db_name (por ejemplo, indique plesk_db_admin).

Nota:

De dejar apsc_db_name vacío, se usará el nombre predeterminado apsc.

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

Especifique esta variable si desea que Installer use roundcube_db_name como el nombre de la base de datos Rouncube. La base de datos debe haberse añadido previamente o bien roundcube_db_user debe tener privilegios para crear la base de datos roundcube_db_name``(por ejemplo, indique ``plesk_db_admin).

Nota:

Si roundcube_db_name se deja en blanco, se usará el nombre predeterminado roundcubemail.

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

Especifique esta variable si desea que Installer use horde_db_name como el nombre de la base de datos Horde. La base de datos debe haberse añadido previamente o bien horde_db_user debe tener privilegios para crear la base de datos horde_db_name``(por ejemplo, indique ``plesk_db_admin).

Nota:

Si horde_db_name se deja en blanco, se usará el nombre predeterminado horde.