#author("2018-10-03T15:53:17+09:00","default:kuji","kuji") #author("2018-10-04T05:42:35+09:00","default:kuji","kuji") CONTENTS #contents ---- Lastmodified &lastmod; ---- php5 が2018年末でメンテナンス終了とのこなので *OpenPNE2 to 3 [#u49b80d1] https://www.openpne.jp/doc-upgrade-from-2x/ http://diary.d-yoshi.com/?p=7637 OpenPNE 2 から直接3.8以上へはバージョンアップできないらしい。 2.14.x → 3.6.x → 3.8.25 の2段階バージョンアップが推奨・・・らしい。ということで、以下をとってくる。 &ref(openpne-OpenPNE3-OpenPNE-3.6.28.1-0-g0cfa1dd.zip); &ref(openpne-OpenPNE3-OpenPNE-3.6.32.zip); &ref(OpenPNE3-OpenPNE-3.9.2.zip); 移行対象は、 FreeBSD11.2R mysql Ver 14.14 Distrib 5.5.61, for FreeBSD11.2 (amd64) PHP は、不要 * VerUP 手順[#x839a7aa] ** OpenPNE v2.14.1.1 ⇒ 3.6.32 ⇒ 3.9.2 [#m62e08a7] Upgrade_From_2_Guide.txt~ ==================================~ OpenPNE 2 からのアップグレード手順~ ==================================~ ※アップグレードをおこなう前に、データベースのバックアップを取っておくことを強くお勧めします。 # mysqldump -u root -p --default-character-set=utf8 PNE2 > /usr/home/mysql_dump/PNE2.sql とか mysqldump -u root -p --default-character-set=utf8 TFC_SNS > TFC_SNS.sql cd ../ tar cvfzp openpne_20180916.tar.gz openpne 作業方法~ ========~ OpenPNE 3 の設置~ ----------------~ http://github.com/openpne/OpenPNE3/downloads Git リポジトリを利用する場合、以下のコマンドを実行してください (バージョン番号は適切なものに変更してください):: $ git clone git://github.com/openpne/OpenPNE3.git $ git checkout OpenPNE-3.6.x その後、 OpenPNE3 のソースコード内にある web ディレクトリが、ウェブサーバの公開領域となるように設置~ ここでは、移動元のディレクトリと同じ階層に設置してみる。 初期設定~ --------~ 設定が終わったら、いくつかコマンドを実行します。 まず、設定ファイルのコピーをおこないます。 config/ProjectConfiguration.class.php.sample を config/ProjectConfiguration.class.php としてコピーします:: # cd /path/to/OpenPNE3 # cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php 次に、config/OpenPNE.yml.sample を config/OpenPNE.yml としてコピーします。 # cp config/OpenPNE.yml.sample config/OpenPNE.yml その際、 OpenPNE.yml の設定値は OpenPNE2 の config.php に合わせて変更してください。特に base_url と mail_domain はメール投稿、メール配信の際に利用されるので必ず設定をおこなってください。 OpenPNE2 の config.php を config/config.OpenPNE2.php としてコピーします:: # cp ../OpenPNE/config.php /config/config.OpenPNE2.php 以下のコマンドを実行し、プラグインをインストールします:: $ ./symfony opPlugin:sync 各ディレクトリのパーミッションを適切なものに設定します:: $ ./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 注意事項~ ========~ アップグレードに際していくつか注意事項があります。 fix_old_image_data のコンバートで Allowed memory size of xxxx bytes exhausted ... というようなエラーメッセージとともに失敗する場合、 php.ini の memory_limit ディレクティブの設定を見直すか、それが難しい場合は~ config/config.OpenPNE2.php の IMAGE_MAX_FILESIZE の設定値を大きな値に設定してください OpenPNE2 に Google のAPIキーを設定している場合、 OpenPNE3 の管理画面で再設定する必要があります。 +. OpenPNE2 の config.php に記述してある Google Maps API key と Google AJAX Search API key をコピーします。 +. OpenPNE3 の管理画面( /pc_backend.php )を開いて、 「SNS設定」 -> 「APIキーの設定」( /pc_backend.php/sns/config/category/api_keys ) を開きます。 +. Google Maps API key と Google AJAX Search API key のテキストボックス内に、先程コピーしたAPIキーを貼り付けます。 +. 「設定変更」ボタンを押します。 *** 2.12, 2.14 の以下の機能に関するデータの変換は OpenPNE3 側で未実装なため対応していません [#a0615464] BIZ 関連機能 ポイント 関連機能 アクセスログ関連機能 お気に入り関連機能 レビュー関連機能 日記カテゴリ関連機能 ファイル関連機能 スケジュール関連機能 フリーページ関連機能 テンプレート設定関連機能 ポータルクリエイターは「最新コミュニティ書き込み」「最新レビュー」「メンバーアクセスランキング」「コミュニティ盛り上がりランキング」「イベント予定」などのコンテンツが利用できません [#tb850f39] ポータルクリエイターの配色設定やカスタム CSS 設定などが利用できません [#j32ba580] ポータルクリエイターのレイアウト設定は「レイアウト2(4:6)」と同等のもの固定になります [#f6d2f6d7] 管理ユーザ(admin_user)は「全権限」が与えられているアカウントのみコンバートします [#q32344e5] ナビメニューの設定はコンバートしません [#k44c94f9] OpenPNE2 のナビメニューにないメニュー項目、 OpenPNE3 にない機能のメニュー項目はナビメニューからクリックできないようになっています。対応するにはナビメニューの設定を調節し、 CSS に記述を加えるか、 OpenPNE2 互換 スキンを使わないように管理画面から opSkinClassicPlugin を無効にしてください ** OpenPNE v3.6.32 ⇒ 3.9.2 [#efaa0e59] OpenPNE 3.8 バージョンアップ手順~ ================================~ このドキュメントは、 OpenPNE 3.4.0 以上の全てのバージョンから OpenPNE 3.8.x へのバージョンアップ作業手順です。 手順~ ----~ バージョンアップは以下の手順でおこないます。 +ファイルの設置 +設定ファイルの上書き +バージョンアップコマンドの実行 作業方法~ --------~ ファイルの設置~ Web サーバ上に OpenPNE 3.8 のソースファイルを設置します。(※新旧ソースファイル混在によるトラブルを防ぐため、上書きではなくファイルすべてを交換してください。) 設定ファイルの上書き ~~~~~~~~~~~~~~~~~~~~ OpenPNE 3.8 付属の設定ファイルをコピーしてください。 $ cd /path/to/new/OpenPNE3 $ cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php $ cp config/OpenPNE.yml.sample config/OpenPNE.yml ※config/ProjectConfiguration.class.php に独自の設定を記述している場合は、古いファイルを参考に新しいファイルを変更してください。 OpenPNE.yml の設定値を環境に合わせて変更してください。特に base_url と mail_domain はメール投稿、メール配信の際に利用されるので必ず設定をおこなってください。 古いバージョンの config/databases.yml を新しいバージョンの config/databases.yml としてコピーします。 $ cp /path/to/old/OpenPNE3/config/databases.yml /path/to/new/OpenPNE3/config/databases.yml プラグインディレクトリのコピー ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 独自で入れたプラグインや同梱されているプラグインのバージョンよりも新しいバージョンなどを新しい環境で用いるために、古いバージョンの plugins ディレクトリの中身をコピーします。 CentOS や Ubuntu など、 cp コマンドに -u オプションがある場合。 $ cp -au /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins MacOSX や FreeBSD など、 cp コマンドに -u オプションがなく -n オプションがある場合。 $ cp -an /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins * どちらのコマンドを実行可能かについては「man cp」コマンドを実行してチェックしてください。 [#fb044d2a] モデルの再構築~ プロジェクトのルートディレクトリで、以下のコマンドを実行します。 $ ./symfony doctrine:build-model $ ./symfony cc この手順は、次の「バージョンアップコマンドの実行」に必要となります。 バージョンアップコマンドの実行~ プロジェクトのルートディレクトリで、以下のバージョンアップコマンドを実行します。 $ ./symfony openpne:migrate $ ./symfony plugin:publish-assets このコマンドは OpenPNE 本体、プラグインの両方を最新の状態にバージョンアップします。 OpenPNE 3.2.7.2、3.4.9、3.6beta6 以前からのバージョンアップの場合、以下のコマンドを実施する必要があります。 コマンドの実施前に以下のブログ記事をお読みください。 【緊急リリース】OpenPNE 3 に存在するセッション管理の不備に関する複数の脆弱性のお知らせ http://www.openpne.jp/archives/5689/ :: $ ./symfony openpne:fix-session-db 以上でバージョンアップは完了です。 注意事項 ======== バージョンアップに際していくつか注意事項があります。 3.6beta11以前からのバージョンアップ時にメンバーの設定画面(member/config)において下記の3つの項目が表示されなくなるため,使用する場合には管理画面(pc_backend.php/sns/config/category/general)より「使用する」を選択する必要があります。 * 言語とタイムゾーンの設定 * 外部サービスとの接続設定 * OpenID の設定 OpenPNE3.8.0 から管理画面の一部の機能が「上級者設定」に移動しています。移動した機能は以下の通りです。 * SNS設定>一般的な設定 ・アクティビティ投稿設定 ・JSON API 使用設定 ・OpenID Provider 使用設定 ・デイリーニュース受信頻度の設定 ・Web 全体への年齢公開許可設定 ・メンバーのプロフィールページ公開範囲設定 ・リッチテキストエリア設定 * SNS設定>携帯関連設定 * SNS設定>APIキーの設定 ---- Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday); #counter([total|today|yesterday]);