baserCMS4 バックアップ&リストア③(リストア[別環境])

別環境へのリストア

リストアの操作は、障害回復の他に、下記の様な場合も行います。

① 別サーバーへの移行[引っ越し](ハードウェア更新、別のレンタルサーバーに切り替える、など)
② 本番のシステムと同等のテスト用システムの構築

ここでは、

移行元に「http://192.168.100.1/bc41」のシステム

【baserCMS4】バックアップ&リストア①(バックアップ)にてバックアップ取得済み

移行先に「http://192.168.100.2/tst1」のシステム(今回のテスト用に、別サーバー・別ディレクトリで構築)

※テスト用システムは、下記で構築したものと同等で、
 「baserCMS」をアップロードする前のディレクトリ作成段階まで構築したものとなります。

【baserCMS4】テスト環境の構築①(準備)
【baserCMS4】テスト環境の構築②(インストール)-「baserCMS」のアップロードの準備

※テスト用システムのサーバーIP・格納ディレクトリは、下記になります。

IPアドレス:192.168.100.2
ディレクトリ:/tst1/

を用い、サーバー移行のテストを行ってみます。

移行元の停止で 上記「リストアの操作①」、移行元の存続で 上記「リストアの操作②」となります。

レンタルサーバー等の公開サーバーでは、ドメイン・DNSの移管なども必要になりますが、今回は、ローカルサーバーという事で省きます。

テスト用システムの環境は、本番環境と同等とします。

Ubuntu Server バージョン 22.04.2 LTS
  Apache 2.4.52
  MySQL 8.0.33
  PHP 8.1.2
  vsftpd 3.0.5
FFFTP バージョン 5.8 (64bit)
phpMyAdmin バージョン 5.2.1
baserCMS バージョン 4.7.7

移行元と移行先の「MySQL」ですが、バージョンを合わせないと上手く行きませんでした。

(5.6 ⇒ 8.0 は当然とは思いますが、5.6 ⇒ 5.7 もNGでした。)

バージョン対応の一手間が要りそうです。

その他のソフトのバージョンの違いは、問題が無いよう?ですが、

今回は目的を「移行操作の基本は何か」の確認とし、バージョン対応が入るとややこしくなるので省き、同一環境としております。

(実は、バージョン対応の一手間が何なのか、現在不明「調査中」という事もありますが...)

レンタルサーバーの引っ越しなどは、バージョン対応など、色々考える必要がありそうです。

準備

移行先は移行元と、IPアドレス、ディレクトリ名が変わりますので、

バックアップしたファイルの内容の、移行先に合わせた書き換え対応が必要になります。

書き換え対応ですが、バックアップファイルには手を加えず、移行用にコピーを作成して行います。

コピー対象は、「C:¥work¥Backup」フォルダ内の、「bc41」フォルダと「bc41_bc_db.sql」ファイルで、

ここでは、それぞれ下記の様に、名称変更でコピーします。

フォルダ:bc41 ⇒ tst1
ファイル:bc41_bc_db.sql ⇒ tst1_bc_db.sql

コピー後の、書き換え対象ファイルは下記となります。

① C:¥work¥Backup¥tst1¥app¥Config¥install.php
② C:¥work¥Backup¥tst1¥app¥Config¥database.php
③ C:¥work¥Backup¥tst1_bc_db.sql
④ C:¥work¥Backup¥tst1¥.htaccess

.htaccess ファイルは、/var/www/html/tst1/app ディレクトリ下にもあります。
こちらは、気にしなくても良いのかな?と思っています。

① C:¥work¥@Backup¥tst1¥app¥Config¥install.php

baserCMSのインストール時に設定される基本情報ファイルです。

サーバーのURLが設定されていますので、ここを書き換えます。

Configure::write('BcEnv.siteUrl', 'http://192.168.100.1/bc41/'); ←6行目(「http://192.168.100.2/tst1/」に書き換え)

② C:¥work¥@Backup¥tst1¥app¥Config¥database.php

baserCMSのインストール時に設定した、MySQLへのアクセス定義ファイルです。
データベースログインの情報を必要に応じ、書き換えます。
    'host' => 'localhost',      ←9行目 ホスト名(ここでは書き換え無し)    
    'login' => 'bc_user',      ←11行目 ログインユーザー名(ここでは書き換え無し)
    'password' => 'pass0001',   ←12行目 ログインパスワード(ここでは書き換え無し)
    'database' => 'bc_db',     ←13行目 データベース名(ここでは書き換え無し)
    'prefix' => 'bc41_',       ←15行目 プレフィックス(「tst1_」に書き換え)

※「public $test = array( ・・・」の記述の方は、何に使用されるか???ですが、念の為、書き換えます。

③ C:¥work¥@Backup¥tst1_bc_db.sql

MySQLのテーブル定義・データのSQLファイルです。

下記に付いて書き換えを行います。

● データベースのプレフィックス「bc41_」(「tst1_」に書き換え)
● ディレクトリ名称「/bc41/」(「/tst1/」に書き換え)
● 内部リンクのURL「http://192.168.100.1/」(「http://192.168.100.2/」に書き換え)

書き換え個所は多数あります。
テキスト形式のファイルですので、テキストエディタ(メモ帳)等の「一括置換」で行うと良いと思います。

④ C:¥work¥@Backup¥tst1¥.htaccess

Webサーバーの基本的な動作を、ディレクトリ単位で制御するためのファイルです。

ここでの書き換えは有りません。

レンタルサーバー等では、独自の設定(下の画像の記述に追記など)がなされており、見直しが必要になる場合があります。

リストア操作

準備(ファイルの書き換え)が終わりましたら、リストアを行います。

リストアの操作は、「baserCMS4 バックアップ&リストア②(リストア[同一環境])」-「リストア操作」と同等です。

※「192.168.100.1」⇒「192.168.100.2」、「bc41」⇒「tst1」に読み替えます。

まず、要注意ですが、アップロードの前準備として、キャッシュ関連のフォルダの削除を忘れずに行います。

キャッシュ関連のファイルは、移行元のサーバーの情報が入っていますので、残っていると、移行先での動作不具合の元となります。

C:¥work¥Backup¥tst1¥app¥tmp 内のフォルダ「cache」「logs」「schemas」「sessions」を削除します。

次に、「tst1フォルダ」のアップロードを行います。

「FFFTP」にて、アップロードします。

元 : c:¥work¥Backup¥tst1 (コピー修正したフォルダの中)
先 : /var/www/html/tst1 (作成したディレクトリの中)

最後に、「tst1_bc_db.sql ファイル」のインポートを行います。

「phpMyAdmin」にて、インポートします。

「ファイルの選択」で、「c:¥work¥Backup」フォルダを開き、ファイル「tst1_bc_db.sql」を選択

「インポート」ボタンまで下方へスクロール

「インポート」ボタンをマウス左クリック

プレフィックス「tst1_」のテーブルがインポートされます。

最後に【忘れずに!】

baserCMSの「固定ページ」ですが、固定ページ情報編集画面から「保存」の操作を行うと、

内容(文字とリンクの情報)をMySQLデータベースに保存すると同時に、/app/View/Pages ディレクトリに、表示用phpファイルの書出しを行っているとのことです。

Webの閲覧で、固定ページを表示する時は、データベースの内容は使用せず、/app/View/Pages内のphpファイルを使用して表示するようです。

その為、今回のリストア手順では、MySQLデータベースの内容は書き換えを行いましたが、/app/View/Pages内のphpファイルは書き換えを行っておりませんので、このままでは、/app/View/Pages内の古い情報のphpファイルが表示されてしまい、不具合が発生します。

この解消に、以下の操作が必要になります。

管理画面から、

「設定」-「ユーティリティ」-「ユーティリティトップ」画面を表示し、

「固定ページテンプレート」項目の、「固定ページテンプレート書出」ボタンをマウス左クリック

これで、/app/View/Pages内のphpファイルが、MySQLデータベースの内容で、更新されます。


以下、画面の操作です。

移行先「http://192.168.100.2/tst1」の管理画面にログインします。


「設定」-「ユーティリティ」をマウス左クリックで選択


「ユーティリティトップ」画面を表示

「固定ページテンプレート」項目まで進め


「固定ページテンプレート」項目の、「固定ページテンプレート書出」ボタンをマウス左クリック


書出し確認のメッセージを表示

「OK」をマウス左クリック


メッセージを表示し、終了

確認

ブラウザにて、http://192.168.100.2/tst1 にアクセスします。

各ページの、画像や内部リンクに異常がないか確認します。

リストア操作は以上です。


作成 : 2023/08/31

環境 : OS Windows 11 Pro バージョン 22H2 「Hyper-V使用」
     Ubuntu Server バージョン 22.04.2 LTS
      Apache 2.4.52
      MySQL 8.0.33
      PHP 8.1.2
      vsftpd 3.0.5
     FFFTP バージョン 5.8 (64bit)
     phpMyAdmin バージョン 5.2.1
     baserCMS バージョン 4.7.7

Top