環境移行手順について

環境移行手順について

PowerCMS X にバンドルされているスクリプトを使った環境移行の手順を記載します。

Pathやファイル名等は適宜書き換えて下さい。

手順

1. config.jsonの設定

移行元、移行先それぞれで設定

"backup_compress" : "gz", //なくても良い
"backup_dir" : "/path/to/backup/",
"mysql_path" : "/usr/local/bin/mysql",
"mysqldump_path" : "/usr/local/bin/mysqldump",

2. DBバックアップ

cd /path/to/移行元のCMSのパス;
php ./tools/backupSQL.php

※backup_dirにsqldump.sql.gzのような形で、ダンプデータが保存される

3. PowerCMS Xディレクトリのバックアップ

tar -zcvf pcmsxbk.tar.gz /path/to/移行元CMSのパス

4. 画像をBLOBではなく実ファイルで管理している場合、以下もバックアップ

db-config.phpで指定しているPADO_DB_BLOBPATHのディレクトリをバックアップする

define( 'PADO_DB_BLOB2FILE', true );
define( 'PADO_DB_BLOBPATH', '/var/www/blob' );
tar -zcvf pcmsxbk.tar.gz /path/to/PADO_DB_BLOBPATH

5. 3と4を移行先に展開し、config.json、db-config.phpを修正する

6. 2のデータを移行先のbackup_dirに置く

※ここで、ダンプの中身を置換しておいてからリストアしても良い

grep -l '旧FQDN' ダンプファイル | xargs sed -i.bak -e 's/旧FQDN/新FQDN/g'
grep -l '旧サイト・パス' ダンプファイル | xargs sed -i.bak -e 's/旧サイト・パス/新サイト・パス/g'

7.リストアを実行する

cd /path/to/移行先CMSのパス;
sudo -u apache php tools/restoreSQL.php

8. 管理画面にログインし、読み取り専用 -> URLを開き、すべてを選択し、アクション→物理削除を実行

※「メニュー」モデルを利用している場合、この操作を実行するとメニューに登録した URLの関連付けが外れてしまいます。操作実行後にメニューを再度設定するか、6.の手順でダンプを置換してからリストアするようにして、このステップを省略します。

9. システム設定、スペース設定のパス情報、サイトURLなどを書き換える

この時、旧サイト・パスにファイルが存在する場合、書き換えられたパスにファイルが移動しますのでその点に注意してください。同一サーバーにテスト環境を作成する場合など、元のファイルが移動してしまいます。これを避けるには環境変数「reset_url_method」に「copy」あるいは null を指定します(初期値は「rename」)。もしくは、6.の手順でダンプを置換してからリストアします。

10. 全再構築を実施

11. すべてのアーカイブと、Blobカラムに登録したファイルを書き出し

cd /path/to/移行先のCMSのパス;
sudo -u apache php ./tools/rebuildFiles.php