-オープンソースのSNSエンジン OpenPNEプロジェクト-

OpenPNE 2 から OpenPNE 3.3.x へのアップグレード手順

Home > OpenPNE 2 から OpenPNE 3.3.x へのアップグレード手順

はじめに

このドキュメントは、 OpenPNE 2.12.x もしくは OpenPNE 2.14.x から OpenPNE 3.3.x へのバージョンアップ作業の手順を示したものです。

※アップグレードをおこなう前に、データベースのバックアップを取っておくことを強くお勧めします。

作業方法

動作環境の確認

アップグレードをおこなう前に、以下の動作環境を満たしているか確認してください。

Webサーバ
Apache
  • mod_rewrite を使用可能
PHP
PHP5.2.3 以降
  • PHP の mbstring 拡張モジュールを使用可能
  • PHP の XML 拡張モジュールを使用可能
  • PHP の PCRE 拡張モジュールを使用可能 (UTF-8 サポート)
  • PHP の PDO 拡張モジュールを使用可能 (利用する DBMS のドライバも含む)
  • PHP の JSON 拡張モジュールを使用可能
  • PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート)
  • PHP の mcrypt 拡張モジュールの使用を推奨
  • PHP の APC 拡張モジュールの使用を推奨
データベースサーバ

MySQL4.1以降(5.1 以降を推奨)

PostgreSQL, SQLite は現時点で未サポート(将来的にサポート予定)

OpenPNE 3 の設置

まず OpenPNE を入手してください。

ZIP アーカイブを入手する場合、以下の URL にアクセスし、 OpenPNE 3.3.x の最新バージョンのパッケージをダウンロードしてください。

http://github.com/openpne/OpenPNE3/downloads

Git リポジトリを利用する場合、以下のコマンドを実行してください (バージョン番号は適切なものに変更してください):

$ git clone git://github.com/openpne/OpenPNE3.github
$ git checkout OpenPNE-3.3.x

その後、 OpenPNE3 のソースコード内にある web ディレクトリが、ウェブサーバの公開領域となるように設置してください (セットアップガイドも参照してください)。

初期設定

設定が終わったら、いくつかコマンドを実行します。

まず、設定ファイルのコピーをおこないます。

config/ProjectConfiguration.class.php.sample を config/ProjectConfiguration.class.php としてコピーします:

$ cp /path/to/OpenPNE3/config/ProjectConfiguration.class.php.sample /path/to/OpenPNE3/config/ProjectConfiguration.class.php

次に、 OpenPNE2 の config.php を config/config.OpenPNE2.php としてコピーします:

$ cp /path/to/OpenPNE2/config.php /path/to/OpenPNE3/config/config.OpenPNE2.php

以下のコマンドを実行し、プラグインをインストールします:

$ ./symfony opPlugin:sync
$ ./symfony plugin:publish-assets

その後、モデルに関するクラスファイルを構築します:

$ ./symfony doctrine:build --all-classes

各ディレクトリのパーミッションを適切なものに設定します:

$ ./symfony openpne:permission

アップグレードコマンドの実行

2.12 からのアップグレードをおこなう場合、以下のコマンドを実行してください:

$ ./symfony openpne:upgrade-from-2 --origin=2.12

2.14 からのアップグレードをおこなう場合、以下のコマンドを実行してください:

$ ./symfony openpne:upgrade-from-2 --origin=2.14

コマンドを実行すると、アップグレードが開始され、アップグレードの過程が出力されていきます。

アップグレードはいくつかの手順に分けておこなわれます。たとえば diary という手順を実行する場合、「>> upgrade Processing diary」と表示され、 diary という手順の実行が完了した場合、「>> upgrade Processed diary (x.xx sec)」と表示されます。エラーが発生した場合は(端末が対応していれば)赤背景でエラーメッセージが表示されます。その場合、その手順でおこなった操作を取り消して、次の手順を実行します。

エラーの原因となるデータを修復するなどして、アップグレードが正常におこなえるようになった場合、以下のように –rules オプションを指定してコマンドを実行することで失敗した手順のみを再度実行することができます:

$ ./symfony openpne:upgrade-from-2 --origin=2.14 --rules=diary

この –rules オプションは以下のように複数指定することができます:

$ ./symfony openpne:upgrade-from-2 --rules=diary --rules=skin_config

注意事項

アップグレードに際していくつか注意事項があります。

  • 3.3.1 の実装では、旧データは (コンバートの都合上 ALTER TABLE をする場面はあるものの) すべて残します。アップグレードをおこなう場合はディスクに充分な空き容量があることを確認してからおこなってください。最終的には OpenPNE3 側で未実装であるなどの理由がある場合を除き、データは適切なタイミングで削除する予定です
  • fix_old_image_data のコンバートで「Allowed memory size of xxxx bytes exhausted … 」というようなエラーメッセージとともに失敗する場合、 php.ini の memory_limit ディレクティブの設定を見直すか、それが難しい場合は config/config.OpenPNE2.php の IMAGE_MAX_FILESIZE の設定値を大きな値に設定してください
  • 2.12, 2.14 の以下の機能に関するデータの変換は OpenPNE3 側で未実装なため対応していません
    • BIZ 関連機能
    • ポイント 関連機能
    • アクセスログ関連機能
    • お気に入り関連機能
    • レビュー関連機能
    • 日記カテゴリ関連機能
    • ファイル関連機能
    • スケジュール関連機能
    • フリーページ関連機能
    • テンプレート設定関連機能
  • ポータルクリエイターは「最新コミュニティ書き込み」「最新レビュー」「メンバーアクセスランキング」「コミュニティ盛り上がりランキング」「イベント予定」などのコンテンツが利用できません
  • ポータルクリエイターの配色設定やカスタム CSS 設定などが利用できません
  • ポータルクリエイターのレイアウト設定は「レイアウト2(4:6)」と同等のもの固定になります
  • 管理ユーザ(admin_user)は「全権限」が与えられているアカウントのみコンバートします
  • ナビメニューの設定はコンバートしません
  • OpenPNE2 形式の古い URL にアクセスした場合の措置がまだおこなわれていません
  • OpenPNE2 のナビメニューにないメニュー項目、 OpenPNE3 にない機能のメニュー項目はナビメニューからクリックできないようになっています。対応するにはナビメニューの設定を調節し、 CSS に記述を加えるか、 OpenPNE2 互換スキンを使わないように管理画面から opSkinClassicPlugin を無効にしてください

ページの先頭に戻る