社長BLOG
OpenPNE 3.4から 3.6Beta4にバージョンアップ
- 2010-09-08 (水)
- 社長BLOG
OpenPNE3.4から3.6Beta4へのバージョンアップ手順ガイド。
バージョンアップ手順について
バージョンアップの手順は基本的にOpenPNE付属のドキュメントを参考にした。
http://github.com/openpne/OpenPNE3/blob/OpenPNE-3.6beta4/doc/ja/OpenPNE3_Version_Up_Guide.txt
データベースのバックアップ
バージョンアップ前には必ずデータベースのバックアップを取ること。
自分の場合はクラウドサーバを利用しており、OSごとスナップショットを取っている。
※ちなみに今回は、一度メモリーリミットでバージョンアップに失敗しており、スナップショット版に巻き戻した。
php.iniでメモリーリミットを増加
vi /etc/php.ini
今回は256MBにしたら、エラーが発生しなかった。
バージョンアップ途中でのメモリーエラーは、データーベースが中途半端な状態になってしまい、かなり都合が悪い。なるべく余裕を持った設定値にしておきたい。
OpenPNEのダウンロード
リンクアドレスをコピーし、サーバ内でwgetしてダウンロード。
cd /home/admin/OpenPNE
wget http://github.com/openpne/OpenPNE3/zipball/OpenPNE-3.6beta4
unzip openpne-OpenPNE3-OpenPNE-3.6beta4-0-g27edc0f.zip
ファイル名を適切なものにリネームする。
/home/admin/OpenPNE/site.com_3_6
自分はたいていこのようにしている。
設定ファイルの修正
OpenPNE.yml.sample
ProjectConfiguration.class.php.sample
をそれぞれコピーし
OpenPNE.yml
ProjectConfiguration.class.php
を作成する。
cd config/
cp OpenPNE.yml.sample OpenPNE.yml
cp ProjectConfiguration.class.php.sample ProjectConfiguration.class.php
※この時、移動をしてはいけない。sampleファイルとなっているが、OpenPNE側で初期値として利用するので。
Ver3.4のdatabases.ymlをコピー
databases.ymlはVer3.4時代のものをそのまま使う。
旧サーバのファイルを./config/databases.yml としてコピーする。
cd /home/admin/OpenPNE
cp site.com_3_4/config/databases.yml site.com_3_6/config/databases.yml
※旧サーバの設定値を使うということは、旧サーバのデータベースを上書きするということ。絶対にバックアップを取るのを忘れないように!失敗すると取り返しが付かないことになる。
プラグインディレクトリのコピー
Ver3.4時代に使っていた、もしくは追加したプラグインがあるかも知れない。
これらは新しい方にコピーしてあげる必要がある。
cd /home/admin/OpenPNE
cp -aur ./site.com_3_4/plugins/* /home/admin/OpenPNE/site.com_3_6/plugins
cp -aur ./site.com_3_4/plugins/.* /home/admin/OpenPNE/site.com_3_6/plugins
バージョンアップコマンドの実行
./symfony doctrine:build-model
./symfony cc
./symfony openpne:migrate
./symfony plugin:publish-assets
バージョンアップは4つのコマンドを実行することで完了する。
※この途中でエラーが起きたら、データベースを巻き戻してやり直すことをおすすめする。
旧サイト=>新サイトへのシンボリックリンクはりかえ
自分は、プログラムの設置場所とApacheからの参照先を分けている。
Apacheからは常に
/var/www/sns/[ドメイン名]
となるようにhttpd.confの設定を行っている。
したがって今回は
cd /var/www/sns/
rm /var/www/sns/site.com
ln -s /home/admin/OpenPNE/site.com_3.6 site.com
として、旧サイト=>新サイトのリンク張替えをおこなった。
動作確認
すべての作業が完了したら、管理画面にログインして、フッター部分のバージョン表記が
となっていればバージョンアップ成功だ。
※真っ白な画面になってしまったら、web/index.phpの
この部分をfales=>trueに変更し、エラー画面を表示させて原因を探って欲しい。
大抵の場合は、バージョンアップがうまく行っていないと思うので、
バージョンアップ前にロールバックし、バージョンアップ作業を繰り返してみてほしい。