https://raw.github.com/openpne/OpenPNE3/OpenPNE-3.8.8/doc/ja/OpenPNE3_Version_Up_Guide.txt
================================
このドキュメントは、 OpenPNE 3.4.0 以上の全てのバージョンから OpenPNE 3.8.x へのバージョンアップ作業(メジャーバージョンアップ、およびマイナーバージョンアップ)の手順を示したものです。
※バージョンアップをおこなう前に、データベースのバックアップを取っておくことを強くお勧めします。
MySQLデータのバックアップ。該当DBだけ
cd /usr/home mysqldump -u root -p EUSM > EUSM_sql_data/EUSM_20131011.sql
バージョンアップは以下の手順でおこないます。
~~~~~~~~~~~~
Web サーバ上の任意のディレクトリに OpenPNE 3.8 のソースファイルを設置します。(※新旧ソースファイル混在によるトラブルを防ぐため、上書きではなくファイルすべてを交換してください。)
http://www.openpne.jp/pne-downloads/ から取って来る
/usr/home/openpne-OpenPNE3-OpenPNE-3.8.8-0-gc40cb4f.zip
において、unzip openpne-OpenPNE3-OpenPNE-3.8.8-0-gc40cb4f.zip すると
/usr/home/openpne-OpenPNE3-c40cb4f/
になるので、
/usr/home/EUSM_New
にrmする
chown -R www:www EUSM_New/
しとく
~~~~~~~~~~~~~~~~~~
OpenPNE 3.8 付属の設定ファイルをコピーしてください。
::
$ cd /usr/home/EUSM_New $ 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 /usr/home/EUSM/config/databases.yml /usr/home/EUSM_New/config/databases.yml
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
独自で入れたプラグインや同梱されているプラグインのバージョンよりも新しいバージョンなどを新しい環境で用いるために、古いバージョンの plugins ディレクトリの中身をコピーします。
::
CentOS や Ubuntu など、 cp コマンドに -u オプションがある場合。
$ cp -rnp /usr/home/EUSM/plugins/. /usr/home/EUSM_New/plugins
MacOSX や FreeBSD など、 cp コマンドに -u オプションがなく -n オプションがある場合。
$ cp -an /path/to/old/OpenPNE3/plugins/. /path/to/new/OpenPNE3/plugins
~~~~~~~~~~~~
プロジェクトのルートディレクトリで、以下のコマンドを実行します。
::
$ ./symfony doctrine:build-model $ ./symfony cc
この手順は、次の「バージョンアップコマンドの実行」に必要となります。
バージョンアップコマンドの実行
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
プロジェクトのルートディレクトリで、以下のバージョンアップコマンドを実行します。
::
$ ./symfony openpne:migrate
migrating of opBlogPlugin encountered the following errors: Error #1 - SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'member_id_date_idx'. Failing Query: "CREATE INDEX member_id_date_idx ON `blog_rss_cache` (member_id, `date`)"
$ ./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
以上でバージョンアップは完了です。
========
バージョンアップに際していくつか注意事項があります。
* 言語とタイムゾーンの設定 * 外部サービスとの接続設定 * OpenID の設定
* SNS設定>一般的な設定 ・アクティビティ投稿設定 ・JSON API 使用設定 ・OpenID Provider 使用設定 ・デイリーニュース受信頻度の設定 ・Web 全体への年齢公開許可設定 ・メンバーのプロフィールページ公開範囲設定 ・リッチテキストエリア設定
* SNS設定>携帯関連設定 * SNS設定>APIキーの設定
================================
================================
はじめに ========
このドキュメントは、 OpenPNE 3.2.0 + から OpenPNE 3.4.x へのバージョンアップ作業の手順を示したものです。
※バージョンアップをおこなう前に、データベースのバックアップを取っておくことを強くお勧めします。
手順 ====
バージョンアップは以下の手順でおこないます。
(1) ファイルの設置 (2) 設定ファイルの上書き (3) バージョンアップコマンドの実行
作業方法 ========
ファイルの設置
Web サーバ上に OpenPNE 3.4 のソースファイルを設置します。(※新旧ソースファイル混在によるトラブルを防ぐため、上書きではなくファイルすべてを交換してください。)
設定ファイルをコピー
古いバージョンの config/databases.yml を新しいバージョンの config/databases.yml としてコピーします。
その後、以下のようにして OpenPNE 3.4 付属の設定ファイルをコピーしてください。
::
$ cd 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 はメール投稿、メール配信の際に利用されるので必ず設定をおこなってください。
OpenPNE 3.2 で管理画面からメールテンプレートを変更し、 OpenPNE 3.4 にアップデートした際に問題が生じた場合、 OpenPNE.yml の is_restrict_mail_template を false に設定してください。
プラグインディレクトリのコピー
古いバージョンの plugins ディレクトリの中身をコピーします。
::
$ cp -aur /path/to/old/OpenPNE3/plugins/* /path/to/new/OpenPNE3/plugins $ cp -aur /path/to/old/OpenPNE3/plugins/.* /path/to/new/OpenPNE3/plugins
モデルの再構築
プロジェクトルートディレクトリで、以下のコマンドを実行します。
::
$ ./symfony doctrine:build-model $ ./symfony cc
この手順は、次の「バージョンアップコマンドの実行」に必要となります。
バージョンアップコマンドの実行
プロジェクトルートディレクトリで、以下のバージョンアップコマンドを実行します。
::
$ ./symfony openpne:migrate $ ./symfony plugin:publish-assets
このコマンドは OpenPNE 本体、プラグインの両方を最新の状態にバージョンアップします。
以上でバージョンアップは完了です。
k222# ./symfony openpne:migrate k222# ./symfony plugin:publish-assets
k222# ./symfony doctrine:build-model >> doctrine generating model classes >> file+ /var/tmp/doctrine_schema_13707.yml >> autoload Resetting application autoloaders >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/dev/config/config_autoload.yml.php >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/prod/config/config_autoload.yml.php k222#
k222# ./symfony cc >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/project_autoload.cache >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/apac...32255bcbc5ce3375c7999b33c136pager.ja.xml/ja_JP.cache >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/apac...92a26278ffb7ab24c175e5bf1messages.ja.xml/ja_JP.cache >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/apac...7ff050a6c9bbdf3d8a93820c8messages.ja.xml/ja_JP.cache >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/prod/config/config_gadget_config.yml.php >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/prod/config/config_side_banner_gadget.yml.php >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/prod/config/config_config_handlers.yml.php >> file- /usr/local/www/apache22/data/OpenPNE3_est/cache/cli/api/prod/config/config_gadget_layout_config.yml.php k222#
k222# cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php k222# cp config/OpenPNE.yml.sample config/OpenPNE.yml k222# ./symfony openpne:install
Choose DBMS: - mysql - pgsql (unsupported) - sqlite (unsupported) mysql Type database username pne_est Type database password (optional) *********** Type database hostname localhost Type database port number (optional) Type database name PNE_EST Type database socket path (optional) The DBMS : mysql The Database Username : pne_est The Database Password : ****** The Database Hostname : localhost The Database Port Number : The Database Name : PNE_EST The Database Socket : Is it OK to start this task? (Y/n) y >> plugin installing plugin "opAuthMailAddressPlugin" >> opPluginManager Plugin is already installed >> plugin installing plugin "opAuthMobileUIDPlugin" >> plugin Configuring plugin - sfFormExtraPlugin >> plugin Configuring plugin - sfImageHandlerPlugin >> plugin Configuring plugin - sfProtoculousPlugin >> plugin Configuring plugin - sfSymfonyTemplatingViewPlugin >> installer installation is completed!