アップデート方法
アップデート前の準備
- 「レポート」→「イベントログ」でログに目を通し、不自然なログがないかチェックします。もし問題を感じた場合は、必要に応じて対応してください。
- 1.0.5J-r9以降の場合
管理画面の「ツール」→「バックアップ・リストア」を開き、「スナップショット」タブで最新のスナップショットを作成してください。
1.0.5J-r8以前の場合
管理画面の「ツール」→「バックアップ」を開き、「DROP 文を生成」と「テーブル名」横のチェックボックスにチェックを入れて全てのTableを選択し、その上の「ここをクリック」をクリックし、バックアップデータを取得してください。 - サイトをメンテナンス状態にしておく必要はありません。
※1.0.5J-r10以前のバージョンから最新版にアップデートする場合は、managerディレクトリを転送した時点で一時的にサイトの表示がエラーになるためご注意ください。アップデート作業を完了すればエラーは解消します。
アップデートを実行する
- MODX最新版のアーカイブをダウンロードし、解凍(展開)します。
- 解凍した全てのファイルをサーバ上に上書き転送します。
- 転送が終わったら http://インストール先/install/ にアクセスし、「japanese-utf8」を選択しアップデートを進めてください。
- アップデートが終わったら必ず /install/ ディレクトリを削除してください。管理画面にログインし、指示に従って「保存」ボタンをクリックします。
- サイトを表示し、問題がないことを確認します。
より慎重に対応するには
データのバックアップを確保し、いざという時に元の状態に戻せるようにしておきましょう。
1. バックアップ作業
- 【重要】管理画面の「ツール」→「バックアップ」を開き、「DROP 文を生成」と「テーブル名」横のチェックボックスにチェックを入れて全てのTableを選択し、その上の「ここをクリック」をクリックし、バックアップデータを取得します。
- ダウンロードしたバックアップデータが大き過ぎる場合(数十MB以上)は、いざという時にリストアできません。もう一度「バックアップ」を開き、「event_log」と「manager_log」の行の数字をクリックし、蓄積されたログを初期化してください。ログをクリアできたら、再び同じ手順でバックアップデータを取得してください。
- ファイルのバックアップをとる前に、キャッシュを初期化し、不要なキャッシュファイルを整理します。管理画面ナビゲーションの「メイン」→「サイトをリフレッシュ」(古いMODXではメイン→キャッシュのクリア)を実行してください。
- 【重要】 /assets/ ディレクトリ全体をダウンロードしてください。
- MODX設置ディレクトリの /index.php と /.htaccess をダウンロードしてください。
- /manager/ ディレクトリ全体をダウンロードしてください。
2. アップデート作業
- MODX Evolution最新版をダウンロードし、アーカイブを解凍します。
- /assets/ フォルダを「上書き」でサーバに転送します。
- サーバ上の /manager/ ディレクトリを /manager_bak/ に名前を変更するなどして退避してください。
- /manager/ フォルダをサーバに転送します。こうすることで、クリーンな状態でシステムを更新できるため、トラブルが起こりにくくなります。
- バックアップをとっておいた /manager/includes/config.inc.php をサーバに転送します。
- 残りのファイル(/install/ ディレクトリ・index.php・.htaccessなど)をサーバ上に転送します。
- ブラウザを開き、設置URL/install/ をアドレスバーに入力してインストーラを起動します。
- 以降は、インストーラの指示に従ってアップデートを進めていきます。
- アップデートが無事に完了したら、/install/ ディレクトリと、退避しておいた古い /manager/ ディレクトリを削除します。
3. アップデートに失敗した時の復旧作業(リストア作業)
- サーバ上の /manager/ ディレクトリ・/assets/ ディレクトリ・index.php・.htaccessを削除します。
- phpMyAdminなどを利用し、バックアップデータをインポートします。
- バックアップをとっておいた /manager/ ディレクトリ・/assets/ ディレクトリ・index.php・.htaccessをサーバ上に戻します。
- 管理画面へのアクセスとサイトの表示が無事にできていれば復旧完了です。
補足解説
アップデートの際のトラブルは拡張機能に原因がある場合が多いためご注意ください。たとえば拡張機能のライブラリファイルが収められているassetsフォルダを上書きしていてインストーラを実行しなかった場合、拡張機能の組み込みが更新されず不整合が発生します。アップデート後にQuickManager・ManagerManager・TinyMCEなどのプラグインが動かなく なったという場合、これが原因であることが多いです。
0.9系からのアップデートの場合は、QuickEditプラグインとBottomButtonBarプラグインを無効にしてください。
Ver1.82aよりも新しいFFFTPは、サーバによっては正しく転送できないことがあります。うまくいかない場合はFileZillaなど他のFTPクライアントで最初から上書き転送し直してください。
応用
managerディレクトリは構成がほぼ固定されている
managerディレクトリは、独自の改造を施す場合を除き、運用を通じてディレクトリ内のファイルを更新したり追加したりすることが基本的にありません。config.inc.phpのみがインストール時に更新されますので、これだけバックアップをとっておけばよいということになります。
すっきりアップデートしたい場合は、managerディレクトリをいったん削除してから新しいmanagerフォルダを転送すると、バージョンが新しくなるごとに不要ファイルが増えていくということがありません。
実際には、よほど古いバージョンからのアップデートでなければ(3年ぶりくらいの)、目立つ差異はありません。
参考サイト
http://modx.geo.jp/setup/update.html
上記サイトにアップデート手順について詳細な解説記事が掲載されています。









