OpenPNE 3.8.21に更新したので備忘録。
まず,既存の OpenPNE のディレクトリは「~/home/miku.moe/OpenPNE」です。
●OpenPNE 3.8.21のダウンロード
作業用ディレクトリを作成して,git cloneでダウンロードします。
~> mkdir ~/home/miku.moe/openpne_3_8_21
~> git clone git://github.com/openpne/OpenPNE3.git
~> cd ~/home/miku.moe/openpne_3_8_21/OpenPNE3
~/home/miku.moe/openpne_3_8_21/OpenPNE3> git checkout OpenPNE-3.8.21
●設定ファイルの移行
作業用ディレクトリ内の設定ファイルと,既存の設定ファイルを diff で比較して,必要に応じて patch を当てます。
database.yml と .htaccess はそのまま引き継ぎです。
~/home/miku.moe/openpne_3_8_21/OpenPNE3> cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php
~/home/miku.moe/openpne_3_8_21/OpenPNE3> cp config/OpenPNE.yml.sample config/OpenPNE.yml
~/home/miku.moe/openpne_3_8_21/OpenPNE3> cd ~/home/miku.moe/openpne_3_8_21
~/home/miku.moe/openpne_3_8_21> diff -up ~/home/miku.moe/OpenPNE/config/ProjectConfiguration.class.php ./OpenPNE3/config/ProjectConfiguration.class.php > ./config_ProjectConfiguration.class.php.diff
~/home/miku.moe/openpne_3_8_21> diff -up ~/home/miku.moe/OpenPNE/config/OpenPNE.yml ./OpenPNE3/config/OpenPNE.yml > ./config_OpenPNE.yml.diff
~/home/miku.moe/openpne_3_8_21> emacs ./config_ProjectConfiguration.class.php.diff
※差分確認。config_ProjectConfiguration.class.phpは差分なしだったのでpatch不要だった。
~/home/miku.moe/openpne_3_8_21> emacs ./config_OpenPNE.yml.diff
※差分確認。設定項目自体は変わってないみたいなので,そのままpatch。
~/home/miku.moe/openpne_3_8_21> patch ./OpenPNE3/config/OpenPNE.yml < ./config_OpenPNE.yml.diff
~/home/miku.moe/openpne_3_8_21> cp ~/home/miku.moe/OpenPNE/config/databases.yml ./OpenPNE3/config/databases.yml
~/home/miku.moe/openpne_3_8_21> cp ~/home/miku.moe/OpenPNE/web/.htaccess ./OpenPNE3/web/.htaccess
※今回,まだプラグイン関係は触ってなかったので移行していないです。
移行する場合は,OpenPNE/plugin フォルダのうち新しいものをすべてコピーすれば良いらしい。(cpコマンドに次のオプションを付けてコピーすれば良い。-a で再帰+属性保持,-u で新しいもののみ。やったことはないのでやるときは慎重に。)
●更新作業
まず,メンテナンスページに切り替え。
それから SQLdump。
symfonyコマンドでモデル再構築と更新。
うまくできたら,メンテナンスページを削除して元の場所に戻す。(あと,参考用に最新状態をTARにまとめておく)
~/home/miku.moe/openpne_3_8_21> mv ~/home/miku.moe/OpenPNE ~/home/miku.moe/openpne_3_8_20/OpenPNE; mkdir -p ~/home/miku.moe/OpenPNE/web; cp ~/home/miku.moe/ment/index.htm ~/home/miku.moe/OpenPNE/web/index.htm; cp ~/home/miku.moe/ment/.htaccess ~/home/miku.moe/OpenPNE/web/.htaccess; cp -R ~/home/miku.moe/ment/pmtool ~/home/miku.moe/OpenPNE/web/
~/home/miku.moe/openpne_3_8_21> mysqldump -u (username) (DBname) -p > database_before_migrate_20160923.dump
~/home/miku.moe/openpne_3_8_21> cd ~/home/miku.moe/openpne_3_8_21/OpenPNE3
~/home/miku.moe/openpne_3_8_21/OpenPNE3> ./symfony doctrine:build-model
~/home/miku.moe/openpne_3_8_21/OpenPNE3> ./symfony cc
~/home/miku.moe/openpne_3_8_21/OpenPNE3> ./symfony openpne:migrate
~/home/miku.moe/openpne_3_8_21/OpenPNE3> ./symfony plugin:publish-assets
~/home/miku.moe/openpne_3_8_21/OpenPNE3> cd ~/home/miku.moe
~/home/miku.moe> cd ~/home/miku.moe
~/home/miku.moe> rm -r ~/home/miku.moe/OpenPNE; mv ./openpne_3_8_21/OpenPNE3 ./OpenPNE; cp -R ~/home/miku.moe/ment/pmtool ~/home/miku.moe/OpenPNE/web/
~/home/miku.moe> tar zcf ~/home/miku.moe/openpne_3_8_21/OpenPNE3.tar.gz ./OpenPNE
The following two tabs change content below.
https://miku.moe/ の管理用アカウントです