Из этого раздела вы узнаете:

  • Как установить Plesk без локальной базы данных, но с базой данных Plesk, размещенной на удаленном сервере баз данных.
  • Плюсы и минусы Plesk с базой данных, размещенной на удаленном сервере.
  • Процедуры установки Plesk для выделенного и общего удаленного сервера баз данных.
  • Как преобразовать удаленную базу данных Plesk в локальную.

Plesk нужны серверы баз данных для хранения собственной базы данных psa, баз данных, используемых его компонентами, и баз данных, созданных при размещении веб-сайтов и приложений клиентов (например, база данных WordPress). Plesk может работать с серверами баз данных, расположенными на одном сервере с Plesk (локальные серверы баз данных) или на удаленном компьютере (удаленные серверы баз данных).

По умолчанию при установке Plesk также устанавливается локальный сервер базы данных. Plesk использует его для размещения собственной базы данных psa, даже если веб-сайты хостинга используют удаленные серверы баз данных.

Однако вы можете установить Plesk без использования локальной базы данных и разместить базу данных Plesk psa на удаленном сервере.

Примечание: На данный момент вы можете использовать только Plesk для Linux с удаленной базой данных.

С базой данных Plesk, размещенной на удаленном сервере баз данных, вы можете делать следующее:

  • Отдайте поддержку сервера баз данных на аутсорсинг.
  • Используйте расширенные инструменты управления веб-базами данных, например те, которые предлагает Amazon RDS.
  • Используйте службу базы данных, которую нельзя установить на тот же сервер, что и Plesk.
  • Разместите несколько баз данных Plesk на одном централизованном сервере баз данных, если у вас несколько серверов Plesk.
  • Создайте инфраструктуру высокой доступности для Plesk, разместив базу данных Plesk в многоузловом кластере баз данных (например, MariaDB Galera Cluster). Plesk не поддерживает локальную установку MariaDB Galera Cluster.

Недостатки Plesk с удаленной базой данных заключаются в следующем:

  • Увеличенные финансовые затраты (будь то дополнительный сервер базы данных или сервис AWS).
  • Требуется больше времени, усилий и опыта для установки и обслуживания (по сравнению с установкой Plesk по умолчанию).

Установка Plesk с его базой данных на удаленный сервер базы данных

Предварительные требования

  • Удаленный сервер базы данных, на котором будет размещаться база данных Plesk.

  • Сервер Linux для установки Plesk. Мы будем называть его сервером Plesk.

    Примечание: Сервер Plesk может работать в любом дистрибутиве Linux, поддерживаемом Plesk.

Точная процедура установки зависит от типа вашего удаленного сервера базы данных: выделенный или общий.

На выделенном сервере баз данных нет ранее созданных баз данных или пользователей. У вас должна быть возможность создать пользователя-администратора базы данных со всеми привилегиями. Затем установщик Plesk автоматически создаст базу данных Plesk psa.

На общем сервере баз данных уже есть некоторые базы данных и пользователи базы данных. Вы не можете создать пользователя-администратора базы данных со всеми привилегиями. Вместо этого вам придется вручную создать все базы данных и пользователей, необходимых для запуска Plesk.

(Выделенный сервер удаленной базы данных) Установить Plesk с базой данных на удаленный сервер баз данных:

Примечание: Для начала вам необходимо установить систему управления базами данных на удаленном сервере баз данных. Мы рекомендуем вам использовать MySQL: это проверенный нами рабочий вариант.

Примечание: Ниже вы можете увидеть пошаговую инструкцию для удаленного сервера базы данных, работающего в Ubuntu. Для других дистрибутивов Linux обратитесь к документации Oracle, а затем сразу переходите к пятому шагу.

  1. Войдите на удаленный сервер базы данных и установите сервер 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. Добавьте информацию о собственном пароле в my.cnf:

    [mysqld]
    default-authentication-plugin=mysql_native_password
    
  3. Перезапустите сервер MySQL, чтобы применить изменения:

    [mysql_server]$ systemctl restart mysql
    
  4. Войдите в приложение сервера MySQL и создайте суперпользователя базы данных:

    [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. Убедитесь, что сервер Plesk имеет доступ к удаленному серверу базы данных. Для этого проверьте значение параметра bind-address удаленной системы баз данных. Должно быть следующее:

    bind-address = 0.0.0.0
    

    или

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

    Для получения дополнительной информации о параметре bind-address обратитесь к документации MySQL или MariaDB.

  6. Проверьте подключение к удаленному серверу MySQL с сервера Plesk:

    # try to connect to the MySQL server from the Plesk server
    [another_server]$ mysql --host=mysql_server --user=mysql_admin --password=<password>
    
  7. Создайте пользователя-администратора базы данных со всеми привилегиями:

    CREATE USER 'plesk_db_admin'@'%' IDENTIFIED BY '<plesk_db_admin_password>';
    GRANT ALL ON *.* TO 'plesk_db_admin'@'%' WITH GRANT OPTION;
    
  8. Войдите на сервер Plesk.

  9. На сервере Plesk запустите сценарий установки Plesk, указав пользователя-администратора базы данных (созданного на предыдущем шаге) с помощью переменной окружения PLESK_DB_DSN_PREFIX:

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

    Примечание: Чтобы использовать конкретных пользователей базы данных или имена баз данных, используйте переменные окружения DSN для каждой базы данных вместо или вместе с переменной PLESK_DB_DSN_PREFIX. Например, чтобы указать имя базы данных для Plesk и оставить все остальное по умолчанию, укажите следующие переменные среды:

    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
    

    В этом случае после установки Plesk вместо базы данных host1_plesk будет создана база данных host1_psa.

Вы настроили все необходимое, чтобы Plesk разместил свою базу данных на удаленном сервере баз данных. Последним шагом остается войти в Plesk.

(Общий сервер базы данных) Установить Plesk с базой данных на удаленный сервер баз данных:

Примечание: Мы предполагаем, что вы уже установили систему управления базами данных (например, MySQL/MariaDB) на удаленном сервере баз данных. Если это не так, попробуйте обратиться к описанной выше процедуре для выделенного сервера базы данных. Там содержится пример настройки системы управления базами данных.

  1. Войдите на сервер удаленной базы данных и войдите в приложение сервера MySQL:

    mysql
    
  2. Создайте базы данных и пользователей базы данных с привилегиями, указанными в таблице «Пользователи базы данных» table:

    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. На сервере Plesk запустите установщик Plesk, указав базы данных и пользователей базы данных (созданных на предыдущем шаге) с помощью следующих переменных окружения: PLESK_DB_DSN, PLESK_DB_APSC_DSN, PLESK_DB_ROUNDCUBE_DSN или 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. Убедитесь, что сервер Plesk имеет доступ к удаленному серверу базы данных. Для этого проверьте значение параметра bind-address удаленной системы баз данных. Должно быть следующее:

    bind-address = 0.0.0.0
    

    или

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

    Для получения дополнительной информации о параметре bind-address обратитесь к документации MySQL или MariaDB.

Вы настроили все необходимое, чтобы Plesk разместил свою базу данных на удаленном сервере баз данных. Последним шагом остается войти в Plesk.

Преобразование удаленной базы данных Plesk в локальную

Если вы установили Plesk с удаленной базой данных, а затем передумали, вы можете преобразовать удаленную базу данных Plesk в локальную. Таким образом, установка Plesk пройдет по умолчанию.

Примечание: На данный момент обратное преобразование не поддерживается. Вы не можете преобразовать локальную базу данных Plesk в удаленную.

Предварительные требования

  • Удаленный сервер базы данных, на котором размещена база данных Plesk.
  • Сервер Linux, на котором установлен Plesk. Мы будем называть его сервером Plesk.

Преобразование удаленной базы данных Plesk в локальную:

  1. Скопируйте дамп следующих баз данных с удаленного сервера базы данных: psa, apsc, roundcubemail или horde:

    plesk db dump host1_apsc host1_psa host1_roundcubemail > dump_from_host1.sql
    
  2. Удалите префиксы (если они есть) из имен баз данных:

    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. Войдите на сервер Plesk и переименуйте файл /etc/psa/private/dsn.ini, содержащий данные конфигурации удаленной базы данных. Это отключит поддержку удаленной базы данных на сервере Plesk:

    mv /etc/psa/private/dsn.ini /etc/psa/private/dsn.ini.backup
    
  4. Создайте пользователя-администратора базы данных:

    PSA_PASSWORD=<new_admin_password> plesk sbin ch_admin_passwd
    
  5. Разверните скопированный дамп на сервере Plesk:

    plesk db < dump_from_host1.sql
    
  6. Проверьте базу данных на наличие проблем и устраните их (если есть) с помощью утилиты plesk repair db:

    plesk repair db
    

Вы завершили преобразование, база данных Plesk теперь размещена на локальном компьютере. Теперь вы можете войти в Plesk.

Ссылки

Пользователи базы данных

image db users

Переменные окружения

Переменная окружения DSN для всех баз данных по префиксу

Переменная окружения Формат значения Описание
PLESK_DB_DSN_PREFIX mysql://{plesk_db_admin}:{password}@{remote_db_host}/{db_prefix}

Specify this variable if you want Installer to create all the databases it needs by adding the specified db_prefix prefix to their names.

Примечание:

Если db_prefix оставить пустым, будут использоваться имена баз данных по умолчанию: psa, apsc, roundcubemail или horde.

Переменные окружения DSN на базу данных

Переменная окружения Формат значения Описание
PLESK_DB_DSN mysql://{plesk_db_user}:{password}@{remote_db_host}/{plesk_db_name}

Укажите эту переменную, если хотите, чтобы установщик использовал plesk_db_name в качестве имени базы данных Plesk. База данных должна быть добавлена заранее, или у plesk_db_user должны быть права на создание базы данных plesk_db_name (например, укажите plesk_db_admin).

Примечание:

Если plesk_db_name оставить пустым, будет использоваться имя psa по умолчанию.

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

Укажите эту переменную, если хотите, чтобы установщик использовал apsc_db_name в качестве имени базы данных APSC. База данных должна быть добавлена заранее, или у apsc_db_user должны быть права на создание базы данных apsc_db_name (например, укажите plesk_db_admin).

Примечание:

Если apsc_db_name оставить пустым, будет использоваться имя apsc по умолчанию.

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

Укажите эту переменную, если хотите, чтобы установщик использовал roundcube_db_name в качестве имени базы данных Roundcube. База данных должна быть добавлена заранее, или у roundcube_db_user должны быть права на создание базы данных roundcube_db_name (например, укажите plesk_db_admin).

Примечание:

Если roundcube_db_name оставить пустым, будет использоваться имя roundcubemail по умолчанию.

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

Укажите эту переменную, если хотите, чтобы установщик использовал horde_db_name в качестве имени базы данных Roundcube. База данных должна быть добавлена заранее, или у horde_db_user должны быть права на создание базы данных horde_db_name (например, укажите plesk_db_admin).

Примечание:

Если horde_db_name оставить пустым, будет использоваться имя horde по умолчанию.