J4.x:CLIでのアップデート
From Joomla! Documentation
CLIでのアップデート
ドキュメント
はじめに
Joomlaの管理者ダッシュボードでマイナーな作業を行うのは面倒で遅いかもしれません。CLIでのアップデートでは、これらの操作のいくつかをコマンドラインでより速く実行する方法を紹介しています。Joomlaでより速く物事を統合することができるようになります。これにより、Webダッシュボードのプロセスを経ることなく、小さなテストをより早く行うことができます。JoomlaのCLIアプリケーションで、ユーザはCMS内でアップデートを実行できるようになります。
このドキュメントでは、CLIでのアップデートの使い方と開発者としていかにその機能を拡張できるかについてをご説明します。
要件
すべてのCLI(Command Line Interface)アプリケーションで使用されるため、CLIでのアップデートで提供されるツールを使用するには、コマンドラインでJoomlaのインストールにアクセスすることが非常に重要です。 ライブサーバーにSSHでアクセスできるようにすることをお勧めします。
用語と定義
- CLI - Command Line Interface
- SSH - Secure SHell
CLIでのアップデート方法
CLIでのアップデートで提供されるツールを使うには、以前のセクションで述べたように、Joomlaをインストールする場所にCLIでアクセスする必要があります。つまり、すべてのコマンドはルートフォルダから実行されるため、Joomla CMSのルートフォルダにいなければなりません。
一般的なコマンドの使用法
このセクションでは、コマンドの使い方について説明します。異なるコマンドについて、それらのコマンドとその使用方法について説明します。CLIでのアップデートで利用可能なコマンドをチェックします。
使用可能なコマンド
CLIでのアップデートにはすぐに使用できるコマンドが数多くあります。これらのコマンドは、関連しているJoomla CMSの領域に基づいてグループ化されています。
更新プログラムの更新の確認
CLIでのアップデートは、Joomlaのアップデートを確認するコマンドを提供し、com_joomlaupdate のウェブ版のように動作します。更新データを取得し、更新が利用可能かどうかを通知します。アップデートチェックを実行するには、ルートディレクトリから次のようなコマンドを書きます。
php cli/joomla.php core:check-updates
コマンドが実行され、利用可能な場合は出力に利用可能な更新バージョンが表示されます。そうでない場合は、現在のインストールが最新であることを通知します。
エクステンション コマンド
コマンドの次のグループは、エクステンションベースのコマンドです。単純に言えば、Jommlaコア内のエクステンション機能を管理するためのコマンドです。CLIでのアップデートには、エクステンション機能をインストール、一覧表示、削除するコマンドが付属しています。
インストールされたエクステンション一覧
このコマンドを使用すると、インストールされているすべてのエクステンションを一覧表示できます。 このコマンドは、次の2つの方法で実行できます。
- すべての一覧:インストールされているすべてのエクステンションを一覧表示します。このコマンドを実行するとコンポーネント、言語、プラグイン、モジュールが一緒に表示されます。コマンドはこのように書きます。php cli/joomla.php extension:list
- 種類別の一覧:一覧の中から特定のエクステンションを探している場合は、エクステンションすべてを一覧表示すると面倒かもしれません。コマンドにタイプオプションを追加することによって、エクステンションの種類を指定することができます。コマンドはこのように書きます。 php cli/joomla.php extension:list --type=language
これは言語ベースのエクステンションだけを一覧表示し、同様にモジュール、プラグイン、コンポーネントを指定することもできます。
エクステンションのインストール
Joomlaでは、zipファイルへのURLまたはファイルへのパスを使用してエクステンションをインストールすることができます。CLIでのアップデートでは、その両方を提供しており、使い方は以下のとおりです。
- URLからインストール: URLからエクステンションをインストールするにはこのようなコマンド extension:install を実行し、コマンドに引数とオプションを指定します。php cli/joomla.php extension:install url --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zipこれは com_patchtester エクステンションをダウンロードします。
- パスからインストール:ファイルパスからエクステンションをインストールするには同じく extension:install コマンドと次のようなパスの引数を指定します。php cli/joomla.php extension:install --path=/Users/bosunski/docs/com_pathtester.zip
これにより、エクステンションがロードされ、期待どおりにインストールが実行されます。
エクステンションの削除
このカテゴリの最後のコマンドは extension:remove コマンドです。Joomla!からエクステンションを削除するために使用します。このコマンドは因数としてextension_id を使います。エクステンションIDを表示するには extension:list をいつも使います。以下は、エクステンションid 803のエクステンションを削除する方法になります。
php cli/joomla.php extension:remove 803
Joomlaのコアをアップデート
CLIでのアップデートはアップデートを確認するコマンドを提供するだけでなく、アップデートが利用可能な場合にアップデートを実行するコマンドも提供します。更新を行うには次のコマンドを実行します。
php cli/joomla.php core:update
このコマンドは、Joomla のコアを更新して最新のバージョンに更新します。
CLIを使用してJoomlaをインストール
次に登場するコマンドは core:intall コマンドです。Joomla CMSのインストールをCLI経由で行うことができます。このコマンドは対話式と非対話式の2つのモードで動作します。
対話式インストール
対話モードでJoomla!を新規インストールするには、以下のような extension:install コマンドを実行するだけです。
php cli/joomla.php extension:install
デフォルトのインストールモードが実行され、必要な設定を入力するように求められます。すべてのオプションが提供され、検証されると、インストールが実行され、Joomlaがインストールされます。
非対話式インストール
非対話式では、オプションの入力を求めることはありませんが、すべてのオプションがファイル内で指定され、コマンドはオプションをロードするファイルへのパスを指定するオプションを取ります。
php cli/joomla.php core:install --file=/path/to/config.json
config.json のコンテンツ見本は以下のとおりです。
{
"language":"en-GB",
"site_name":"Joomla",
"admin_email":"email@example.com",
"admin_user":"user",
"admin_password":"password",
"db_type":"mysql",
"db_host":"localhost",
"db_user":"root",
"db_pass":"xcdxcx",
"db_name":"jtest",
"db_prefix":"efs0k_",
"db_old":"remove",
"helpurl":"https://joomla.org"
}
もしくは次のサンプル config.ini
site_name="gsoc"
admin_email="user@example.com"
admin_user="user"
admin_password="secret"
db_type="mysql"
db_host="localhost"
db_user="root"
db_pass=""
db_name="joomla"
db_prefix="prefix_"
定義されたオプションがロードされ、検証され、その後インストールが実行されます。
構成に基づくコマンド
次のコマンドのセットは、Joomlaインストールの設定オプションを設定したり表示したりするためのコマンドです。
構成の設定
CLIでのアップデートには、設定に存在するオプションの値を変更するコマンドがあります。 config:get コマンドを使えば configuration.php の中に存在する任意の設定オプションを設定できます。使い方は以下のとおりです。
php cli/joomla.php config:set mailer=mail
次のように複数のオプションと値のペアを追加することもできます:
php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename="Joomla Site"
一度に複数のオプションが設定されます。
設定の取得
このカテゴリの次のコマンドは config:get コマンドです。その名の通り、 configuration.php の中に存在するオプションの値を取得します。コマンドに引数が指定されていない場合は、利用可能なすべてのオプションが表形式で表示されます。 コマンドは次のとおりです。
php cli/joomla.php config:get sitename
これはオプション sitename の値を返します。
php cli/joomla.php config:get
利用可能なオプションのすべての値が返されます。
グループ化された設定の取得
CLIでのアップデートには、 config:get コマンドにオプションを追加するコマンドがあります。論理的にグループ化されたオプションを得ることができます。たとえば、データベースに関連するオプションをすべて表示したり、すべての電子メールに関連するオプションを表示するなどです。これを実現するために、CLIでのアップデートには、表示するオプションのグループを指定するオプションがあります。ここでその方法を示します。
php cli/joomla.php config:get --group=mail
コマンドは group オプションを取り、 mail の値を与えます。 CLIでのアップデートでは現在、メール、db、およびセッションのグループ値をサポートしています。
サイトダウンコマンドとサイトアップコマンド
その名の通り、これらのコマンドを使用すると、JoomlaのWebサイトをオフラインまたはオンラインモードにすばやく切り替えることができます。使い方は次のとおりです。
php cli/joomla.php site:up
php cli/joomla.php site:down
最初のコマンドはWebサイトをオンラインモードにしています。2番目のコマンドはWebサイトをオフラインモードにしています。
開発者としてのCLIでのアップデートへの貢献
その他のコマンドの追加
CLIでのアップデートでは、現在の必要性に基づいて追加されたコマンドが付属しています。 ただし、CLIでのアップデートを使用すると、他のコマンドを簡単に追加できます。その説明についての ビデオチュートリアルは以下のとおりです。
コマンドクラス内で他のコマンドを呼び出す
CLIでのアップデートのために書きたいコマンドが、既存のコマンドを内部的に呼び出す必要がある場合は、これを別のコマンドクラスの中から得ることができます。
<?php
class RunHelloCommand extends AbstractCommand {
...
public function execute(): int {
$command = $this->getApplication()->getCommand('say:hello');
$code = $command->execute();
if($code === 0) {
// command ran successfully, do something
}
}
...
}
ここでは、上のビデオで作成された say:hello コマンドを呼び出そうとしています。
チェックアウトするための重要な事
- Symfony Style Documentation: How to Style a Console Command
- Write a CLI Application with Joomla 4 J4.x:Writing A CLI Application