(Plesk for Linux) ローカルデータベースを使用しない Plesk のインストール
このトピックでは、以下の内容を学習します。
- ローカルの Plesk データベースではなく、リモートデータベースサーバ上でホストされているデータベースを使用して Plesk をインストールする方法。
- Plesk でリモートデータベースサーバ上でホストされているデータベースを使用する場合のメリットとデメリット
- 専用および共用のリモートデータベースサーバに Plesk をインストールする手順。
- リモートの Plesk データベースをローカルデータベースに変換する方法。
Plesk は、独自の psa
データベース、コンポーネントで使用されるデータベース、およびホスティング顧客のウェブサイトとアプリケーションで作成されるデータベース(WordPress データベースなど)を格納するために、データベースサーバを必要とします。Plesk で使用できるのは、Plesk と同じサーバ上にあるデータベースサーバ(ローカルデータベースサーバ)またはリモートマシン上にあるデータベースサーバ(リモートデータベース)です。
デフォルトでは、Plesk のインストール時にローカルデータベースサーバもインストールされます。Plesk はこれを使用して独自の psa
データベースをホストします。これは、ホストされるウェブサイトでリモートデータベースサーバを使用する場合でも同様です。
ただし、ローカルデータベースを使用せずに Plesk をインストールして、リモートデータベースサーバ上で Plesk psa
データベースをホストすることもできます。
注釈: 現時点では、リモートデータベースに対応するのは Plesk for Linux のみです。
リモートデータベースサーバ上でホストされた Plesk データベースを使用すると、以下のことが可能です。
- データベースサーバのサポートをアウトソーシングする。
- 高度なウェブデータベース管理ツールを使用する(Amazon RDS で提供されるものなど)。
- Plesk と同じサーバにインストールできない特定のデータベースサービスを使用する。
- 複数の Plesk サーバを運用している場合に、1 つの中心的なデータベースサーバで複数の Plesk データベースをホストする。
- マルチノードのデータベースクラスタ(MariaDB Galera Cluster など)で Plesk データベースをホストすることで、Plesk 用に高可用性インフラを構築する。Plesk では MariaDB Galera Cluster のローカルインストールをサポートしていません。
リモートデータベースを Plesk で使用する場合、次のデメリットがあります。
- 財務上の負担が増大する(データベースサーバや AWS サービスの追加など)。
- (デフォルトの Plesk インストールと比較して)インストールと保守に必要な時間、労力、専門知識が増える。
リモートデータベースサーバに Plesk とそのデータベースをインストールする
前提条件
-
Plesk データベースをホストするためのリモートデータベースサーバ。
-
Plesk をインストールするための Linux サーバ(これを Plesk サーバと呼びます)。
注釈: Plesk サーバは、Plesk でサポートされるすべての Linux ディストリビューションで実行できます。
実際のインストール手順は、リモートデータベースサーバが専用か共用かによって異なります。
専用データベースサーバの場合、以前に作成されたデータベースやデータベースユーザはありません。全権限を持つデータベース管理ユーザを作成できる必要があります。その後、Plesk インストーラスクリプトで Plesk psa
データベースが自動的に作成されます。
共用データベースサーバには既にデータベースとデータベースユーザが存在します。全権限を持つデータベース管理ユーザを作成することはできません。その代わりに、Plesk を実行するために必要なすべてのデータベースとデータベースユーザを手動で作成します。
(専用リモートデータベースサーバ)リモートデータベースサーバに Plesk とそのデータベースをインストールするには:
注釈: まず、リモートデータベースサーバにデータベース管理システムをインストールする必要があります。ここでは、MySQL を使用することをお勧めします。既にテスト済みであり、有効なシナリオであることが証明されているためです。
注釈: 以下では、Ubuntu 上で機能するリモートデータベースサーバでの手順を詳しく説明します。その他の Linux ディストリビューションの場合は、Oracle のドキュメントを参照して、以下の手順のステップ 5 に進んでください。
-
リモートデータベースサーバにログインして 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 のドキュメントを参照してください。 -
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
注釈: 特定のデータベースユーザやデータベース名を使用するには、
PLESK_DB_DSN_PREFIX
変数の代わりに、あるいはこの変数と一緒に、データベース別の DSN 環境変数を使用します。たとえば、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 など)のセットアップが完了していることが前提となります。まだ完了していない場合は、上に記載されている専用データベースサーバでの手順を参照してください。データベース管理システムのセットアップの例が記載されています。
-
リモートデータベースサーバにログインして 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; 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;
-
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
-
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 データベースがホストされているリモートデータベースサーバ。
- Plesk がインストールされている Linux サーバ(これを Plesk サーバと呼びます)。
Plesk リモートデータベースをローカルデータベースに変換するには:
-
リモートデータベースサーバから次のデータベースの全部または一部のダンプをコピーします:
psa
、apsc
、roundcubemail
、horde
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 sed -i 's/host1_horde/horde/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} |
インストーラが必要とするすべてのデータベースをインストーラに作成させたい場合、指定されたプレフィックス
注釈:
|
データベース別の DSN 環境変数
環境変数 | 値の形式 | 説明 |
---|---|---|
PLESK_DB_DSN |
mysql://{plesk_db_user}:{password}@{remote_db_host}/{plesk_db_name} |
インストーラに Plesk データベース名として
注釈:
|
PLESK_DB_APSC_DSN |
mysql://{apsc_db_user}:{password}@{remote_db_host}/{apsc_db_name} |
インストーラに APSC データベース名として
注釈:
|
PLESK_DB_ROUNDCUBE_DSN |
mysql://{roundcube_db_user}:{password}@{remote_db_host}/{roundcube_db_name} |
インストーラに Roundcube データベース名として
注釈:
|
PLESK_DB_HORDE_DSN |
mysql://{horde_db_user}:{password}@{remote_db_host}/{horde_db_name} |
インストーラに Horde データベース名として
注釈:
|