タグ ‘openpne’ の記事

OpenPNEのバージョンアップ手順メモ

OpenPNEアップグレード
OpenPNE去年からOpenPNEを使った地域SNSのシステム管理をやっていて、実は今回はじめてバージョンアップ作業をしたのでした。
アップグレード方法は、オフィシャルドキュメントにも丁寧に書いていますが、また次回のバージョンアップに備えて自分のために作業手順をメモ。
なんかもっと効率の良い方法があると思ってますんで、ぜひぜひ突っ込んでくださいませ。
ちなみに今回のアップグレードは、OpenPNE-2.11.1からOpenPNE-2.12.2
1)OpenPNEのメンテナンスモードに変更
OpenPNEのインストールディレクトリのrootにあるconfig.phpのOPENPNE_UNDER_MAINTENANCEをfalseからtrueに変更。
define(‘OPENPNE_UNDER_MAINTENANCE’, true);
ちゃんとメンテナンス中表示になってるのを確認。
2)MySQLデータベースのバックアップ
なにはともあれ既存データベースのバックアップ。
とりあえずは/tmpディレクトリにエクスポートしておくことに。
mysqldump -uユーザー -pパスワード データベース名 > /tmp/op0810.sql
3)最新モジュールのダウンロード
ダウンロードページから、最新の安定バージョン(8月10日時点ではOpenPNE-2.12.2.tar.gz)をダウンロードして/tmpディレクトリに解凍。
tar -zxvf OpenPNE-2.12.2.tar.gz
4)テーブル変更スクリプトの実行
解凍したディレクトリの中にあるスクリプト、/tmp/OpenPNE-2.12.2/setup/sql/mysql41/upgrade/upgrade-2.10to2.12.sqlを実行。
cd setup/sql/mysql41/upgrade/
mysql -uユーザー -pパスワード –default-character-set=utf8 データベース名 < upgrade-2.10to2.12.sql
※実行するスクリプトはDBの種類やバージョンによって選択
5)設定ファイルの修正
既存環境のconfig.phpを見ながら、/tmp/OpenPNE-2.12.2/config.php.sampleをコピーしてconfig.phpに変名してから、既存のconfig.phpを参考に修正。
修正項目は、こんな感じ↓
・OPENPNE_URL
・['_OPENPNE_DSN_LIST']['main']
・ENCRYPT_KEY
・MAIL_SERVER_DOMAIN
・OPENPNE_UNDER_MAINTENANCE
・OPENPNE_SSL_URL(SSL使ってないけどとりあえず)
・OPENPNE_PUBLIC_HTML_DIR(もし必要であれば)
・IMAGE_MAX_FILESIZE(デフォルトの300KBは小さすぎなので)
・FILE_MAX_FILESIZE(同じく300KBから変更)
・OPENPNE_API_TOKEN
・GOOGLE_MAPS_API_KEY(これ設定しないと地図を表示した時警告メッセージが表示されます)
・GOOGLE_AJAX_SEARCH_API_KEY(これもとりあえず設定)
6)既存モジュールのバックアップ。
OpenPNEのアップグレードマニュアルには、旧モジュールに新モジュールは上書きしてはいけないと書いてあるので旧モジュールは全て/tmp/op211ディレクトリに移動させることに。
mv OpenPNEディレクトリ/bin /tmp/op211
mv OpenPNEディレクトリ/lib /tmp/op211
mv OpenPNEディレクトリ/public_html /tmp/op211
mv OpenPNEディレクトリ/setup /tmp/op211
mv OpenPNEディレクトリ/var /tmp/op211
mv OpenPNEディレクトリ/webapp /tmp/op211
mv OpenPNEディレクトリ/webapp_biz /tmp/op211
mv OpenPNEディレクトリ/webapp_ext /tmp/op211
mv OpenPNEディレクトリ/LICENSE /tmp/op211

※このタイミングで、OpenPNE標準のメンテナンス画面表示されなくなってしまうんで、手作りのメンテナンス中index.phpをドキュメントルートに配置。
7)新規ファイルの一括配置
/tmpの下に展開しておいた新しいモジュールファイル群をOpenPNEインストール・ディレクトリにコピー。
cp -r /tmp/OpenPNE-2.12.2/* /OpenPNEディレクトリ
※もしオリジナルでTOPページを用意している場合は、そのページも忘れずに元に戻しましょう。
8)ディレクトリ権限の設定確認
最後に各ディレクトリのパーミッションを確認してください。
varディレクトリは777ですぞ。
9)OpenPNEのメンテナンスモードを元に戻す
config.phpのOPENPNE_UNDER_MAINTENANCEをfalseに設定変更
とりあえず、今回のバージョンアップで分かったこと。
そのWebサーバーでOpenPNEしか使わないとしても、homeディレクトリにOpenPNEのディレクトリ群(binやlibなど)をばらまくのは駄目ですね。
誰だ。こんなインストールしたの。
ちゃんとOpenPNEは1個のディレクトリにまとめて、public_htmlだけ外出しするのがいいのかな?