(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} |
如果您希望安裝程式將
備註:
如果 |