[[OpenPNE-3 on FreeBSD 7.1]] #contents *Warning: require(/usr/home/EUSM_New/lib/vendor/symfony 2013/10/12 [#lf329b63] /usr/home/EUSM なるサイトをVerUPすべく、/usr/home/EUSM_New へ、最新版OpenPNE3.8.8を展開し、EUSMからConfigを移して構築。 その後、EUSMをEUSM_oldへ、EUSM_NewをEUSMへそれぞれrm。 で、新しい/usr/home/EUSM でコマンドを叩くと root@g7:/usr/home/EUSM # ./symfony doctrine:build-model Warning: require(/usr/home/EUSM_New/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Manager.php): failed to open stream: No such file or directory in /usr/home/EUSM/lib/vendor/symfony/lib/autoload/sfSimpleAutoload.class.php on line 123 というエラーで、./symfony 系のコマンドは一切動かず。(^^ゞ root@g7:/usr/home/EUSM # grep EUSM_New /usr/home/EUSM/ -r /usr/home/EUSM/cache/root/pc_backend/dev/config/config_config_handlers.yml.php:require_once ('/usr/home/EUSM_New/lib/config/opRoutingConfigHandler.class.php'); /usr/home/EUSM/cache/root/pc_backend/dev/config/config_config_handlers.yml.php:require_once ('/usr/home/EUSM_New/lib/config/opPluginConfigHandler.class.php'); ということなので、この2行をEUSM_NewからEUSMへ変更。 root@g7:/usr/home/EUSM # ./symfony doctrine:build-model >> doctrine generating model classes >> file+ /tmp/doctrine_schema_12737.yml Bus error (core dumped) 1(゜◇゜)ガーン root@g7:/usr/home/EUSM # ./symfony cc してからだと、おk ---- *OpenPNE 3.8 バージョンアップ手順 [#f2fe5fde] https://raw.github.com/openpne/OpenPNE3/OpenPNE-3.8.8/doc/ja/OpenPNE3_Version_Up_Guide.txt ================================ **はじめに [#r90dd1ce] -------- このドキュメントは、 OpenPNE 3.4.0 以上の全てのバージョンから OpenPNE 3.8.x へのバージョンアップ作業(メジャーバージョンアップ、およびマイナーバージョンアップ)の手順を示したものです。 ※バージョンアップをおこなう前に、データベースのバックアップを取っておくことを強くお勧めします。 MySQLデータのバックアップ。該当DBだけ cd /usr/home mysqldump -u root -p EUSM > EUSM_sql_data/EUSM_20131011.sql [[Mysql dump import]] **手順 [#va78efb8] ---- バージョンアップは以下の手順でおこないます。 +(1) ファイルの設置 +(2) 設定ファイルの上書き +(3) バージョンアップコマンドの実行 **作業方法 [#l003b98e] -------- **ファイルの設置 [#a5bef3c4] ~~~~~~~~~~~~~~ Web サーバ上の任意のディレクトリに OpenPNE 3.8 のソースファイルを設置します。(※新旧ソースファイル混在によるトラブルを防ぐため、上書きではなくファイルすべてを交換してください。) *** OpenPNE3_Setup_Guide.txt の「OpenPNE3 のソースコードを入手する」を参照。 [#kbc3481d] 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/ しとく **設定ファイルの上書き [#n6c0dd77] ~~~~~~~~~~~~~~~~~~~~ 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 **プラグインディレクトリのコピー [#qd4e1224] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 独自で入れたプラグインや同梱されているプラグインのバージョンよりも新しいバージョンなどを新しい環境で用いるために、古いバージョンの 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 *** どちらのコマンドを実行可能かについては「man cp」コマンドを実行してチェックしてください。 [#mfb64cc7] **モデルの再構築 [#kf3ed5ae] ~~~~~~~~~~~~~~ プロジェクトのルートディレクトリで、以下のコマンドを実行します。 :: $ ./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 以上でバージョンアップは完了です。 **注意事項 [#ye755dd1] ======== バージョンアップに際していくつか注意事項があります。 *** 3.6beta11以前からのバージョンアップ時にメンバーの設定画面(member/config)において下記の3つの項目が表示されなくなるため,使用する場合には管理画面(pc_backend.php/sns/config/category/general)より「使用する」を選択する必要があります。 [#rbc8cec6] * 言語とタイムゾーンの設定 * 外部サービスとの接続設定 * OpenID の設定 *** OpenPNE3.8.0 から管理画面の一部の機能が「上級者設定」に移動しています。移動した機能は以下の通りです。 [#v33ff09f] * SNS設定>一般的な設定 ・アクティビティ投稿設定 ・JSON API 使用設定 ・OpenID Provider 使用設定 ・デイリーニュース受信頻度の設定 ・Web 全体への年齢公開許可設定 ・メンバーのプロフィールページ公開範囲設定 ・リッチテキストエリア設定 * SNS設定>携帯関連設定 * SNS設定>APIキーの設定 ---- ================================ *OpenPNE 3.4 バージョンアップ手順 [#yeabd98d] ================================ はじめに ======== このドキュメントは、 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!