Joomla 3 から Joomla 4 へのアップグレード

 2021/11/25(木) 11:27  

完全に新しくなった Joomla の新バージョン「4.x」への移行は、以前にもこのブログで書いた通り、簡単ではありません。特に外部デベロッパーが開発したエクステンションの利用量が多いほど難易度が上がります。

しかしながら避けては通れません。
そこで、最近 Joomla 3 で構築をしている未公開サイトを使って、Joomla 4 へのアップグレードにチャレンジしました。

予想通り最初は何度も失敗しましたが、Joomla 4 へのアップグレードを成功させる方法論を自分なりに確立させることができました!

以下に、自分用のメモという位置付けで、その要点をまとめてみます。

前提

何はともあれ、Joomla 4 へのアップグレードを考える上では、Joomla 3.x の最新版でサイトが稼働できている、ということが大前提となります。これを書いている時点での最新版は、3.10.3です。

Joomla のバージョンは、特別な変更をしていなければ、管理コントロールパネルの最下部、右側に表示されているはずです。

準備

これから説明する作業は、すべてクローンサイト(複製サイト)上で行います。つまりバックアップデータを作成し、そこから別ディレクトリにリストアする必要があります。

クローンサイト上でテストを行い、行ったステップを細かく記録していくことをお勧めいたします。また一発でアップグレードは成功しないもの、という心構えで、要所要所でクローンサイト上でもバックアップを取り、リストアからテストを再開できるようにしておく、というのもポイントです。

コンポーネント「Joomlaの更新」

管理コントロールパネル内「コンポーネント」メニュー配下にある「Joomlaの更新」にアクセスします。
画面左上にある「オプション」をクリックして表示される「Joomlaの更新:オプション」ページにおいて、「チャンネルの更新」設定を「Joomla Next」に変更し、保存して閉じます。

すると、「Joomlaの更新」ページの内容が切り替わり、「更新前チェック」タブが出現します。

ここでまず大事なのが「潜在的なアップグレードの問題があります」と表示されているエクステンションをチェックすることです。

それらエクステンションについては、個々に Joomla 4 対応バージョンが出ているのかを各デベロッパー・サイトで確認し、対応バージョンがあればダウンロードしておきます。

この作業で問題となるのが、エクステンションによって以下の可能性があることです。

  1. Joomla 4 対応版がなく、今後も開発される見込みがない
  2. Joomla 4 対応版が Joomla 3対応版とは別に用意されている
  3. 最新版が Joomla 3 と Joomla 4 の双方に対応している

アップグレードという視点で一番楽なのは、上記3です。
上記1の場合は、残念ながらそのエクステンションの利用継続を諦める必要があり、別エクステンションを探す、という必要性が発生します(またはサイト仕様の変更を検討します)
上記2の場合は、プログラムソースという観点では理想的なのですが、アップグレードを行う視点においては少し注意を払う必要性があります(手順を考える必要があります)。

エクステンションの事前処理

上記1に該当するエクステンションについては、アンインストール1択です。
しかし、アンインストールによって生じる過去に蓄えたデータへの影響、という厄介な問題が残ります。ケースバイケースで対策を考える必要があります。

上記2のエクステンションについては、管理コントロールパネル内「エクステンション」メニュー配下の「管理」から、さらにその配下の「管理」にアクセスして、該当エクステンションを検索し「非公開」設定にします。これにより、プログラムソースとしては存在するものの、Joomla 上では機能しなくなります。

上記3については、単純に最新版にすれば良いはずです。

「Joomlaの更新」を再チェック

エクステンションの事前処理が完了したら、再度「Joomlaの更新」にアクセスして表示を確認します。
事前処理が正しく完了しているならば、「潜在的なアップグレードの問題があります」表示はなくなっているはずです。

但し、「アップデートしてください」セクションで「Joomlaを更新する前に、これらのエクステンションを更新してください。」と表示されている場合は、上記2と同様な処理を行うか、または、一旦アンインストールしてから最新版を再インストールするか、のどちらが適切かを考え対応することになります。
表記を信じて更新をしてもうまくいかないケースが出てくると思います。

ライブアップデート

「Joomlaの更新」ページで、「更新情報は利用できません」セクションにエクステンションの表示があると気になるかもしれませんが、「潜在的なアップグレードの問題があります」表示がなくなれば大丈夫です。気にする必要はありません。

「ライブアップデート」タブをクリックすると、おそらく最初は「警告:Joomlaの更新を妨害し、更新に失敗してサイトにアクセスできなくなる可能性のあるプラグインがインストールされ、有効になっています。」と表示される場合がほとんどかと思います。

このメッセージは無視してはいけません。
またこのメッセージが表示されていないとしても、直ちにアップグレードを開始するのは危険です(私も数回失敗しました)。

システムプラグイン

アップグレードが失敗する理由のほとんどは、システムプラグインにあると言って良いでしょう。
残念ながら、「Joomlaの更新」は万能ではなく、あくまで指標として扱う方がベターです。システムプラグインについては「Joomlaの更新」によるチェックが万全ではないからです。

では、システムプラグインのチェックです。
管理コントロールパネル内「エクステンション」メニュー配下の「管理」から、さらにその配下の「管理」にアクセスします。次に、上部の「検索ツール」ボタンをクリックします。
表示されたプルダウンメニューの「種類の選択」から「プラグイン」を選択します。続いて「フォルダの選択」から「system」を選択します。

これにより現在インストールされているシステムプラグインが一覧できます。

プルダウン「状態の選択」から「有効」を選択します。
これにより、現在機能しているプラグインだけに絞り込むことができます。

以上により表示されたリストをじっくりと確認していきます。Joomla コアシステムに付随するものは確認対象から外して構いませんが、外部エクステンションに関連するものはしっかりと確認する必要があります。

Joomla 3 のみでしか動かないと思われるシステムプラグインは、「アンインストール」するか「無効」にするかの事前処理が必要です。これが正しく行われないと、Joomla 4 へのアップグレードは完全に失敗します!

さあアップグレードだ!

では、再度「Joomlaの更新」ページにアクセスし、「ライブアップデート」タブをクリックしてみましょう。警告表示が無くなっていることが確認できましたら、「更新のインストール」ボタンをクリック、ではありません!

ここまでの苦労が水の泡とならないよう、バックアップが先です!

バックアップを行い、最悪の自体に備えたら、いざ「更新のインストール」ボタンをクリック、です。

アップグレードに成功したら?

アップグレードに失敗すると、管理コントロールパネルのメニューが羅列されるだけで何をクリックしても反応しない、というページが表示されます。またはフロントエンドでエラー表示がされます。
この場合は、ジタバタしても仕方ありません。バックアップデータからリストアし、再度チェックを続けます。

晴れてアップグレードに成功したら、終わり、ではありません。
エクステンションの事前処理で「アンインストール」または「非公開」としたエクステンションを復活させなくてはなりません。個々のエクステンションによって対応を変える必要があったりしますので、落ち着いてじっくりと最善の手を打っていきましょう。


以上、自分用のメモとして、第三者に説明するような文体でまとめてみました。
ウェブサイトによって、インストールされているエクステンションは一律ではないため、全てのケースでこの情報が適応できるかは分かりません。しかし、抑えるべきポイントは含まれているかと思います。

正直な意見としまして、このアップグレードは、かなり Joomla を理解していないと成功しにくいと思います。もしアップグレードにご不安がある方はご相談下さい。

但し、ちょっとお高めの請求額になってしまうと思います・・。

最終修正日 2021/11/25(木) 14:14
初めてのご利用ですか? ご登録はこちら!

ログイン