「コマンドラインによる管理」の版間の差分

提供:MoodleDocs
移動先:案内検索
(Mits がページ「コマンドライン経由の管理」を「コマンドラインによる管理」に移動しました)
 
(同じ利用者による、間の17版が非表示)
1行目: 1行目:
作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]]
あなたのウェブサーバにシェルアクセスできる場合、Moodle管理に有用な様々なCLI (command line interface コマンドライン・インターフェース) を見つけることができるでしょう。すべてのコマンドラインツールは「<code>admin/cli/*</code>」ディレクトリ内にあります。アクセスコントロールの問題を避けるには、ウェブサーバプロセスのオーナーとして実行してください。CLIによるインストールおよびアップグレード時に新しいファイルをmoodledataディレクトリに作成するため、ウェブサーバにディレクトリへの書き込み権限が与えてあることは特に重要です。Linuxディストリビューションでは、通常ウェブサーバを実行するユーザは「apache」または「wwrun」または「httpd」のようになっています。恐らく、あなたはrootとして次のようにMoodle CLIスクリプトを実行したいことでしょう:
 
あなたのウェブサーバにシェルアクセスできる場合、Moodle管理に有用な様々なCLI (command line interface コマンドライン・インターフェース) を見つけることができるでしょう。すべてのコマンドラインツールは <code>admin/cli/*</code> ディレクトリ内にあります。アクセスコントロールの問題を避けるには、ウェブサーバプロセスのオーナーとして実行してください。CLIによるインストールおよびアップグレード時に新しいファイルをmoodledataディレクトリに作成するため、ウェブサーバにディレクトリへの書き込み権限が与えてあることは特に重要です。Linuxディストリビューションでは、通常ウェブサーバを実行するユーザは「apache」または「wwrun」または「httpd」のようになっています。rootとして、恐らく、あなたは次のようにMoodle CLIスクリプトを実行したいことでしょう:


     $ cd /path/to/your/moodle/dir
     $ cd /path/to/your/moodle/dir
27行目: 25行目:
== オフラインモード ==
== オフラインモード ==


場合によってはウェブ経由でアクセスできないよう、あなたのMoodleサイトオフラインモードにスイッチしたいこともあるでしょう。しかし、ウェブサーバを完全に停止することはできません (一般的に他のページが存在しているか、他のアプリケーションが動作しているからです)。moodledataディレクトリのルートフォルダ内に「<code>climaintenance.html</code>」というファイル名のファイルが存在する場合、Moodleはこのファイルのコンテンツを他のページの代わりに表示します。
場合によってはウェブ経由でアクセスできないよう、あなたのMoodleサイトをオフラインモードにスイッチしたいこともあるでしょう。しかし、ウェブサーバを完全に停止することはできません (一般的に他のページが存在しているか、他のアプリケーションが動作しているからです)。moodledataディレクトリのルートフォルダ内に「<code>climaintenance.html</code>」というファイル名のファイルが存在する場合、Moodleはこのファイルのコンテンツを他のページの代わりに表示します。


     $ cd /var/www/sites/moodle/moodledata/
     $ cd /var/www/sites/moodle/moodledata/
36行目: 34行目:
== コマンドラインを使ったアップグレード ==
== コマンドラインを使ったアップグレード ==


Moodleはコマンドラインからアップグレードすることができます。インストールスクリプトと同じように、アップグレードにはインタラクティブおよび非インタラクティブモードがあります。スクリプト自体はサイトをメンテナンスモードにしないため、あなた自身でスイッチする必要があります。また、このスクリプトはデータをバックアップしません (恐らく、このドキュメントを読んでいるあなたは、恐らくmoodledataおよびデータベースをバックアップする独自スクリプトをお持ちですよね?)。
コマンドラインからMoodleをアップグレードすることもできます。インストールスクリプトと同じように、アップグレードにはインタラクティブおよび非インタラクティブモードがあります。スクリプト自体はサイトをメンテナンスモードにしないため、あなた自身でスイッチする必要があります。また、このスクリプトはデータをバックアップしません (恐らく、このドキュメントを読んでいるあなたはmoodledataおよびデータベースをバックアップする独自スクリプトをお持ちですよね?)。


     $ sudo -u apache /usr/bin/php admin/cli/upgrade.php --non-interactive
     $ sudo -u apache /usr/bin/php admin/cli/upgrade.php --non-interactive
59行目: 57行目:
== カスタムサイトデフォルト ==
== カスタムサイトデフォルト ==


CLI経由でのインストールおよびアップグレード中、Moodleは管理変数をデフォルトに設定します。あなたはことなるデフォルト値を使用することができます。詳細は、 MDL-17850をご覧ください。手短に言えば、あなたがやるべきことは <code>local/defaults.php</code> ファイルをインストール済みMoodleのディレクトリに入れることです。ファイルのフォーマットは下記のようになります:
CLI経由でのインストールおよびアップグレード中、Moodleは管理変数をデフォルトに設定します。あなたは異なるデフォルト値を使用することができます。詳細は、 MDL-17850をご覧ください。手短に言えば、あなたがやるべきことは<code>local/defaults.php</code>ファイルをインストール済みMoodleのディレクトリに入れることです。ファイルのフォーマットは下記のようになります:


<code php>
<code php>
69行目: 67行目:
デフォルト値はインストールおよびアップグレード中に使用されます。また、サイト管理ページにデフォルト値として表示されます。
デフォルト値はインストールおよびアップグレード中に使用されます。また、サイト管理ページにデフォルト値として表示されます。


== Reset user password ==
== ユーザパスワードをリセットする ==


If you happen to forget your admin password (or you want to set a password for any other user of your Moodle system), you can use reset_password.php script. The script sets the correctly salted password for the given user.
あなたが自分の管理者パスワードを忘れてしまった場合、またはあなたのMoodleサイトのユーザのパスワードを設定したい場合、reset_password.phpスクリプトを使用することができます。指定したユーザに対して、正しくSALTしたパスワードが設定されます。


     $ sudo -u apache /usr/bin/php admin/cli/reset_password.php
     $ sudo -u apache /usr/bin/php admin/cli/reset_password.php


== MySQL storage engine conversion ==
== MySQLストレージエンジンの移管==


If you run your Moodle site with MySQL database backend and use the default MyISAM as the storage engine for your tables, you may want to convert them to use some more reliable engine like InnoDB (actually, you should want to switch to PostgreSQL ;-) anyway).
あなたのMoodleサイトのバックエンドにMySQLデータベースを使用して、テーブルのストレージエンジンにデフォルトのMyISAMを使用している場合、さらに信頼性のあるInnoDBのようなエンジンに移管してください (実際には、PostgreSQLにスイッチした方が良いのですが ;-))


     $ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
     $ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB


== Running cron via command line ==
== コマンドライン経由でcronを実行する ==


In versions 1.x, you could execute admin/cron.php either from command line or via the web. Since Moodle 2.0, only admin/cli/cron.php script can be run via command line.
バージョン1.xにおいて、あなたはadmin/cron.phpをコマンドラインまたはウェブ経由で実行することができていました。Moodle 2.0以降、コマンドライン経由でのみ、admin/cli/cron.phpスクリプトを実行することができます。


[[Category:インストール]]
[[Category:インストール]]


[[en: Administration_via_command_line]]
[[en: Administration_via_command_line]]

2015年4月17日 (金) 15:24時点における最新版

あなたのウェブサーバにシェルアクセスできる場合、Moodle管理に有用な様々なCLI (command line interface コマンドライン・インターフェース) を見つけることができるでしょう。すべてのコマンドラインツールは「admin/cli/*」ディレクトリ内にあります。アクセスコントロールの問題を避けるには、ウェブサーバプロセスのオーナーとして実行してください。CLIによるインストールおよびアップグレード時に新しいファイルをmoodledataディレクトリに作成するため、ウェブサーバにディレクトリへの書き込み権限が与えてあることは特に重要です。Linuxディストリビューションでは、通常ウェブサーバを実行するユーザは「apache」または「wwrun」または「httpd」のようになっています。恐らく、あなたはrootとして次のようにMoodle CLIスクリプトを実行したいことでしょう:

   $ cd /path/to/your/moodle/dir
   $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params

使用方法の詳細説明を表示するため、ほとんどのスクリプトでは一般的な --help (または -h) パラメータを使うことができます。例えば下記のように使います:

   $ sudo -u apache /usr/bin/php admin/cli/install.php --help


コマンドライン経由のインストール

バージョン2.0以降、Moodleではコマンドラインを使ってインストールすることができます。インストールには2つのモードがあります。インタラクティブモードでは、インストールスクリプトが新しいMoodleサイトをセットアップするために必要なデータすべてに関して、あなたに尋ねます。非インタラクティブモードでは、あなたはスクリプトパラメータとして、すべての必須データを提供することにより、新しいサイトが静かにインストールされます。インタラクティブモードでもパラメータを渡すことができます。渡された値はインタラクティブセッション中、デフォルト値として使用されます。

   $ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs

メンテナンスモード

あなたのサイトをCLI経由でメンテナンスモードにスイッチするには、下記コマンドを実行してください。

   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable

メンテナンスモードをOFFにするには、同様のスクリプトを --disable parameter オプションを付けて実行してください。

オフラインモード

場合によってはウェブ経由でアクセスできないよう、あなたのMoodleサイトをオフラインモードにスイッチしたいこともあるでしょう。しかし、ウェブサーバを完全に停止することはできません (一般的に他のページが存在しているか、他のアプリケーションが動作しているからです)。moodledataディレクトリのルートフォルダ内に「climaintenance.html」というファイル名のファイルが存在する場合、Moodleはこのファイルのコンテンツを他のページの代わりに表示します。

   $ cd /var/www/sites/moodle/moodledata/
   $ echo '<h1>Sorry, maintenance in progress</h1>' > climaintenance.html

あなたのユーザにサーバ停止を知らせるため、moodledataディレクトリ内にHTMLフォーマットで作成したclimaintenance.offのような名称のファイルを準備することができるでしょう。そして、必要に応じて、そのファイルをclimaintenance.htmlにリネームすることができます。

コマンドラインを使ったアップグレード

コマンドラインからMoodleをアップグレードすることもできます。インストールスクリプトと同じように、アップグレードにはインタラクティブおよび非インタラクティブモードがあります。スクリプト自体はサイトをメンテナンスモードにしないため、あなた自身でスイッチする必要があります。また、このスクリプトはデータをバックアップしません (恐らく、このドキュメントを読んでいるあなたはmoodledataおよびデータベースをバックアップする独自スクリプトをお持ちですよね?)。

   $ sudo -u apache /usr/bin/php admin/cli/upgrade.php --non-interactive

あなたがMoodleコードの取得にCVSまたはgitを使用している場合、コマンドライン経由でのアップグレードは非常に快適な方法です。以下の手順では、最終的なローカルのカスタマイズを保持したままgitリポジトリでトラック (追跡 track) して、あなたのサイトを数秒で最新バージョンにアップグレードする方法を記します:

   $ cd /var/www/sites/moodle/htdocs/
   $ git fetch
   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
   $ git merge origin/cvshead
   $ sudo -u apache /usr/bin/php admin/cli/upgrade.php
   $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable

コマンドライン経由でのアップグレードの問題

あなたのconfig.phpが複数のMoodleインスタンスの情報を含んでいる場合 (同じコードを共有している異なるMoodleウェブサイトおよびデータベース)、このスクリプトは静かに実行失敗となります。

解決用法は、あなたがアップグレードしたいインスタンス以外、すべてのインスタンスをconfig.phpから一時的に取り除くことです。

これが他のインスタンス (実運用サイト) の問題である場合、config.phpのコピー (1つのMoodleインスタンスのみ含むよう編集したconfig.php) を指すよう、cliスクリプトを修正してください。

カスタムサイトデフォルト

CLI経由でのインストールおよびアップグレード中、Moodleは管理変数をデフォルトに設定します。あなたは異なるデフォルト値を使用することができます。詳細は、 MDL-17850をご覧ください。手短に言えば、あなたがやるべきことはlocal/defaults.phpファイルをインストール済みMoodleのディレクトリに入れることです。ファイルのフォーマットは下記のようになります:

<?php $defaults['pluginname']['settingname'] = 'settingvalue'; // プラグイン $defaults['moodle']['settingname'] = 'settingvalue'; // コア設定

デフォルト値はインストールおよびアップグレード中に使用されます。また、サイト管理ページにデフォルト値として表示されます。

ユーザパスワードをリセットする

あなたが自分の管理者パスワードを忘れてしまった場合、またはあなたのMoodleサイトのユーザのパスワードを設定したい場合、reset_password.phpスクリプトを使用することができます。指定したユーザに対して、正しくSALTしたパスワードが設定されます。

   $ sudo -u apache /usr/bin/php admin/cli/reset_password.php

MySQLストレージエンジンの移管

あなたのMoodleサイトのバックエンドにMySQLデータベースを使用して、テーブルのストレージエンジンにデフォルトのMyISAMを使用している場合、さらに信頼性のあるInnoDBのようなエンジンに移管してください (実際には、PostgreSQLにスイッチした方が良いのですが ;-))。

   $ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB

コマンドライン経由でcronを実行する

バージョン1.xにおいて、あなたはadmin/cron.phpをコマンドラインまたはウェブ経由で実行することができていました。Moodle 2.0以降、コマンドライン経由でのみ、admin/cli/cron.phpスクリプトを実行することができます。