J4.x

J4.x:CLIでのアップデート

From Joomla! Documentation

Revision as of 17:35, 7 October 2020 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎français • ‎فارسی • ‎日本語
GSoC 2018
CLIでのアップデート
ドキュメント
Gsoc2016.png
Joomla! 
4.x

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のルートフォルダにいなければなりません。

All commands.png

一般的なコマンドの使用法

このセクションでは、コマンドの使い方について説明します。異なるコマンドについて、それらのコマンドとその使用方法について説明します。CLIでのアップデートで利用可能なコマンドをチェックします。

使用可能なコマンド

CLIでのアップデートにはすぐに使用できるコマンドが数多くあります。これらのコマンドは、関連しているJoomla CMSの領域に基づいてグループ化されています。

更新プログラムの更新の確認

CLIでのアップデートは、Joomlaのアップデートを確認するコマンドを提供し、com_joomlaupdate のウェブ版のように動作します。更新データを取得し、更新が利用可能かどうかを通知します。アップデートチェックを実行するには、ルートディレクトリから次のようなコマンドを書きます。
php cli/joomla.php core:check-updates
コマンドが実行され、利用可能な場合は出力に利用可能な更新バージョンが表示されます。そうでない場合は、現在のインストールが最新であることを通知します。

Check updates.png

エクステンション コマンド

コマンドの次のグループは、エクステンションベースのコマンドです。単純に言えば、Jommlaコア内のエクステンション機能を管理するためのコマンドです。CLIでのアップデートには、エクステンション機能をインストール、一覧表示、削除するコマンドが付属しています。

インストールされたエクステンション一覧

このコマンドを使用すると、インストールされているすべてのエクステンションを一覧表示できます。 このコマンドは、次の2つの方法で実行できます。

  • すべての一覧:インストールされているすべてのエクステンションを一覧表示します。このコマンドを実行するとコンポーネント、言語、プラグイン、モジュールが一緒に表示されます。コマンドはこのように書きます。
    php cli/joomla.php extension:list
    Extension list.png
  • 種類別の一覧:一覧の中から特定のエクステンションを探している場合は、エクステンションすべてを一覧表示すると面倒かもしれません。コマンドにタイプオプションを追加することによって、エクステンションの種類を指定することができます。コマンドはこのように書きます。
    php cli/joomla.php extension:list --type=language
    Extension list type.png

これは言語ベースのエクステンションだけを一覧表示し、同様にモジュール、プラグイン、コンポーネントを指定することもできます。

エクステンションのインストール

Joomlaでは、zipファイルへのURLまたはファイルへのパスを使用してエクステンションをインストールすることができます。CLIでのアップデートでは、その両方を提供しており、使い方は以下のとおりです。

Extension install url.png
  • パスからインストール:ファイルパスからエクステンションをインストールするには同じく extension:install コマンドと次のようなパスの引数を指定します。
    php cli/joomla.php extension:install --path=/Users/bosunski/docs/com_pathtester.zip
    Extension install path.png

これにより、エクステンションがロードされ、期待どおりにインストールが実行されます。

エクステンションの削除

このカテゴリの最後のコマンドは extension:remove コマンドです。Joomla!からエクステンションを削除するために使用します。このコマンドは因数としてextension_id を使います。エクステンションIDを表示するには extension:list をいつも使います。以下は、エクステンションid 803のエクステンションを削除する方法になります。
php cli/joomla.php extension:remove 803

Extension Remove.png

Joomlaのコアをアップデート

CLIでのアップデートはアップデートを確認するコマンドを提供するだけでなく、アップデートが利用可能な場合にアップデートを実行するコマンドも提供します。更新を行うには次のコマンドを実行します。
php cli/joomla.php core:update
このコマンドは、Joomla のコアを更新して最新のバージョンに更新します。

Core update.png

CLIを使用してJoomlaをインストール

次に登場するコマンドは core:intall コマンドです。Joomla CMSのインストールをCLI経由で行うことができます。このコマンドは対話式と非対話式の2つのモードで動作します。

対話式インストール

対話モードでJoomla!を新規インストールするには、以下のような extension:install コマンドを実行するだけです。
php cli/joomla.php extension:install

デフォルトのインストールモードが実行され、必要な設定を入力するように求められます。すべてのオプションが提供され、検証されると、インストールが実行され、Joomlaがインストールされます。

Core install interactive.png
非対話式インストール

非対話式では、オプションの入力を求めることはありませんが、すべてのオプションがファイル内で指定され、コマンドはオプションをロードするファイルへのパスを指定するオプションを取ります。
php cli/joomla.php core:install --file=/path/to/config.json

Core install file.png

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

Config set single.png

次のように複数のオプションと値のペアを追加することもできます:
php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename="Joomla Site" 一度に複数のオプションが設定されます。

Config set multiple.png
設定の取得

このカテゴリの次のコマンドは config:get コマンドです。その名の通り、 configuration.php の中に存在するオプションの値を取得します。コマンドに引数が指定されていない場合は、利用可能なすべてのオプションが表形式で表示されます。 コマンドは次のとおりです。
php cli/joomla.php config:get sitename

これはオプション sitename の値を返します。

011-cli.png

php cli/joomla.php config:get

利用可能なオプションのすべての値が返されます。

Config get all.png
グループ化された設定の取得

CLIでのアップデートには、 config:get コマンドにオプションを追加するコマンドがあります。論理的にグループ化されたオプションを得ることができます。たとえば、データベースに関連するオプションをすべて表示したり、すべての電子メールに関連するオプションを表示するなどです。これを実現するために、CLIでのアップデートには、表示するオプションのグループを指定するオプションがあります。ここでその方法を示します。

php cli/joomla.php config:get --group=mail

Config get group.png

コマンドは group オプションを取り、 mail の値を与えます。 CLIでのアップデートでは現在、メール、db、およびセッションのグループ値をサポートしています。

サイトダウンコマンドとサイトアップコマンド

その名の通り、これらのコマンドを使用すると、JoomlaのWebサイトをオフラインまたはオンラインモードにすばやく切り替えることができます。使い方は次のとおりです。
php cli/joomla.php site:up

Site up.png

php cli/joomla.php site:down

Site down.png

最初のコマンドは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 コマンドを呼び出そうとしています。

チェックアウトするための重要な事