concrete5 のマーケットプレイス等でダウンロードしたアドオンを新しいバージョンにアップデートする方法を紹介します。
マーケットプレイスに接続したサイトでアップデート
本来はこちらの方法でアップデートします。
- concrete5 にアドオンをインストールできる権限のユーザーでログイン
- 管理画面 - concrete5を拡張 (/index.php/dashboard/extend/install) ページに訪問
- ページの上部にでている情報ボックスの「アドオンのアップデート」ボタンをクリック
- アップデートを行う各アドオンの「ダウンロード・インストール」ボタンをクリック
- 希望するアドオンのアップデートが終われば完了。
手動でアップデート
なんらかの理由で管理画面からのアップデートができない場合、手動でアップデートを行います。
STEP 1. ファイルを手動でアップロード
- 予め concrete5 の管理画面に管理者アカウントでログインしておく (*後述)
- アップデート版のパッケージZIPファイルをマーケットプレイスなどからダウンロードします。
- ZIP ファイルを解凍し、/packages/
アドオンのハンドル
/ を上書き保存します。
※ この段階でサイトの一部or全部がアクセス不能になる可能性があるので注意。
※ STEP2-2 でアップデートを行う場合は アドオンのハンドル
を書き留める。
STEP 2-1. 管理画面からアップデート
管理画面からアドオンのアップデートを行う方法。
- 管理画面 - concrete5を拡張 (/index.php/dashboard/extend/install) ページに訪問
- ページの上部に出ている青いボックス中の「アドオンのアップデート」ボタンをクリック
- アップデートを行う各アドオンの「アドンをアップデート」ボタンをクリック
- 希望するアドオンのアップデートが終われば完了。
STEP 2-2. コマンドラインツールからアップデート
SSHやターミナルで、concrete5 のコマンドラインツールを実行しアドオンをアップデートする方法です。
- STEP 1 に従ってファイルを手動でアップロード
- SSH などでサーバーに接続
- concrete5 が保存してあるディレクトリまで移動 ($ cd) or concrete5 のフルパスを取得。
- concrete5 が可動しているサーバーと同じユーザーとして下記のコマンドを実行。
$ concrete/bin/concrete5 c5:package-update [アドオンのハンドル]
コマンドが正しければアップデートされます。
すでに最新版であればアップデートされません。
アップデートを強制実行するのであれば --force-
オプションを使います。
$ concrete/bin/concrete5 c5:package-update [アドオンのハンドル] --force
豆知識:
管理画面からアップデートしたときの挙動
管理画面で全てのアドオンのアップデート作業をすると下記のような動作になります。
- /application/files/tmp フォルダ内に concrete5.org からダウンロードした ZIP ファイルが、取得時の UNIXTIME を使って保存されます。
- /application/files/tmp 内に UNIXTIME と同じ名前でフォルダを生成し、ZIP ファイルの中身を展開します。
- 既存のパッケージファイルが /application/files/trash/ ページにフォルダ名に [YYYYMMDDHHMMSS] が追加された状態で移動されます。
- /application/files/tmp 内のディレクトリが /packages/ フォルダにコピーされます。
- packages ファイル内の update() にコードが入っていれば、それが実行されます。
- Database 内の Packages テーブルの情報がアップデートされます。
管理画面からアップデートした場合、/application/files/tmp/application/files/tmp にダウンロードした新しいパッケージのファイルが保存され、古いパッケージファイルは /application/files/trash//application/files/trash/ 内に保存されます。
以上