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

提供:MoodleDocs
移動先:案内検索
(Mits がページ「コマンドライン経由の管理」を「コマンドラインによる管理」に移動しました)
 
(同じ利用者による、間の39版が非表示)
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
23行目: 21行目:
     $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
     $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable


To turn the maintenance mode off, just execute the same script with --disable parameter.
メンテナンスモードをOFFにするには、同様のスクリプトを --disable parameter オプションを付けて実行してください。


== Offline mode ==
== オフラインモード ==


In some situations, you may want to switch your Moodle site into offline mode so that it is not accessible via the web but you can not stop the web server completely (typically because there are other web pages and applications running there). If a file called <code>climaintenance.html</code> exists in the root folder of moodledata directory, Moodle will automatically display the contents of that file instead of any other page.
場合によってはウェブ経由でアクセスできないよう、あなたのMoodleサイトをオフラインモードにスイッチしたいこともあるでしょう。しかし、ウェブサーバを完全に停止することはできません (一般的に他のページが存在しているか、他のアプリケーションが動作しているからです)。moodledataディレクトリのルートフォルダ内に「<code>climaintenance.html</code>」というファイル名のファイルが存在する場合、Moodleはこのファイルのコンテンツを他のページの代わりに表示します。


     $ cd /var/www/sites/moodle/moodledata/
     $ cd /var/www/sites/moodle/moodledata/
     $ echo '&lt;h1&gt;Sorry, maintenance in progress&lt;/h1&gt;' &gt; climaintenance.html
     $ echo '&lt;h1&gt;Sorry, maintenance in progress&lt;/h1&gt;' &gt; climaintenance.html


You can prepare a nice formatted HTML page to inform your users about the server being down and keep in the moodledata directory under a name like <code>climaintenance.off</code> and rename it to the <code>climaintenance.html</code> if needed.
あなたのユーザにサーバ停止を知らせるため、moodledataディレクトリ内にHTMLフォーマットで作成した<code>climaintenance.off</code>のような名称のファイルを準備することができるでしょう。そして、必要に応じて、そのファイルを<code>climaintenance.html</code>にリネームすることができます。


== Upgrading via command line ==
== コマンドラインを使ったアップグレード ==


Moodle can be upgraded from the command line. As with the installation script, there is either interactive or non-interactive mode of the upgrade. The script itself does not put the site into the maintenance mode, you have to do it on your own. Also, the script does not backup any data (if you read this page, you probably have some own scripts to backup your moodledata and the database, right?)
コマンドラインから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


Upgrading via command line is a very comfortable way of Moodle upgrade if you use [[CVS]] or [[Git|git]] checkout of the Moodle source code. See the following procedure how to upgrade your site within several seconds to the most recent version while preserving your eventual local customizations tracked in git repository:
あなたがMoodleコードの取得に[[管理者用CVS|CVS]]または[[Git|git]]を使用している場合、コマンドライン経由でのアップグレードは非常に快適な方法です。以下の手順では、最終的なローカルのカスタマイズを保持したままgitリポジトリでトラック (追跡 track) して、あなたのサイトを数秒で最新バージョンにアップグレードする方法を記します:


     $ cd /var/www/sites/moodle/htdocs/
     $ cd /var/www/sites/moodle/htdocs/
49行目: 47行目:
     $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable
     $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable


===Issues with Upgrading via Command Line===
===コマンドライン経由でのアップグレードの問題===


if your config.php contains information about several moodle instances (distinct moodle websites and databases sharing the same codebase), then this script will silently fail
あなたのconfig.phpが複数のMoodleインスタンスの情報を含んでいる場合 (同じコードを共有している異なるMoodleウェブサイトおよびデータベース)、このスクリプトは静かに実行失敗となります。


The solution is to temporarily eliminate from config.php all but the one instance you want to upgrade
解決用法は、あなたがアップグレードしたいインスタンス以外、すべてのインスタンスをconfig.phpから一時的に取り除くことです。


If this is a problem for the other instances (production sites), then modify the cli script to point to a copy of config.php (which will be the one edited to contain only one moodle instance at a time)
これが他のインスタンス (実運用サイト) の問題である場合、config.phpのコピー (1つのMoodleインスタンスのみ含むよう編集したconfig.php) を指すよう、cliスクリプトを修正してください。


== Custom site defaults ==
== カスタムサイトデフォルト ==


During the install and upgrade via CLI, Moodle sets the administration variables to the default values. You can use different defaults. See MDL-17850 for details. Shortly, all you need to do is to add a file <code>local/defaults.php</code> into your Moodle installation. The format of the file is like
CLI経由でのインストールおよびアップグレード中、Moodleは管理変数をデフォルトに設定します。あなたは異なるデフォルト値を使用することができます。詳細は、 MDL-17850をご覧ください。手短に言えば、あなたがやるべきことは<code>local/defaults.php</code>ファイルをインストール済みMoodleのディレクトリに入れることです。ファイルのフォーマットは下記のようになります:


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


These defaults are used during install, upgrade and are also displayed as defaults at the Site administration pages.
デフォルト値はインストールおよびアップグレード中に使用されます。また、サイト管理ページにデフォルト値として表示されます。


== 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スクリプトを実行することができます。