Plesk 自動インストールサーバのミラーリング
Plesk 自動インストールサーバのローカルミラーを管理することにより、複数の Plesk サーバのインストール時または更新時に同じファイルを何度もダウンロードして時間とトラフィックを浪費するのを回避することができます。ローカルミラーは HTTP 経由で利用でき、インストール中またはアップグレード中に Plesk パッケージをダウンロードするためのソースとして指定することができます。
ローカルミラーリポジトリの前提条件
- ミラーリングに使用する仮想ホストでは、すべてのスクリプトハンドラ(php、pl、cgi、py、fcgi など)を無効化する必要があります。
- ミラーリングに使用する仮想ホストまたはディレクトリには、
+FollowSymLinks
オプションを設定する必要があります。 - 他のソースを指定している場合を除き、スクリプトを実行しているマシンおよび宛先マシンから下記のリンク先にアクセスできる必要があります。
-
rsync://rsync.autoinstall.plesk.com/autoinstall
- Plesk for Linux -
rsync://autoinstall-win.plesk.com/autoinstall
- Plesk for Windows
-
- スクリプトを実行しているマシンで、以下の拡張モジュールのサポート付きで PHP をコンパイルする必要があります(http://www.php.net/manual/en/ssh2.installation.php を参照)。
- ssh2_connect
- simplexml
- XML DOM
- Plesk for Windows と Plesk for Linux のミラーを同じフォルダに配置することはできません。ミラーは別々のパスに作成する必要があります。
ローカルミラーリポジトリを構成する
-
Plesk Mirror Setup ツールをダウンロードし、展開します。
# wget https://support.plesk.com/hc/en-us/article_attachments/12388062580887/mirrorctl-3.1.4.zip # unzip mirrorctlv2.0.1.zip # cd mirrorctl
-
利用可能な製品バージョンを確認します。
show-all-releases
コマンドを使用して利用可能な製品を確認し、os-list
コマンドを使用して特定の製品でサポートされる OS を確認します。# ./mirrorctl show-all-releases
# ./mirrorctl os-list --release=PLESK_12_0_18
-
ミラーリングしたい製品バージョンを選択します。
cfg --add
およびcfg --remove
を使用して、ミラーリングする製品バージョンのリストを編集します。# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 # ./mirrorctl cfg --add --win --release=PANEL_12_0_18_WIN --cfg-file=./plesk_win_mirror
-
ローカルミラーリポジトリの構成をファイルに保存します。
cfg --export
を使用して、作成された構成をファイルに保存します。# ./mirrorctl cfg --export --path=./
構成は
mirror.xml
ファイル内の所定の場所に保存されます。<?xml version="1.0" encoding="UTF-8"?> <xml> <release name="PLESK_12_0_18" version="12.0.18"> <os name="cos5_i386"/> </release> </xml>
保存された構成をファイルから読み込むには、
cfg --import
を使用します。# ./mirrorctl cfg --import --cfg-file=./mirror.xml
-
ミラーリポジトリを作成します。
まず、ミラー用のディレクトリを作成します。
# mkdir /var/www/html/mirror/ # mkdir /var/www/html/mirror_windows/
次に、
update
コマンドを使用して、ミラーを公式リポジトリと同期します。# ./mirrorctl update --path=/var/www/html/mirror/ # ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=./plesk_win_mirror
注釈: このリポジトリを使用してインストールできるのは、ミラーの構成に指定されている製品バージョンと OS のインストールのみです。他のすべてのバージョンは、autoinstaller
ユーティリティでこのリポジトリから利用できません。
作成されたリポジトリで利用可能な製品バージョンのリストを確認します。
# ./mirrorctl show-all-releases --src-host=/var/www/html/mirror/
# ./mirrorctl show-all-releases --win --src-host=/var/www/html/mirror_windows/
これで、Plesk のインストールまたは更新の処理においてローカルミラーリポジトリを使用できるようになります。
ローカルミラーリポジトリを使用する
ミラーは、以下のいずれかの方法で使用できます。
-
ミラーウェブホストを解決およびセットアップする DNS を変更して、
https://autoinstall.plesk.com
(Plesk for Linux)またはhttp://autoinstall-win.plesk.com/
(Plesk for Windows)がミラーをポイントするようにする -
自動インストーラを起動するマシンの
/root/.autoinstallerrc
ファイルのSOURCE
変数に、ミラーの URL を指定する[root@container ~]# cat /root/.autoinstallerrc SOURCE=http://uri.of.local.mirror/here/
-
自動インストーラを対話型モードで起動するときに、
--source
オプションにミラー URL を指定する
リモートミラーリポジトリを管理する
Plesk Mirror Setup ツールは、同じファイルシステム上にあるリポジトリとリモートサーバ上にあるリポジトリを管理できます。リモートソースミラーおよびリモート宛先ミラーを指定するには、--path
および --src-host
オプションを使用します。
リモート宛先ミラーを指定するには --path
を使用します。
-
特定のユーザ、パスワード、ホストを使用する:
--path=user:UserSecurePassword@mymirror.tld:344/var/www/html/ --path=user:UserSecurePassword@192.168.100.100:22/var/www/html/ --path=root:RootSecurePassword@localhost:/var/www/html/
-
SSH キー認証を使用する(プライベートキーとパブリックキーの両方が必要):
--path=192.168.100.100:/var/www/html/
現在のユーザのデフォルト RSA ペア(id_rsa および id_rsa_pub)が存在しない場合、デフォルト DSA ペア(id_dsa および id_dsa.pub)が
$HOME/.ssh/
フォルダから使用されます。--path=user@mymirror.tld:344/var/www/html/
-
特定の SSH キーを mirrorctl ユーティリティの追加オプションとして使用する:
--path=root@mymirror.tld:344/var/www/html/ --private-key=~/.ssh/id_mirror --public-key=~/.ssh/id_mirror.pub
リモートソースミラーを指定するには --src-host
を使用します。
-
SSH プロトコル経由で rsync を使用する:
--src-host=test@192.168.100.100:/var/www/html/test-mirror/ --src-host=mytestmirror.tld:/var/www/html/test-mirror/
- 上の例では、ユーザパスワードまたは SSH ポート(22)の使用が禁止されます。
-
--src-host
オプションを使用する場合、ツールを起動するユーザが--src-host
オプションで指定されたホストにこのオプションで指定されたユーザで接続するためには、SSH キー認証がセットアップされている必要があります。 -
--src-host
オプションを--path
オプションとともに使用する場合も、ツールを起動するユーザが--path
オプションで指定されたホストから--src-host
オプションで指定されたホストに--src-host
オプションで指定されたユーザで接続するためには、SSH キー認証がセットアップされている必要があります。
-
ソースホストで rsync デーモンを使用する:
--src-host=rsync://mytestmirror.tld:873/testmirror
rsync 構成の例:
# head /etc/rsyncd.conf
[testmirror]
path = /var/www/html/test-mirror/
comment = Test repository
# cat /etc/xinetd.d/rsync
service rsync
{
# disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
例 1:ローカルミラーリポジトリに対して定期的な更新をセットアップする
目的:選択された製品バージョンのミラーを最新状態に保つ。
-
必要な製品バージョンと OS を追加して、ミラーの構成を作成します。
# /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_12_0_18 --os=rhel5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --release=PLESK_11_5_30 --os=cos5_i386 --cfg-file=/var/www/html/mirror/myconfig.xml # /home/user/mirrorctl/mirrorctl cfg --add --win --release=PANEL_12_0_18_WIN --cfg-file=/var/www/html/mirror/windows_myconfig.xml
-
ミラーを自動更新する crontab を構成します。
$ crontab -l # m h dom mon dow command 59 23 * * * cd /home/user/mirrorctl/ && ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=/var/www/html/mirror/myconfig.xml > ./mirror-cron.log 2>&1 59 22 * * * cd /home/user/mirrorctl/ && ./mirrorctl update --win --path=/var/www/html/mirror_windows/ --cfg-file=/var/www/html/mirror/windows_myconfig.xml > ./mirror-cron-win.log 2>&1
例 2:新しい OS を追加する
目的:ミラーに特定の製品バージョン用の別の OS を追加する
-
mirrorctl ユーティリティを使用して、前に作成したリポジトリの現在の構成をインポートします。
# ./mirrorctl cfg --import --path=/var/www/html/mirror/ --cfg-file=myconfig
-
製品バージョンに新しい OS を追加します。
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=deb6.0_i386 --cfg-file=myconfig
-
ミラーを同期します。
# ./mirrorctl update --path=/var/www/html/mirror/ --cfg-file=myconfig
例 3:特定の OS/バージョンをダウンロードする
目的:公式リポジトリからミラーへ、特定の製品バージョン用の特定の OS をダウンロードする。ミラーリング済みのその他のバージョン/OS はダウンロードしない
-
ダウンロードしたい OS/製品バージョンのみが含まれる構成ファイルを生成します。
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=./temp-config # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_x86_64 --cfg-file=./temp-config
-
push コマンドを使用して、指定された OS を既存のリポジトリにダウンロードします。
# ./mirrorctl push --path=/var/www/html/mirror/ --cfg-file==./temp-config
例 4:新しい製品バージョンのテスト用にミラーを作成する
目的:新しい製品バージョン用にテストミラーを作成し、このバージョンをテストし、テスト済みのバージョンのみをメインリポジトリにアップロードする(自分でテストしていない最新の公式アップデートはアップロードしない)
-
新しい製品バージョンのすべての OS 用にテストミラーを作成します。
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=all --cfg-file=./test-config # ./mirrorctl update --path=/var/www/html/test-mirror/ --cfg-file=./test-config
-
新しいバージョンをテストします。
-
製品バージョン全体をメインリポジトリへアップロードします。
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=./test-config
警告: --src-host
オプションを使用しないと、自分でテストしていない新しい製品バージョンが公式リポジトリからアップロードされます。
例 5:製品リリースを新しい OS についてテストするためのミラーを作成する
目的:最新のアップデートを含むミラーリング済みの製品バージョン用に、特定の OS のリストでテストミラーを作成し、これらの OS をテストしてから、テストした OS の一部をメインリポジトリにアップロードする
-
選択された製品バージョンで複数の OS が利用可能なテストミラーを作成します。
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --cfg-file=./test-config # ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_x86_64--cfg-file=./test-config # ./mirrorctl update --path=/var/www/html/test-mirror/ --cfg-file=./test-config
-
上記で作成されたテストミラーから、利用可能な製品リリースと OS のリストを取得します。
# ./mirrorctl show-all-releases --src-host=/var/www/html/test-mirror/ # ./mirrorctl os-list --release=PLESK_12_0_18 --src-host=/var/www/html/test-mirror/
-
メインミラーに追加したいリリースと OS のみが含まれる新しい構成ファイルをテストミラーから生成します。
# ./mirrorctl cfg --add --release=PLESK_12_0_18 --os=cos5_i386 --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
作成された構成ファイルで、テストリポジトリのリリース/OS が利用可能であるかチェックします。
# ./mirrorctl cfg --check --src-host=/var/www/html/test-mirror/ --cfg-file=push.xml
-
選択されたリリースと OS をテストミラーからメインリポジトリへアップロードします。
# ./mirrorctl push --src-host=/var/www/html/test-mirror/ --path=/var/www/html/mirror/ --cfg-file=push.xml
警告: --src-host
オプションを使用しないと、自分でテストしていない新しい製品バージョンが公式リポジトリからアップロードされます。
警告: --cfg-file
オプションを指定しないと、デフォルト構成ファイル BUILD/config.xml
(ツールが配置されたディレクトリに対して相対的)が使用されます。つまり、構成ファイルのバージョン/OS のみがメインリポジトリにアップロードされます。
警告: --cfg-file
オプションの指定が正しくない場合は、push コマンドに対して指定された構成ファイルが使用されます。