LinuxでMoodleを使用して独自のオンライン学習管理システムを作成する方法


Moodleは無料で機能豊富なオープンソースの学習管理システム(LMS)です。このプラットフォームは、多くのオンラインの学校や大学、そして私立の教育者によって使用されています。

Moodleは非常にカスタマイズ可能であり、教師、学生、管理者を含む幅広いユーザーの要件を満たすことを目的としています。

Moodleの機能

Moodleが持っている最も顕著な機能のいくつかは次のとおりです。

  • Modern and easy to use interface
  • Personalized dashboard
  • Collaborative tools
  • All-in-one calendar
  • Easy file management
  • Simple text editor
  • Notifications
  • Progress tracking
  • Customizable site design/layout
  • Multiple supported languages
  • Bulk course creation
  • Quizzes
  • User roles
  • Plugins for additional functionalities
  • Multimedia integration

もちろん、上記はMoodleが持っている機能のほんの一部です。完全なリストを見たい場合は、Moodleのドキュメントを確認できます。

最新の安定したMoodleバージョン(3.0)は、2015年11月16日にリリースされました。リリースには次の要件があります。

  • Apache or Nginx
  • MySQL/MariaDB version 5.5.31
  • PHP 5.5 and its extensions

このチュートリアルでは、LAMPまたはLEMP(Linux、Apache/Nginx、MySQL/MariaDB、PHP)スタックを使用してCentOS/FedoraやDebianなどのRedHatベースのシステムにMoodleLMS(学習管理システム)をインストールする方法を紹介します。サブドメインmoodle.tecmint.comおよびIPアドレス192.168.0.3。

重要:コマンドはrootユーザーまたはsudo権限で実行されるため、システムへのフルアクセス権があることを確認してください。

ステップ1:LAMPまたはLEMP環境をインストールする

LAMP/LEMPは、Webサイトを構築およびホストするために設計されたオープンソースソフトウェアのスタックです。 WebサーバーとしてApache/Nginx、リレーショナルデータベース管理システムにMariaDB/MySQL、オブジェクト指向プログラミング言語としてPHPを使用します。

次の1つのコマンドを使用して、次のようにそれぞれのLinuxオペレーティングシステムにLAMPまたはLEMPスタックをインストールできます。

# yum install httpd php mariadb-server       [On RedHat/CentOS based systems] 
# dnf install httpd php mariadb-server            [On Fedora 22+ versions]
# apt-get install apache2 php5 mariadb-server     [On Debian/Ubuntu based systems]
# yum install nginx php php-fpm mariadb-server            [On RedHat/CentOS based systems] 
# dnf install nginx php php-fpm mariadb-server            [On Fedora 22+ versions]
# apt-get install nginx php5 php5-fpm mariadb-server      [On Debian/Ubuntu based systems]

ステップ2:PHP拡張機能とライブラリをインストールする

次に、Moodleをエラーなしで実行するには、以下の推奨PHP拡張機能とライブラリをインストールする必要があります。

--------------------- On RedHat/CentOS based systems ---------------------
# yum install php-iconv php-mbstring php-curl php-opcache php-xmlrpc php-mysql php-openssl php-tokenizer php-soap php-ctype php-zip php-gd php-simplexml php-spl php-pcre php-dom php-xml php-intl php-json php-ldap wget unzip
--------------------- On On Fedora 22+ versions ---------------------
# dnf install php-iconv php-mbstring php-curl php-opcache php-xmlrpc php-mysql php-openssl php-tokenizer php-soap php-ctype php-zip php-gd php-simplexml php-spl php-pcre php-dom php-xml php-intl php-json php-ldap wget unzip
--------------------- On Debian/Ubuntu based systems ---------------------
# apt-get install graphviz aspell php5-pspell php5-curl php5-gd php5-intl php5-mysql php5-xmlrpc php5-ldap

ステップ3:PHP設定を構成する

次に、以下に示すように、 php.ini または .htaccess (php.iniにアクセスできない場合のみ)ファイルでPHP設定を開いて変更します。

重要:5.5より古いPHPを使用している場合は、次のPHP設定の一部が削除され、php.iniファイルに含まれなくなります。

register_globals = Off
safe_mode = Off
memory_limit = 128M
session.save_handler = files
magic_quotes_gpc = Off
magic_quotes_runtime = Off
file_uploads = On
session.auto_start = 0
session.bug_compat_warn = Off
post_max_size = 50M
upload_max_filesize = 50M

Nginx Webサーバーでは、php.iniファイルでも次の変数を有効にする必要があります。

cgi.fix_pathinfo=1

上記の変更を行った後、次のようにWebサーバーを再起動します。

--------------------- On SysVinit based systems ---------------------
# service httpd restart			[On RedHat/CentOS based systems]    
# service apache2 restart		[On Debian/Ubuntu based systems]
--------------------- On Systemd based systems ---------------------
# systemctl restart httpd.service	[On RedHat/CentOS based systems]    
# systemctl restart apache2.service 	[On Debian/Ubuntu based systems]
--------------------- On SysVinit based systems ---------------------
# service nginx restart		
# service php-fpm restart	
--------------------- On Systemd based systems ---------------------
# systemctl restart nginx.service	
# systemctl restart php-fpm.service	

ステップ4:Moodle学習管理システムをインストールする

これで、Moodleファイルをインストールする準備ができました。そのためには、ApacheまたはNginxサーバーのWebルートディレクトリに移動します。これは次の方法で実行できます。

# cd /var/www/html              [For Apache]
# cd /usr/share/nginx/html      [For Nginx]

次に、Moodleダウンロードページに移動し、最新のMoodle(つまり、この記事の執筆時点ではバージョン3.0)アーカイブを取得するか、次のwgetコマンドを使用します。

# wget https://download.moodle.org/download.php/direct/stable30/moodle-3.0.zip

ダウンロードしたアーカイブを解凍すると、「moodle」という新しいディレクトリが作成され、そのすべてのコンテンツがWebサーバーのルートWebディレクトリ(Apacheの場合は/ var/www/html、Nginxの場合は/ usr/share/nginx/html)に移動します。次の一連のコマンドを使用します。

# unzip moodle-3.0.zip
# cd moodle
# cp -r * /var/www/html/           [For Apache]
# cp -r * /usr/share/nginx/html    [For Nginx]

次に、ディストリビューションに応じて、ファイルの所有権をWebサーバーユーザーに修正しましょう。Apacheはユーザー「apache」または「www-data」で実行され、Nginxはユーザーnginxとして実行されます。

ファイルの所有権を修正するには、次のコマンドを実行します。

# chown -R apache: /var/www/html	[On RedHat/CentOS based systems] 
# chown -R www-data: /var/www/html 	[On Debian/Ubuntu based systems]
OR
# chown -R nginx: /usr/share/nginx/html/ 

Moodleはまた、教師と生徒のデータを保持するためのデータディレクトリを使用しています。たとえば、このディレクトリには、ビデオ、ドキュメント、プレゼンテーションなどが保存されます。

セキュリティ上の理由から、そのディレクトリはWebディレクトリルートの外に作成する必要があります。このチュートリアルでは、別の moodledata ディレクトリを作成します。

# mkdir /var/www/moodledata              [For Apache]
# mkdir /usr/share/moodledata            [For Nginx]

また、フォルダの所有権を次のように修正します。

# chown -R apache: /var/www/moodledata	        [On RedHat/CentOS based systems]    
# chown -R www-data: /var/www/moodledata 	[On Debian/Ubuntu based systems]
OR
# chown -R nginx: /usr/share/moodledata

ステップ5:Moodleデータベースを作成する

Moodleはリレーショナルデータベースを使用してデータを保存するため、インストール用のデータベースを準備する必要があります。これは、次のコマンドで簡単に実行できます。

# mysql -u root -p

パスワードを入力して続行します。次に、「moodle」という新しいデータベースを作成します。

MariaDB [(none)]> create database moodle;

それでは、データベースmoodleのすべての権限を持つ「moodle」をユーザーに付与しましょう。

MariaDB [(none)]> grant all on moodle.* to [email protected]'localhost' identified by 'password';

ステップ6:Moodleのインストールを開始する

これで、Moodleのインストールを続行する準備が整いました。そのためには、ブラウザでIPアドレスまたはホスト名を開きます。 Moodleのインストーラーが表示されます。インストールの言語を選択するように求められます。

次のステップでは、Moodleデータディレクトリのパスを選択します。このディレクトリには、教師と生徒によってアップロードされたファイルが含まれます。

たとえば、ビデオ、PDF、PPT、およびWebサイトにアップロードするその他のファイル。このディレクトリはすでに準備済みです。Moodleデータディレクトリを/ var/www/moodledataまたは/ usr/share/moodledataに設定する必要があります。

次に、データベースドライバを選択します。

  1. For MySQL – Select Improved MySQL driver.
  2. For MariaDB – Select native/mariadb driver.

その後、Moodleが使用するMySQL資格情報の入力を求められます。私たちはすでにそれらを以前に準備しました:

Database Name: moodle
Database User: moodle
Password: password

詳細を入力したら、次のページに進みます。このページには、Moodleに関連する著作権が表示されます。

それらを確認して、次のページに進んでください。次のページで、Moodleはサーバー環境のシステムチェックを実行します。システムに不足しているモジュール/拡張機能があるかどうかを通知します。そのようなものが見つかった場合は、不足していると表示されている各拡張機能の横にあるリンクをクリックすると、インストール方法の説明が表示されます。

すべて問題がなければ、次のページに進みます。ここで、インストーラーがデータベースにデータを入力します。このプロセスには、予想よりも時間がかかる場合があります。その後、管理ユーザーを構成するように求められます。次の詳細を入力する必要があります。

  1. Username – the username with which the user will login
  2. Password – password for the above user
  3. Firstname
  4. Surname
  5. Email address for the administrative user
  6. City/town
  7. Country
  8. Timezone
  9. Description – enter information about yourself

サイト管理者のプロファイルを構成したら、サイトに関する情報を設定します。次の情報を入力します。

  • Full site name
  • Short name for the site
  • Front page summary – information that will be displayed on the site frontpage
  • Location Settings
  • Site registration – choose the registration type  be self-registration or via email.

これらの情報をすべて入力すると、インストールが完了し、管理者プロファイルに移動します。

Moodle管理ダッシュボードにアクセスするには、http:// your-ip-address/adminにアクセスしてください。私の場合、これは次のとおりです。

http://moodle.tecmint.com/admin

これでMoodleのインストールが完了し、ウェブサイトの管理を開始して最初のコースやユーザーを作成したり、サイトの設定をカスタマイズしたりできます。

Moodleのインストールに関して質問やコメントがある場合は、以下のコメントセクションに送信してください。

私たちはあなたのためにそれをすることができます!

Moodleを実際のLinuxライブサーバーにインストールしたい場合は、[メールで保護]までご連絡いただければ、お客様専用のカスタムオファーを提供します。

参照:https://docs.moodle.org/