自分でLMSの環境を作ってみよう! 1.コンピュータの準備編

下記の手順に沿ってLMSの環境の作り方を説明するよ!
今回は1番目のコンピュータの準備だよ~。

  1. コンピュータの準備
  2. OSのインストール
  3. 必要なソフトウェアのインストール
  4. LMSのインストール
  5. LMSの起動と動作確認

 LMSについては事前知識編で詳しく紹介しています。

コンピュータの準備

仮想マシンとは

 サーバとして使うコンピュータを準備します。ここでは仮想マシンを使います。
 仮想マシンとは、あるコンピュータの上に作り出された、仮想的な別のコンピュータのことです。前者のコンピュータのことをホスト、後者をゲストと呼びます。ホストには物理的な機械の部分がありますが、ゲストにはありません。ホストのコンピュータから、CPUやハードディスクなどの一部をゲストのコンピュータに割り当てることで、物理的な実体を持たないコンピュータを作り出しています。

 仮想マシンを作るソフトウェアはいくつか種類がありますが、ここでは「Oracle VM VirtualBox(以下VirtualBoxと記載)」を使います。

仮想マシンの作り方

 インストールしたVirtualBoxを起動します。画面上部の[ファイル]の右の[仮想マシン]→[新規]をクリックします。

 画像のようなダイアログボックスが表示されます。それぞれの項目を設定します。

  • 名前:仮想マシンの名前をつけます。
  • マシンフォルダー:仮想マシンを保存する場所を選びます。
  • タイプ:仮想マシンのOSを選択します。
  • バージョン:仮想マシンのOSのバージョンを選択します。

 ここではLinux系のDebianというOSにMoodleのバージョン3.11をインストールするため、下記のように設定しました。

  • 名前:debian_moodle311
  • タイプ:Linux
  • バージョン:Debian(64-bit)

 [エキスパートモード]をクリックします。
 Installing Moodleの「Hardware」の部分に「メモリは最低512MB、1GB以上を推奨」というようなことが書かれています。ここでは1024MB(=1GB)を設定しました。

どうして1024MBが1GBなのか不思議に思った人はいるかな?
これはコンピュータでは全て2進数で表すからなんだ。10進数では10の3乗=1000ごとに接頭辞(ここでは単位の前について単位を補足するもの。k、M、Gなどのこと)がk→M→Gと変わっていくけれど、2進数では2の10乗=1024が一番1000に近くてキリのいい数字だから1024ごとに接頭辞を変えるようにしたんだって。

 それ以外はデフォルトのまま[作成]をクリックします。

 仮想ハードディスクの作成というダイアログボックスが表示されます。ここでコンピュータのディスク容量を設定します。ダイアログボックス内では「ファイルサイズ」と書かれています。
 もう一度、Installing Moodleの「Hardware」の部分を確認します。ディスク容量は「最低5GB(Moodleのコード用に200MB必要)」というようなことが書かれています。今回の目標はLMSを動かして簡単な動作テストをすることなので、少し小さめに4GBに設定し、それ以外はデフォルトのまま[作成]をクリックします。

 図のように、仮想マシンが作成されました。

キーワードのおさらい

仮想マシン物理的な機械の部分を持つコンピュータAの上に作り出された、仮想的なコンピュータBのこと。Aのことをホスト、Bのことをゲストと呼ぶ。
2進数数の表し方のひとつで、10進数が10になると桁があがるように、2進数では2になると桁があがる。コンピュータの世界では全てをこの2進数で表す。

次は作成した仮想マシンにOSをインストールする手順を説明する予定だよ~。

自分でLMSの環境を作ってみよう!(事前知識編)

自分でLMSの環境を作ってみよう!
でも、そのために必要なものってなんだろう?
今回はLMSの環境を作るために必要な知識を説明するよ~。

LMS環境を作るための事前知識

LMSとは

 そもそもLMSとはなんでしょうか。
 LMSとはLearning Management Systemの略で、日本語で学習管理システムといいます。その名の通り、テキスト教材やテスト、生徒の出席、シラバスなど、学習に関するデータを管理するシステムです。

日本データパシフィックで提供しているのはWebClassだよ~。
他にも、Moodle、manaba、Blackboardといった、さまざまなLMSがあって、それぞれ提供する機能に特色があるんだ。

LMSの仕組み

 では、LMSとはどのような仕組みで動いているのでしょうか。
 LMSはWebサービスのひとつです。Webサービスとは、Google Chrome、Microsoft EdgeなどのWebブラウザの上で利用できるサービスのことです。今ではスマートフォンのアプリを介して利用されることが多いですが、TwitterやInstagramなどもこのWebサービスのひとつです。
 Webサービスを動かすために必要なものは、大まかに、サーバ、Webサービスのプログラム、データベースです。

  • サーバ:Webサービスのプログラムやデータベースを動かすコンピュータのことです。ユーザがWebブラウザからアクセスしてきたときに、URLに応じたページを表示したり、Webサービスのプログラムから要求を受けてデータベースにデータを保存したりします。
  • Webサービスのプログラム:そのサービスを構成するプログラムのこと。Webブラウザに表示させる画面を構成したり、データベースとデータのやりとりをしたりします。
  • データベース:サービスを提供するために必要な情報を集めたもの。ユーザ情報、コンテンツのデータ(Twitterなら投稿内容、LMSなら教材の情報)などが保存されています。

※ここでは分かりやすくユーザとしましたが、一般にはクライアントと呼ばれることが多いです。以降はクライアントと記載します。

 Webサービスは、WebブラウザでURLを入力すると表示することができます。
 URLとは、インターネット上の住所のことで、インターネットに接続されたサーバや、そのサーバ上のデータを表したものです。たとえば、下記のURLの場合「www.datapacific.co.jp」というサーバ上にある「index.html」というファイルのことを指します。

https://www.datapacific.co.jp/index.html

 Webブラウザで、「https://www.datapacific.co.jp/index.html」を入力してEnterキーを押すと、「www.datapacific.co.jp」というサーバに対して、「index.html」のデータがほしいと依頼したことになります。これを、リクエストと呼びます。
 Webサービスは、図のように、(1)サーバがクライアントからのリクエストを受け、(2)Webサービスのプログラムとデータベースとのやりとりをして、(3)リクエストに応じたデータをクライアントに送る、という仕組みで動いています。
 サーバの中にはWebサーバと呼ばれるソフトウェアがあり、(1)と(3)を担当しています。サーバの玄関口のような役割です。

用意するもの

 LMSを動かすには、LMSの仕組みで紹介した、サーバ、Webサービスのプログラム、データベースの3つが必要になります。

  • サーバ
    • コンピュータ
      コンピュータを用意します。とはいえ実際に用意するのは大変なので、仮想マシンを使うこともあります。仮想マシンについては、また別の記事で説明します。ハードディスクやメモリのサイズなどはLMSの動作条件によって選択します。
    • OS
      用意したコンピュータにOSをインストールします。OSには、コンピュータのハードウェア(ハードディスクやメモリなどの機械の部分)を制御し、ソフトウェア(Webブラウザやテキストエディタなどのアプリケーション)を使うための環境を整える役割があります。
      サーバとしてよく使われるOSはLinux系のDebian、Ubuntu、CentOSなどです。Linux系のOSは種類によってフォルダの構成やコマンド(コンピュータへの命令)の書き方などのルールが異なるため、LMSによっては推奨のOSがあることがあります。特に指定がない場合は、使い慣れたものを選ぶといいでしょう。
    • Webサーバのソフトウェア
      Webサーバのソフトウェア(Apache、Nginxなど)をインストールします。
  • Webサービスのプログラム:LMSのプログラムです。WebClassやMoodleなどのことです。
    Webサービスは主にPHP、Java、Rubyなどのプログラミング言語で書かれていて、動作させるためには、プログラムの中にある指示を解釈するソフトウェアが必要になります。LMSのプログラムがどの言語で書かれているかを確認し、その言語のソフトウェアも合わせてインストールしましょう。
  • データベース:データベースと、データベースのデータを管理(データの追加、更新、削除など)するソフトウェアが必要になります。データベース管理システムと呼ばれるソフトウェアがその二つの役割を持ちます。PostgreSQL、MariaDB、MySQLなどの種類があり、それぞれデータを扱うルールが異なります。これもLMSによって推奨のものがあるため、それに応じてインストールします。
  • その他:LMSによって必要なプログラムがあるため、確認してインストールします。

 それぞれのLMSには推奨環境があります。ダウンロードページなどに、動作させるために必要な要件(コンピュータのスペック、必要なソフトウェアなど)が書かれています。
 Moodleのダウンロードページ(https://download.moodle.org/releases/latest/)を見てみましょう。「Requires」のところに、プログラミング言語はPHP、データベース管理システムはMariaDB、MySQL、Postgres、MSSQL、Oracleのいずれかが必要と記載されています。PHPやMariaDBなどの後についている数字はバージョンです。特定のバージョン以降でないと、うまく動作しないことがあるため、必ず書かれたバージョン以降のものをインストールするようにしましょう。
 図のMoodleをインストールするために、最低限必要なものは下記の5つです。

  • コンピュータ
  • OS
  • Webサーバのソフトウェア
  • データベース(指定のデータベースのいずれか)
  • PHP(バージョン7.3以降)

キーワードのおさらい

LMS学習管理システム。Webサービスのひとつで、学習に関するデータを管理するシステム。
WebサービスWebブラウザからアクセスして利用できるサービス。
URLインターネット上の住所。インターネットに接続されたサーバや、そのサーバ上のデータを表したもの。
サーバクライアントのリクエストに応じて、データの処理などを行うコンピュータ。基本的にパソコンよりも特定の機能に特化している。Webサービスのサーバの場合はWebサービスの提供に必要な機能だけを持ち、パソコンのように幅広い作業をすることはない。
クライアントサーバに対して、利用者のコンピュータのこと。
Webサーバサーバの玄関口のような役割のソフトウェア。クライアントからのリクエストを受けたり、リクエストされた処理の結果を返したりする。
リクエストクライアントによる、サーバに対する処理の依頼のこと。
データベースデータの集まり。Webサービスの場合は、サービスを提供するために必要なデータを集めたもの。
データベース管理システムデータベースのデータを管理するソフトウェア。データベースを本棚だとすれば、データは本で、データベース管理システムは本棚の持ち主にあたる。データベース管理システムの種類によって、データのしまい方などのルールが異なる。
ハードウェアコンピュータの物理的な機械の部分。
ソフトウェアコンピュータの上で動作するアプリケーション(プログラム)。
OSハードウェアを制御し、ソフトウェアが動作するための環境を整えるソフトウェア。
プログラムコンピュータに対する命令を、プログラミング言語によって書き表したもの。
プログラミング言語プログラムの記法。書き方のルールや得意な分野が言語によって異なる。
プログラムの解釈プログラミング言語で書かれたプログラムは、あくまで人にとって読みやすい形であり、コンピュータにとっては暗号化された指示書のようなものにあたる。そのままではコンピュータが命令を実行することができないため、コンピュータにも分かる形に変換する作業が必要になる。その作業をコンパイルなどと呼ぶ。
ぱしふぃっくま わーい

LMSのことが少しでも分かってもらえたら嬉しいな!
次の記事では、サーバの準備について説明する予定だよ~!