baserCM2.1.2から 3.0.0へ移行を試してみたよ

basercms3.png
この記事はbaserCMSアドベントカレンダー2013/12/21の記事です。

ついについについに出ました、baserCMS3!
baserCMS3正式版リリース! | baser CMS

それで、今まで作ってきたbaserCMS2系(2.1.2)の移行を試してみました。

やった内容は公式開発ブログにも書かれてる以下の記事を参考にしました。

結論としては、この記事見ながら1時間ぐらいで移行できました!

わーい( ´ ▽ )ノ

で終わると記事にならないので、途中詰まった点とか調べたりしたことをフィードバックできればと思います。

大まかな流れの流れ

  • 全ての作業はローカル環境(Mac / Mamp )
  • 既存のbaserCMS2系から「データメンテナンス」でサイト情報をバックアップ(zipファイルを保存)
  • baserCMS3を新たにインストール
  • 移行に必要なプラグイン2つ、BcAddonMigratorプラグイン、BcDbMiguratorプラグインをダウンロードしてインストールしておく

インストールモードに戻す簡単な方法

参考サイトをよく読まずに作業してて、しょっぱなからデータを壊してしまいました(汗)
(何も考えずに2系のバックアップデータを3系のデータメンテナンスでUPした)

baserCM3を再インストールするためにはインストールモードに戻す必要があります。
2系ではconfig.phpを一部書き換えるなどあったのですが、3系ではとても簡単でした。

方法は「 /{basercms3フォルダ}/app/Config/内の database.php、install.php の2つのファイルを削除するだけ」

これでインストールしてるURLをリロードすれば、一番最初のインストールの画面が表示されました。

BcDbMigratorで2系バックアップデータを3系へ変換

git1baserCMSのバックアップデータのマイグレーション(2→3系へ対応するための自動変換)を行うプラグインBcDbMigratorを利用しました。

ちょっと作業前に以下の流れを把握しておくといいと思います。

BcDbMigrator10

 

まず2系のシステム管理画面のデータメンテナンスからバックアップデータをダウンロードしておきます。

次にインストールしたBcDbMigratorの設定画面へBcDbMigrator8

2系のバックアップデータをzipのままアップロード。

アップロード後に自動でマイグレーションが実行され、
成功すれば以下の画面が表示されるので、ダウンロードを実行。

BcDbMigrator9

3系に変換されたバックアップデータ(ZIP)をダウンロードできたら、
そのままデータメンテナンスへ移動します。

BcDbMigrator7

3系のバックアップデータを「データの復元」からアップロードすればデータ移行は完了です。

記事の中身を変更する必要は特にありませんでした。
あとでブログのウィジェットだけ再登録が必要でした(後述)

BcDbMigratorを解凍した後のフォルダ名でハマる

baserCMSのバックアップデータのマイグレーション(2→3系へ対応するための自動変換)を行うプラグインBcDbMigratorを利用した時に、初歩的過ぎることでハマったのでメモです。

起きた不具合

BcDbMigrator1

インストールしたBcDbMigratoの設定画面にアクセスるとエラーに。

Not Found
エラー: The requested address '/index.php/admin/bc_db_migrator/migrator' was not found on this server.

解決策

解凍後のフォルダ名は「BcDbMigrator」であることを確認すること!
インストールする時もこのフォルダ名になっていること!(当たり前すぎる)

 

なんでこんな初歩的なことを言ってるかというと。

git2
「Download ZIP」でダウンロードするとファイル名は「master.zip」
https://github.com/ryuring/BcDbMigrator/archive/master.zip

Macでそのまま解凍すると、解凍ソフトによっては
「BcDbMigrator-master」
となることがあります。

このままPluginフォルダに入れてもインストールはできちゃう。
それから設定画面にアクセスしようとして不具合が起きました。

ここではプラグインのアンイストールと再インストールの手順をメモしておきます。

1. プラグイン一覧から停止

BcDbMigrator2

2.プラグインのデータを初期化する

BcDbMigrator4

↓初期化に成功
BcDbMigrator5

3. 一覧からプラグインを削除

BcDbMigrator3

4.フォルダ名を正しくリネーム
BcDbMigrator6   

5. プラグイン一覧画面から、再インストール

誰もこんなうっかりしませんよね…

管理画面にログインできなくなった

loginerror

「管理システムログイン
ログイン処理に失敗しました。
アカウント名、パスワードが間違っています。」

basercms3を新規インストールした環境に移行した人にはわりと起きうると思います。

原因は、ログイン情報で必要なセキュリティキー?文字列?が変わってしまってるため。
{basercms2}/app/config/install.app の 'Security.salt' の値が変わると、ID/PWが正しくてもログインできなくなります。

解決策

{basercms2}/app/config/install.app の 'Security.salt' の値を、
{basercms3}/app/Config/install.app の 'Security.salt' の値に上書きします。

[php]
Configure::write('Security.salt', '{basercm3新規インストールで生成されたキー}');

Configure::write('Security.salt', '{basercms2からのコピペ}');
[/php]

これでもダメな場合は、ローカルもしくはphpMyAdminが使える環境であれば、以下の記事の方法を試してみてください。

テーマの編集:判定系が増えたよ

[php]
<?php if (empty($blog)) : //固定ページ専用 ?>
<?php include(dirname(__FILE__) . '/../elements/page.php'); ?>
<?php else : //ブログ専用 ?>
<?php $this->BcBaser->content() ?>
<?php endif; ?>

<?php if ($this->BcBaser->isPage() ) : //固定ページ専用 ?>
<?php include(dirname(__FILE__) . '/../elements/page.php'); ?>
<?php else : //ブログ専用 ?>
<?php $this->BcBaser->content() ?>
<?php endif; ?>
[/php]

ブログ系のウィジェットが表示されない

2系からDB移行すると、表示されないorエラーが出ます。
ブログ用のウィジェットはすべて削除して、新規に登録し直すと解決しました。

たぶん、3系でプラグインとしてのblogの仕様が変わったんでしょうね。

僕が移行で手間取った内容でした。

実感できるぐらい速くなってますね!
使っていく今後が楽しみです( ´ ▽
)ノ

P.S. NPO法人の理事になりました

basercms_npo
(設立総会には残念ながら参加できませんでした…)

baserCMSコミュニティは、止まらない、潰れない運営を目指す為、NPO法人化します。
それに伴い、昨日、12月14日に、福岡のAIPカフェにて特定非営利活動法人ベーサー・ファウンデーションの設立総会を行いました。

というわけで、北部九州幹事だった僕もNPO法人化にあたって理事に就任することになりました。
これからもbaserCMSユーザー会で頑張って行きますのでどうぞよろしくお願いします( ´ ▽ ` )ノ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*