MyBBのインストール

MyBBをインストールしてphpBBからデータをインポートしてみた。

フォーラムのパーミッションが移行できないのはちょっと痛い。移行した場合には、公開前に十分に確認しておく必要あり。それでもbbPressへの移行とくらべたらきっちりデータが移せるので、添付ファイルを使用していたり、ログの量の多い掲示板から移行するならMyBBの方が良いと思う。

前提条件

  • WordPress 3.9.1日本語版
  • MyBB 1.6.13
  • phpBB 3よりデータ移行

インストール手順

  1. 公式サイトのダウンロードページより、最新版のパッケージをダウンロードし、公開用のディレクトリに解凍。
  2. ファイルのパーミションを変更。
  3. MyBB用のデータベースを作成。
  4. Webでアクセスし、インストール画面が表示されたら「Next」をクリック。

    mybb-installer1

    「Send anonymous statistics about your server specifications to the MyBB Group」はチェックしたままで良い。(利用環境の調査のため、PHPやデータベースのバージョンなど環境に関する情報を開発グループに匿名で送信する。協力したくなければチェックをはずしても良い。)

  5. ライセンスが表示されたら内容を確認の上、「Next」をクリック。ライセンスはLGPL。
  6. 環境確認の画面が表示されたら内容を確認の上、「Next」をクリック。

    MyBBインストーラ画面(3)

  7. データベース情報の画面が表示されたら、データベース情報を入力する。

    MyBBインストーラ画面(4)

    データベース情報は、次の内容を入力する。

    • Database Engine: MySQL
    • Database Server Hostname: localhost
    • Database Username: bbadmin ※データベースユーザの名前
    • Database Password: bbpassword ※データベースのパスワード
    • Database Name: mybbdb ※作成しておいたデータベース名
    • Table Prefix: myforum_ ※デフォルトから変更しておく
    • Table Encoding: UTF-8 Unicode
  8. インストーラがテーブルを作成して結果を表示するので、「Next」をクリック。
  9. インストーラがテーブルを初期化して結果を表示するので、「Next」をクリック。
  10. インストーラがデフォルトのテーマとテンプレートをインストールして結果を表示するので、「Next」をクリック。
  11. 掲示板情報を入力する画面が表示されたら、必要に応じて内容を変更して「Next」をクリック。

    mybb-installer5

  12. 掲示板の管理者用のログイン情報を入力する画面が表示されたら、必要項目を入力して「Next」をクリック。

    mybb-installer6

    ここで入力した情報で管理者用のログインが作成される。ユーザ名には日本語も利用可。

  13. 完了画面が出たら、インストール完了。

    mybb-installer7

phpBBからのインポート

  1. 移行ツールダウンロードページから最新版のツールをダウンロードし、MyBBをインストールしたディレクトリ内に展開する。
  2. 移行ツールを実行する前に、パスワードを変換してくれるloginconvert.phpプラグインをインストールしておく。
  3. MyBBサイトの下のmergeディレクトリにブラウザからアクセスし、「Next」をクリックする。

    MyBBへphpBBからインポート(1)

  4. 環境確認の画面が表示されたら「Next」をクリック。

    MyBBへphpBBからインポート(2)

  5. 移行元のシステム選択画面が表示されたら「phpBB 3」を選択して「Next」をクリック。
    MyBBへphpBBからインポート(3)
    移行システムインストール時にloginconvert.phpをプラグインディレクトリにコピーし忘れていると、次のようにエラーが表示される。このエラーが表示されたら、「Next」をクリックする前にloginconvert.phpをコピーしておく。

    MyBBへphpBBからインポート(4)

  6. 変換画面が表示されたら「Database Configuration」の「Run」をクリック。

    MyBBへphpBBからインポート(5)

  7. phpBBのデータベース情報を設定する画面が表示される。

    MyBBへphpBBからインポート(6)

    次のように指定して「Next」をクリック。変数名で記載したものは、phpBBをインストールしたディレクトリ下のconfig.phpの中の変数として指定された値を記述する。

    • Database Engine: MySQL
    • Database Server Hostname: localhost
    • Database Username: $dbuser
    • Database Password: $dbpassword
    • Database name: $dbname
    • Table Prefix: $table_prefix
    • Table Encoding: UTF8 Unicode
    • Automatically convert messages to UTF8?: no
  8. テーブルには依存関係があるため、全部まとめて一度に変換することができない。「Run」ボタンが有効になったものから順に実行していく。実行すると次のオプション画面が表示される場合があるが、特に必要がなければデフォルト値のまま「Next」をクリックして実行する。

    MyBBへphpBBからインポート(7)

  9. すべて実行すると終了画面が表示される。

    MyBBへphpBBからインポート(8)

    レポートが必要なければそのままブラウザを終了する。通常はレポート不要。

  10. インポートしただけの状態だと、記事数やフォーラム数の統計がデータベースに反映されていない。AdminCPにログインし、「Tool & Maintenance > Recount & Rebuild」のページですべてのデータを更新しておく。

以上でインポート完了。機能的に類似性が高いおかげで、かなりきれいにインポートされる。インポートできなかったものは、気づいた範囲では次のもの。

  • リンクフォーラムのリンク
  • フォーラムのパーミッション
  • 一部BBcode(数字指定のリストや、その入れ子のリスト)
  • 添付ファイル

uploadsディレクトリに添付ファイルは存在するものの、中身を開くと403 ForbiddenのHTMLファイルとなっている。直リンクさせないためにphpBBの添付ファイル保存ディレクトリのパーミッションが700にしてあ るのが原因。移行ツール実行前にphpBBのuploadsディレクトリのパーミションを755に変更しておけば、おそらく正常にインポート可能。

添付ファイルのインポート

インポート作業を終わった後に添付ファイルのみインポートし直したい場合には、MyBBのトップディレクトリに次の内容で migrate-attachment.php ファイルを作成する。ファイル中の8~18行目は自分の環境に合わせて書き換える。

ただし、このスクリプトはphpBBとMyBBが同じサーバ上にインストールされている場合にしか使えない。異なるサーバ上にインストールされている場合には、スクリプトを自力で改造するか、phpBBのuploadsディレクトリのパーミションを755に変更してから移行ツールを再度実行するしかない。

cf. Merge System Attachment Not Copied (My BB Community Forums)

実際に実行して、設定した値に問題がないことを確認した上で、42行目のコメントをはずして実行する。ブラウザからMyBBのトップの下のmigrate-attachments.phpをアクセスすれば実行される。

実行後はmigrate-attachments.phpを忘れずに削除しておく。

BBcodeの修復

MyBBにインポートされたデータを見ると、表示できないBBcodeはリストを閉じるコードが [/list] から勝手に [/list:u] に書き換わっていることに気づいた。これを [/list] に戻してやれば正常に表示できる。

というわけで、mysqlのコマンドラインから一括変換して簡単に修復。

テーマのインストール

ちょっとめんどくさい。

  1. 公式サイトのテーマダウンロードページから、好みのテーマを選んでダウンロード。
  2. ZIPファイルを解凍。
  3. テーマ名\Upload\imagesの下にあるフォルダをMyBBのimagesの下にディレクトリ構成をたもったままコピー。
  4. MyBB のAdmin CPのTemplate&Styles > Import Themeで、Import fromに解凍したテーマの中にある.xmlファイルを指定し、「Ignore Version Compatibility」にチェックして「Import Theme」をクリック。

PCからアップロードする前提の処理になっているのが面倒。サーバ上での操作だけで簡単にインストールできたら良いのに。