====== MODxのアップデート ====== ===== バックアップ ===== データディレクトリをバックアップ # cp -a /usr/local/www/html /usr/local/www/html20130707 or # tar -czpf /usr/local/www/html20130707.tar.gz /usr/local/www/html/ DBのバックアップ # mysqldump -u root -p modx > modx20130707.SQL ===== Update ===== 最新版をダウンロードしておく\\ 解凍して、上書き # cd /tmp # unzip modx-2.x.x-pl-ja.zip # chown -R www:www modx-2.x.x-pl-ja/ # cp -r modx-2.x.x-pl-ja/* /usr/local/www/html/ 管理画面 => 権限管理 => 全セッションを初期化 で全ユーザをログアウトさせる。\\ 当該、サイトのsetup((みたいな感じ→ www.example.com/setup/))にアクセスしてセットアップを行う。 マイナーバージョンの変更時にDB変更が入るケースが多いので以下のようにマイナーバージョンごとにUpdateする方が安全。 2.2.x -> 2.3.0 -> 2.4.0 -> 2.5.0 -> 2.6.0 ===== 確認 ===== サイトにアクセスして確認を行う。\\ 普通のサイトだと、管理画面のほうが不具合が出やすいので((それもどーよとは…))、そっちを確認したほうが早いかもしれない。\\ キャッシュが腐るケースも多いので、apacheをrestartしたほうが吉かもしれない。\\ ajaxを多用しているため、ブラウザ側でもきちんとリロードしないとよく画面が腐る。 ===== Update時のエラー ===== ==== Linkがおかしくなる ==== 古めのMODxからアップデートしたとき、LINKが動作しなくなっていることがある。 本来以下のように変換されるはずのものが [[~15]] ↓ www.example.com/alias.html こんな風に変換されなくなっている [[~15]] ↓ www.example.com キャッシュをクリアすると以下のようなエラーが出るはず Resource URI already exists for resource id = 2; skipping duplicate resource URI for resource id = 28 Resource URI already exists for resource id = 2; skipping duplicate resource URI for resource id = 3 Resource URI already exists for resource id = 2; skipping duplicate resource URI for resource id = 6 これは、AliasをDB上のフィールドから読むように変更された際に、Update時にNULLのままとなっているため生じる。 システム設定のフレンドリーURLをいったん解除してから、再設定すれば治るはず。 ==== snippetが動作しない ==== coreの下にcacheディレクトリがあるので、これをcache_bakにでもrenameして新しいcacheディレクトリを作成する 再起動。((新しいcacheはmodxに作らせた方がうまくいく)) これでもダメで以下のようなエラーがLOGに上がる場合 Error caching script elements/modplugin/ - cacheディレクトリを削除or前述のように新しくする - setupディレクトリを再度コピーする - setupを再度行う これで、大丈夫だと思う ==== 引越 ==== === DB作成関連 === CREATE DATABASE `database_hoge` CHARACTER SET utf8 COLLATE utf8_general_ci; grant all privileges on `database_hoge`.* to "ユーザ"@"localhost" identified by 'パスワード' with grant option; この場合、passなどを変更してる場合は、core/config/config.inc.phpあたりを治す ==== 参考 ==== [[http://tracker.modx.com/issues/4265|Bug#4265:Incorrect warnings of duplicate URIs when clearing cache after upgrade]]