序章

Moodle は、誰でも無料でインストールして使用できる、人気のあるオープンソースのWebベースの学習管理システム(LMS)です。 Moodleを使用すると、コース、リーディング、ディスカッション掲示板などの学習リソースを作成して、学習者のグループに提供できます。 Moodleはまた、ユーザーの役割を管理することを可能にするので、学生とインストラクターは異なるレベルの資料へのアクセスを持つことができます。 WebサーバーにMoodleをインストールすると、サイトにアクセスできる人なら誰でもブラウザベースの学習を作成して参加できます。

このガイドでは、Ubuntu16.04サーバーにMoodleをインストールしてセットアップします。 Moodleに必要なすべてのソフトウェアをインストールして設定し、セットアップウィザードを実行し、テーマを選択して、最初のコースを作成します。

前提条件

このガイドを開始する前に、次のものが必要です。

  • Moodleコード用に最低200MBのディスクスペースとコンテンツを保存するために必要なだけの1GBのUbuntu16.04サーバー。 Moodleには512MBのメモリが必要ですが、最高のパフォーマンスを得るには少なくとも1GBをお勧めします。
  • Ubuntu16.04初期サーバーセットアップガイドに従ってセットアップできるsudo特権とファイアウォールを持つ非rootユーザー。
  • このチュートリアルに従ってインストールされたLAMPスタック(Apache、MySQL、およびPHP)。 このプロセス中に設定したルートMySQLパスワードを必ずメモしてください。

ステップ1—Moodleと依存関係をインストールする

Moodleは、スペルチェックライブラリやグラフライブラリなど、いくつかのソフトウェアに依存しています。 MoodleはPHPアプリケーションであり、いくつかの追加のPHPライブラリ依存関係もあります。 Moodleをインストールする前に、パッケージマネージャーを使用してすべての前提条件ライブラリをインストールしましょう。 まず、パッケージの最新リストがあることを確認します。

  1. sudo apt-get update

次に、Moodleの依存関係をインストールします。

  1. sudo apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip

次に、Apache Webサーバーを再起動して、インストールしたモジュールをロードします。

  1. sudo systemctl restart apache2

これで、Moodle自体をダウンロードしてインストールする準備が整いました。 curlを使用して、公式配布サーバーからMoodleをダウンロードします。

次のコマンドはMoodleのウェブサイトに行き、Moodleの現在の安定バージョン全体を含む圧縮パッケージをファイルmoodle.tgzに取得します。 -Lフラグは、curlにリダイレクトに従うように指示します。

  1. curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz

これで、tarプログラムを使用してファイルを解凍し、結果のファイルをWebドキュメントルートに配置できます。

  1. sudo tar -xvzf moodle.tgz -C /var/www/html

moodleディレクトリがサーバーのWebルートディレクトリにあることを確認します。

  1. ls /var/www/html

moodleディレクトリがリストされているはずです。

Output
index.html moodle

次に、moodleディレクトリ内のファイルを表示します。

  1. ls /var/www/html/moodle

ダウンロードして解凍したばかりのMoodleファイルとディレクトリがすべて表示されます。

Output
admin composer.json grade message README.txt auth composer.lock group mnet report availability config-dist.php Gruntfile.js mod repository backup config.php help_ajax.php my rss badges CONTRIBUTING.txt help.php notes search behat.yml.dist COPYING.txt index.php npm-shrinkwrap.json tag blocks course install package.json tags.txt blog dataformat install.php phpunit.xml.dist theme brokenfile.php draftfile.php INSTALL.txt pix TRADEMARK.txt cache enrol iplookup plagiarism user calendar error lang pluginfile.php userpix cohort file.php lib portfolio version.php comment files local PULL_REQUEST_TEMPLATE.txt webservice competency filter login question completion githash.php media rating

次に、MoodleのWebルートの外部にディレクトリを作成して、データベースには保存されないがサーバーに保存されるすべてのコース関連データを保存する必要があります。 ブラウザから直接アクセスできないように、このディレクトリをWebルートの外部に作成する方が安全です。 次のコマンドを実行します。

  1. sudo mkdir /var/moodledata

次に、所有権を設定して、Webサービスユーザーwww-dataがディレクトリにアクセスできるようにします。

  1. sudo chown -R www-data /var/moodledata

次に、所有者のみが完全な権限を持つように、フォルダの権限を変更します。

  1. sudo chmod -R 0770 /var/moodledata

サーバーにMoodleがインストールされたので、使用するデータベースをセットアップします。

ステップ2—データベースの構成

Moodleがほとんどのデータを保存するMySQLデータベースを作成する必要があります。 Moodleコードが期待する構造を作成し、Moodleがデータベースに接続するために使用するユーザーを作成します。

ただし、最初に、MySQLインストールをMoodleと互換性を持たせるために、MySQL構成ファイルにいくつかの変更を加える必要があります。 MySQL構成ファイルを開きます。

  1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

次に、次の強調表示された行を[基本設定]領域に追加します。これにより、新しいデータベースが使用するストレージタイプが構成されます。

mysqld構成
...
[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
## Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
...

このファイルを保存してからMySQLサーバーを再起動し、新しい設定で構成を再ロードします。

  1. sudo systemctl restart mysql

これで、Moodleデータベースを作成できます。 これを行うには、MySQLコマンドラインインターフェイスを操作します。 次のコマンドを実行します。

  1. mysql -u root -p

プロンプトが表示されたら、MySQLのインストール時に設定したrootパスワードを入力します。

ログインすると、mysql>プロンプトが表示されます。 次のコマンドを実行して、データベースを作成します。

  1. CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

次に、Moodleユーザーを作成します。これにより、Moodleアプリケーションにrootパスワードを指定する必要がなくなります。 次のコマンドを実行します。

注:次の2つのコマンドで、moodlerをMoodleユーザー名に、moodlerpasswordを選択したパスワードに置き換えます。

  1. create user 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

そして、moodlerユーザーにデータベースを編集する権限を与えます。 このユーザーは、テーブルを作成し、権限を変更する必要があります。

  1. GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

次に、MqSQLコマンドラインインターフェイスを終了します。

  1. quit;

これでデータベース構成が処理されます。 これで、ブラウザでMoodleを起動し、そこでセットアップを続行できます。

ステップ3—ブラウザでMoodleを設定する

Moodleの設定を完了するために、Webブラウザでサイトを表示し、追加の設定の詳細を提供します。 ウェブサーバーが設定を保存するために、Moodleウェブルートの権限を一時的に変更する必要があります。

警告:権限により、このフォルダーがすべてのユーザーに公開されます。 これを行うことに不安がある場合は、許可を変更しないでください。 Webインターフェイスには、構成ファイルを手動で変更するための手順が表示されます。

権限を変更した場合は、セットアップが完了したらすぐにこれを元に戻すことが非常に重要です。 そのステップはこのチュートリアルに含まれています。

  1. sudo chmod -R 777 /var/www/html/moodle

ブラウザを開いて、http://your_server_ip/moodleに移動します。 次のようなページが表示されます。

Moodleを設定するには、以下の手順に従ってください。

  1. 使用する言語を設定し、次へをクリックします。
  2. 次の画面で、データディレクトリ/var/moodledataに設定し、次へをクリックします。
  3. データベースドライバーの選択ページで、データベースドライバー改良されたMySQL(ネイティブmysqli)に設定します。 次に、次へをクリックします。
  4. データベース設定ページで、ステップ3で作成したMoodleMySQLユーザーのユーザー名とパスワードを入力します。 他のフィールドはそのままにしておくことができます。 次へをクリックして続行します。
  5. ライセンス契約を確認し、続行を押してその条件に同意することを確認します。
  6. 考えられる問題については、サーバーチェックページを確認してください。 「サーバー環境がすべての最小要件を満たしています」というメッセージが下部にあることを確認し、続行を押します。
  7. Moodleはいくつかのコンポーネントをインストールし、それぞれに「成功」メッセージを表示します。 一番下までスクロールして、続行を押します。
  8. 次に、Moodleの管理者アカウントを設定できるページが表示されます。 [ユーザー名]には、必要なものを入力し、デフォルトを受け入れます。 [認証方法の選択]で、デフォルト値をそのままにします。 [新しいパスワード]には、使用するパスワードを入力します。 [メール]には、メールアドレスを入力します。 残りのフィールドを適切な値に設定します。 [プロファイルの更新]をクリックします。
  9. フロントページ設定画面で、フルサイト名サイトのショートネームを入力し、場所を設定して、自分を許可するかどうかを選択します-電子メールによる登録。 次に、[変更を保存]をクリックします。

これを行ったら。 admin ユーザーとしてログインした、新しいMoodleインストールのダッシュボードが表示されます。

セットアップが完了したので、Moodleウェブルートへのアクセス許可を再度制限することが重要です。 ターミナルに戻り、次のコマンドを実行します。

  1. sudo chmod -R 0755 /var/www/html/moodle

Moodleのセキュリティを改善するためにもう1つ小さな変更を加えましょう。 デフォルトでは、Moodleは/var/moodledataフォルダーに誰でも書き込み可能な権限を持つファイルを作成します。 Moodleが使用するデフォルトの権限を変更して、それを強化しましょう。

エディターでMoodle設定ファイルを開きます:

  1. sudo nano /var/www/html/moodle/config.php

この行を見つけます:

config.php
$CFG->directorypermissions = 0777;

次のように変更します。

config.php
$CFG->directorypermissions = 0770;

次に、ファイルを保存してエディターを終了します。

最後に、/var/moodledataディレクトリ自体の権限をリセットします。これは、Moodleがすでにいくつかの誰でも書き込み可能なフォルダを作成しており、インストールプロセス中に次のようになっているためです。

  1. sudo chmod -R 0770 /var/moodledata

Moodleが構成されたので、いくつかのカスタマイズを行い、MoodleWebインターフェースの感触をつかむためのテストコースを作成しましょう。

ステップ4—Moodleのカスタマイズと最初のコースの作成

あなたのサイトが稼働しているので、あなたが夜最初にやりたいことの1つはあなたのMoodleサイトを登録することです。 これにより、Moodleメーリングリストに登録され、セキュリティアラートや新しいリリースなどの最新情報を入手できます。

登録するには、左側のボックスにあるサイト管理リンクをクリックし、登録をクリックします。 次に、適切な詳細をWebフォームに入力します。 他の人が見つけられるように、Moodleサイトを公開することもできます。

次に、Moodleサイトのテーマを変更しましょう。 サイト管理を選択し、外観タブを選択して、テーマセレクターを選択します。 次の図のようなページが表示されます。これは、現在デフォルトデバイスで「ブースト」テーマを使用していることを示しています。これは、最新のWebブラウザーを指します。

テーマの変更ボタンをクリックすると、他の利用可能なテーマを表示する画面が表示されます。 テーマ名の下にあるテーマを使用ボタンをクリックすると、Moodleサイトはそのテーマを使用してサイトのすべてのコンテンツを表示します。 タブレットや電話など、デバイスごとに異なるテーマを選択することもできます。

Moodleサイトを希望どおりの外観に近づけたので、次は最初のコースを作成します。 ナビゲーションメニューからサイトホームを選択します。 空のコースリストと新しいコースの追加ボタンが表示されます。 そのボタンをクリックすると、次の図のようなフォームが表示されます。

名前、短い名前、説明、その他の関連する詳細など、コースに関する情報を入力します。 次に、一番下までスクロールして、保存して表示をクリックします。

これで、最初のMoodleコースの準備が整いました。 Moodleのインターフェースを使用して、コースにレッスンやアクティビティを追加し始めることができます。

しかし、あなたがあなたの新しいコースを受講するために人々にサインアップさせることを始める前に、あなたはあなたのMoodleインストールが本番の準備ができていることを確認するべきです。 手始めに、サーバーとクライアント間のトラフィックを暗号化するために、ApacheのTSL/SSL証明書を設定することをお勧めします。 これを行うには、チュートリアル Ubuntu16.04でLet’sEncryptを使用してApacheを保護する方法に従ってください。 また、データが保護されていることを確認するには、MySQLデータベースを定期的にバックアップしてください。 また、/var/moodledata/フォルダーを含むサーバー上のファイルもバックアップする必要があります。 チュートリアルVPSの効果的なバックアップ戦略を選択する方法は、ファイルをバックアップするための提案を提供します。

結論

この記事では、Ubuntu16.04サーバーにMoodleをインストールしてセットアップしました。 Moodleは堅牢で高度に構成可能なWebアプリケーションです。 必ずMoodleのドキュメントを参照し、Moodleのユーザーと管理者の世界的なコミュニティに連絡して、それを最大限に活用する方法についてのアイデアを入手してください。 ハッピームードリング!