(Plesk for Linux) 没有本地数据库的 Plesk 安装实例
在本主题中,您将学习以下内容:
- 如何安装Plesk(没有本地Plesk数据库,但有托管在远程数据库服务器上的数据库)。
- Plesk有托管在远程数据库服务器上的数据库的优缺点。
- Plesk安装过程(针对有专用和共享远程数据库服务器的安装过程)。
- 如何将远程Plesk数据库转换为本地数据库。
Plesk需要数据库服务器来存储自己的``psa``数据库、其组件使用的数据库、以及托管客户网站和应用程序创建的数据库(例如,WordPress数据库)。Plesk可以使用与Plesk(本地数据库服务器)位于同一台服务器上的数据库服务器,或使用位于远程机(远程数据库服务器)上的数据库服务器。
默认情况下,安装Plesk还会安装一个本地数据库服务器。Plesk使用它来托管自己的``psa``数据库。即使托管的网站使用远程数据库服务器,亦如此。
However, you can install Plesk without using a local database and host the Plesk psa
database on a remote database server. If you use this configuration, you cannot migrate Plesk subscriptions to this server.
注解: 目前,您只能将 Plesk for Linux 使用远程数据库。
使用托管在远程数据库服务器上的Plesk数据库,您可以执行以下操作:
- 外包数据库服务器支持。
- 使用高级的web数据库管理工具,例如,Amazon RDS提供的工具。
- 使用不能与Plesk安装在同一台服务器上的特定数据库服务。
- 如果您有多个Plesk服务器,则需在一个集中式数据库服务器上托管多个Plesk数据库。
- 通过将Plesk数据库托管在一个多节点的数据库集群上(例如,MariaDB Galera Cluster)上,可以为Plesk创建一个高可用性的基础架构。Plesk不支持本地安装MariaDB Galera Cluster。
Plesk使用远程数据库的缺点如下:
- 增加了财务成本(无论是附加的数据库服务器还是AWS服务)。
- 需要更多的时间、精力和专业知识来安装和维护(与默认的Plesk安装方式相比)。
- Does not allow migrations of other Plesk subscriptions to the server.
在远程数据库服务器上安装Plesk及其数据库
前提条件
-
用于托管Plesk数据库的远程数据库服务器。
-
用于安装Plesk的Linux服务器。我们将称之为Plesk服务器。
注解: Plesk服务器可以在由Plesk支持的`任何Linux发行版上运行 <https://docs.plesk.com/release-notes/obsidian/software-requirements/#s2>`__。
具体的安装过程取决于远程数据库服务器的类型:专用或共享。
专用的数据库服务器上没有以前创建的任何数据库或数据库用户。您需要有创建具有所有权限的数据库管理员用户的权限。然后,Plesk安装程序脚本将会自动创建Plesk``psa``数据库。
一个共享的数据库服务器已经有了一些数据库和数据库用户。您无法创建具有所有权限的数据库管理用户。相反,您可以手动创建运行Plesk所需的所有数据库和数据库用户。
(专用的远程数据库服务器)要在远程数据库服务器上安装Plesk及其数据库:
注解: 首先,您需要在远程数据库服务器上安装一个数据库管理系统。现在,我们建议您使用MySQL:我们已进行了测试并证明该系统是一个可运行的场景。
注解: 下面您可以看到在Ubuntu上运行的远程数据库服务器的分步过程。对于其他Linux发行版,请参考Oracle文档,然后直接进入下面过程的第五步。
-
登录到远程数据库服务器并安装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
-
将有关本地密码的信息添加到
my.cnf
:[mysqld] default-authentication-plugin=mysql_native_password
-
重启MySQL服务器以应用以下更改:
[mysql_server]$ systemctl restart mysql
-
输入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;
-
请确保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 <https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/>`__文档。 -
检查从Plesk服务器到远程MySQL服务器的连接:
# try to connect to the MySQL server from the Plesk server [another_server]$ mysql --host=mysql_server --user=mysql_admin --password=<password>
-
创建一个具有所有权限的数据库管理用户:
CREATE USER 'plesk_db_admin'@'%' IDENTIFIED BY '<plesk_db_admin_password>'; GRANT ALL ON *.* TO 'plesk_db_admin'@'%' WITH GRANT OPTION;
-
登录到 Plesk 服务器。
-
在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)。若没有,请考虑参考上述专用数据库服务器的的设置过程。这里面包含了设置数据库管理系统的示例。
-
登录到远程数据库服务器并进入MySQL服务器应用程序:
mysql
-
创建具有”数据库用户” 表中指定权限的数据库和数据库用户:
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;
-
On the Plesk server, run the Plesk installer script specifying the databases and database users (created in the previous step) via the following environment variables:
PLESK_DB_DSN
,PLESK_DB_APSC_DSN
, and/orPLESK_DB_ROUNDCUBE_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 \ ./plesk-installer
-
请确保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 <https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/>`__文档。
您已经设置了让Plesk在远程数据库服务器上托管其数据库所需的所有内容。最后一步是第一次登录到 Plesk。
正在将Plesk远程数据库转换为本地数据库
如果您用远程数据库安装了Plesk,然后改变了主意,您可以将Plesk远程数据库转换为本地数据库,从而获取默认的Plesk安装设置。
注解: 目前还不支持反向转换。您无法将本地Plesk数据库转换为远程数据库。
前提条件
- 托管Plesk数据库的远程数据库服务器。
- 安装Plesk的Linux服务器。我们将称之为Plesk服务器。
要将Plesk远程数据库转换为本地数据库:
-
Copy a dump of the following databases from the remote database server:
psa
,apsc
, and/orroundcubemail
:plesk db dump host1_apsc host1_psa host1_roundcubemail > dump_from_host1.sql
-
从数据库名称中移除前缀(若有):
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
-
登录到Plesk服务器,并重命名包含远程数据库的配置数据的
/etc/psa/private/dsn.ini
文件。这将禁用Plesk服务器上的远程数据库支持:mv /etc/psa/private/dsn.ini /etc/psa/private/dsn.ini.backup
-
创建一个数据库管理用户:
PSA_PASSWORD=<new_admin_password> plesk sbin ch_admin_passwd
-
将复制的转储部署到Plesk服务器:
plesk db < dump_from_host1.sql
-
检查数据库中的问题,并使用
plesk repair db
实用程序将其修复(若有):plesk repair db
您已经完成了转换,并且您的Plesk现在在本地机上托管其数据库。您现在可以登录到您的Plesk了。
参考
数据库用户
环境变量
按前缀表示的所有数据库的DSN环境变量
环境变量 | 值的格式 | 描述 |
---|---|---|
PLESK_DB_DSN_PREFIX |
mysql://{plesk_db_admin}:{password}@{remote_db_host}/{db_prefix} |
若希望安装程序通过将指定的``db_prefix``前缀添加到其名称中来创建所需的所有数据库,请指定此变量。
注解:
If |
每数据库的 DSN 环境变量
环境变量 | 值的格式 | 描述 |
---|---|---|
PLESK_DB_DSN |
mysql://{plesk_db_user}:{password}@{remote_db_host}/{plesk_db_name} |
如果您希望安装程序将
注解:
如果``plesk_db_name``保留为空,则将使用默认的``psa``名称。 |
PLESK_DB_APSC_DSN |
mysql://{apsc_db_user}:{password}@{remote_db_host}/{apsc_db_name} |
如果您希望安装程序将
注解:
如果``apsc_db_name``保留为空,则将使用默认的``apsc``名称。 |
PLESK_DB_ROUNDCUBE_DSN |
mysql://{roundcube_db_user}:{password}@{remote_db_host}/{roundcube_db_name} |
如果您希望安装程序将
注解:
如果 |