アップデート方法

キーワード:アップデート

アップデートが必要な理由

脆弱性対応

古いバージョンのMODXには脆弱性があり、外部からの攻撃を受けてサイトを改竄される・重要な情報を取得されるなどの被害を受ける可能性があります。最新のMODXでは、これらの問題が解決されています。

蓄積され続けるログ

1.0.5J-r7以前のMODXでは、ログが無限に蓄積されます。このためサーバ領域が圧迫されサイト全体に問題を引き起こすことがあります。最新のMODXでは、ログの蓄積上限を2000件までとしており、古い日時のログは自動的に消去されます。

新しいPHPへの対応

サーバ側でPHPのバージョンアップが行なわれると、古いバージョンのMODXは正常に動作しなくなることがあります。最新版のMODXは、最新のPHPに対応しています。(※PHP8対応が遅れていますが対応を予定しています)

注意

データの先祖返りに注意!

アップデート完了後に、古いSQLバックアップデータをインポートし直すと、データベースの構造ごと先祖返りが起こります。うっかり先祖返りさせてしまった時は、もう一度アップデート操作をやり直してください。

アップデート前の準備

アップデートを実行する

アップデート作業の画面遷移

※画面のキャプチャ画像は、インストールするバージョンによって多少の差異があります。


▲サーバへの転送後、http://インストール先/install/ にアクセスしてスタートします。


▲日本語を選択します。


▲通常アップデートにチェック


▲テンプレート・スニペット・プラグインなど、利用中のMODXにインストールされていないものや、バージョンが上がっているプラグインなどをインストーラーが判断して表示されます。
※インストールをしたくない場合や、バージョンを上げたくない場合はチェックを外します。不具合修正を随時行なっていますので、できるだけバージョンアップすることをおすすめします。
(バージョンの確認は、下記の「補足解説」に記述しています。)


▲すべて「問題なし」と表示されたことを確認します。


▲インストールが成功したことを確認して、「インストールディレクトリを自動的に削除する」にチェックをいれます。もしこの表示がない場合はFTPなどで手動でinstallディレクトリを削除してください。


▲「インストール終了」ボタンをクリックすると、ログイン画面が表示されます。ここでログインします。


▲古いバージョンからのアップデートの場合は、上記のような白っぽいログイン画面が一時的に表示されることがありますが、このままログインしてください。


▲http://example.com/manager/ にログインすると、上記のメッセージが表示されるので「更新」をクリック。


▲ダッシュボードに「警告」タブが表示されて、インストーラーの警告メッセージが表示されていたら /install/ディレクトリが残ったままなので削除します。


▲「install」を削除

これでアップデート作業は終了です。あとはスニペットやプラグインなど動作の確認をしてください。

より慎重に対応するには

データのバックアップを確保し、いざという時に元の状態に戻せるようにしておきましょう。

1. バックアップ作業

2. アップデート作業

3. アップデートに失敗した時の復旧作業(リストア作業)

補足解説

応用

managerディレクトリは構成がほぼ固定されている

managerディレクトリは、独自の改造を施す場合を除き、運用を通じてディレクトリ内のファイルを更新したり追加したりすることが基本的にありません。config.inc.phpのみがインストール時に更新されますので、これだけバックアップをとっておけばよいということになります。

すっきりアップデートしたい場合は、managerディレクトリをいったん削除してから新しいmanagerフォルダを転送すると、バージョンが新しくなるごとに不要ファイルが増えていくということがありません。

アップデート後の検証を正確に行なうには

アップデート前にサイト全体をエクスポートし、htmlファイルとして確保しておきます。アップデート後に再びエクスポートを行ない、その差分を調べます。WinMergeなどのツールを使えば、効率よく検証できます。ツールを利用して見比べることで、数千ページ規模のサイトでも、1文字の違いもない正確なアップデートが可能です。こういうことができるCMSはMODX以外にはほとんどないと思いますので、ぜひお試しください。

PR

  • KAGOYA
  • ASP at AKIHABARA Japan
  • CMS AWARDS 2007 Winner
ページトップへ