concrete5のアップデート

concrete5を新しいバージョンにアップデートする方法です。

アップデートの前に

concrete5サイトのアップデートの前に、必ずデータベースのバックアップを取得してください。バックアップが完了したら、アップデートに進みましょう。アップデートには、いくつかの方法があります。

アップデートできるバージョン

お使いの concrete5.7.x によってまず、特定のバージョンに先にアップデートすることが必要になります。

  • 8.3.0 => 先に8.2.1にアップデートが必要
  • 8.0 => 先に5.7.5.11にアップデートが必要
  • 5.7.4 => 先に5.7.3にアップデートが必要

過去バージョンページより過去のバージョンをダウンロードできます。

リモートアップデート:管理画面からのみの操作でアップデートする

[管理画面 > システムと設定 > concrete5をアップデート]ページにアクセスし、concrete5.org からアップデートをダウンロードすることができます。ダウンロードされた新バージョンは、updates/ ディレクトリに展開されます。ダウンロードが完了すると、アップデートの実行を選択することができます。

※ メジャーバージョンアップがリリースされた際等、安定版がリリースされるまで自動アップデートが開始されない場合があります。

手動で管理画面からアップデートする

上記の方法では管理画面から新バージョンのダウンロードと updates/ ディレクトリへの展開がconcrete5によって自動的に行なわれましたが、このステップを手動で行なうこともできます。その後、管理画面から更新を実行することでインストール完了となります。

  1. 最新バージョンをダウンロードページから入手します。
  2. zipファイルを解凍します。アップデートに必要なのは concrete フォルダのみですので、それ以外は削除します。
  3. この時点で、concrete5.7.x.x のような名前のフォルダの中に、concrete というフォルダが入っている状態になっているはずです。
  4. concrete5.7.x.x フォルダを、サーバーの updates/ ディレクトリにアップロードします。
  5. [管理画面 > システムと設定 > concrete5をアップデート]に、アップロードしたバージョンが表示されていますので、更新ボタンをクリックして実行しましょう。

どちらの方法を選択しても、application/config/ ディレクトリに update.php ファイルが作成されます。このファイルに、updates/ ディレクトリ内のどのバージョンが使われるようになったのかが記録されています。

オリジナルの concrete ディレクトリを上書きする(バージョン8以降)

ディスク容量を節約したい場合、そして concrete5 のアップデートをブラウザからの操作を行わずに完了したい場合、オリジナルの concrete ディレクトリを新しいバージョンと差し替えて、特定のルートからアップデートすることができます。

  1. 最新バージョンをダウンロードページから入手します。
  2. ファイルを解凍します。
  3. ウェブルートにあるこれらのアイテムを、ダウンロードしたもので上書きします。
    1. concrete ディレクトリ
    2. composer.json ファイル(8.2.0以前からアップデートした場合)
    3. composer.lock ファイル(8.2.0以前からアップデートした場合)
  4. サイトにブラウザからアクセスしてください。

以上です!concrete5 バージョン8以降では、サイトを最新版にするためのデータベースマイグレーションは自動的に行われます。

コマンドラインからアップデートする(バージョン8以降)

バージョン8へのアップデートは大きなものです。concrete5 のデータベース構造に多くの変更があり、時間がかかる場合があります。ブラウザからの concrete5 のアップデートがタイムアウトする場合や、エラーが起こる場合は、コマンドラインからのアップデートを試してみてください:

  1. 最新バージョンをダウンロードページから入手します。
  2. ファイルを解凍します。
  3. ウェブルートにある concrete ディレクトリを、ダウンロードした concrete ディレクトリで上書きします。
  4. ウェブサーバーに ssh でアクセスします。
  5. ウェブディレクトリで、次のコマンドを実行します:

    concrete/bin/concrete5 c5:update

アップデートを実行するか確認されます。適用されたマイグレーションは、特定のアップデートについての通知とともに、コンソールに出力されます。

オリジナルの concrete ディレクトリを上書きする(5.7.5.x以前)

方法1、2は、アップデートのたびに updates/ ディレクトリに新しいバージョンが保存されますが、ディスクスペースを節約したい場合や、ウェブインターフェースからアップデートを行ないたくない場合は、元の concrete ディレクトリを新しいバージョンで上書きし、特定のURLからアップデートを実行することもできます。

  1. 特権管理者か、管理者グループでログインしてください。これは、concrete5サイトのアップデートには、「concrete5をアップグレード」権限が必要だからです。
  2. 最新バージョンをダウンロードしてください。
  3. zipファイルを解凍してください。
  4. ルートの concrete ディレクトリを、ダウンロードした zip ファイル内の concrete ディレクトリで上書きしてください。
  5. http://www.example.com/ccm/system/upgrade にアクセスしてください(example.comはサイトによって異なります)。アップデートが可能になっているメッセージが表示されますので、アップデートボタンをクリックして、最新バージョンへのアップデートを完了させてください。

アップデート権限のチェックを無効にする (5.7.x まで)

concrete ディレクトリを上書きするまえに管理者でログインしておくのを忘れてしまった(そして、上書きしたことでログインできなくなってしまった)場合には、設定ファイルを変更することで、一時的に権限チェックを無効化することができます。concrete.php ファイルを application/config/ ディレクトリに作成してください。または、すでにある場合は開いてください。もしファイルの中身が空であれば、下記のコードをコピー&ペーストしてください。

  
return array(
    'updates' => array(
        'enable_permissions_protection' => false
    )
);

ファイルが空でなければ、updates をキーとした配列を、既存の配列の中身に追加してください。アップデートが完了したら、追記した設定を削除し、アップデート権限のチェックが再び行なわれるようにするのを忘れないようにしてください。

以上

原文:Upgrading Concrete5