Moodle は、ウェブとモバイル向けに構築された、世界で最も人気があり、堅牢で、無料の、オープンソースのオンライン学習(eラーニング)管理プラットフォームです。学校、大学、および関連機関が、コースやカリキュラムを中断することなく、いつでもどこでも柔軟な学習プラットフォームを学生に提供できるようにする幅広いアクティビティと教育ツールを提供します。
その一般的な機能には、最新の使いやすいインターフェース、パーソナライズされたダッシュボード、コラボレーションツールとアクティビティ、オールインワンカレンダー、便利なファイル管理、シンプルで直感的なテキストエディタ、通知、進行状況の追跡などがあります。
重要なのは、 Moodle また、追加のアクティビティ、ブロック、テーマなどをサポートする1,000を超えるプラグインを使用して高度に拡張できます。
この記事では、最新バージョンの Moodle Learning Platformをインストールする方法を学習します。 NGINX およびUbuntu20.04のMySQL/MariaDBデータベース および古いバージョン。
サーバー要件:
- LEMPスタックがインストールされた新しくインストールされたUbuntu20.04サーバー。
LEMPをインストールしたら Ubuntuにスタックする サーバーの場合は、さらに Moodleの設定に進むことができます 以下で説明するようにサーバー上で。
このページについて
- MoodleアプリケーションのDNSレコードの設定
- UbuntuサーバーへのMoodleのインストール
- Moodleアプリケーションを提供するためのNGINXの設定
- WebインストーラーによるMoodleインストールの完了
- Let’sEncryptを使用してMoodleアプリケーションでHTTPSを有効にする
MoodleアプリケーションのDNSレコードの設定
1。 ユーザーがあなたのMoodleにアクセスするため サブドメインを作成する必要があるインスタンス したがって、DNS A
を作成する必要があります。 これを達成するために記録します。このガイドでは、テストドメインはtestprojects.me
です。 、したがって、サブドメインを作成する必要があります。たとえば、learning.testprojects.me
。
そのため、ドメイン登録事業者のウェブコンソールにログインしてドメインの詳細設定にアクセスし、[新しいレコードを追加]をクリックします タイプA
、ホストはlearning
である必要があります (または任意の単語)、値はUbuntuサーバーのパブリックIPアドレスである必要があります。
UbuntuサーバーへのMoodleのインストール
2。 次に、 PHPをインストールする必要があります Moodleに必要な拡張機能とライブラリ 図のようにaptパッケージマネージャーを使用します。
$ sudo apt update $ sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav
3。 次に、 Moodleのデータベースを作成します システム。 MySQLにログインします データベース管理シェルを作成し、次のようにデータベースを作成します。
$ sudo mysql MariaDB [(none)]> CREATE DATABASE moodle; MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email protected]'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit;
4。 前述のように、このガイドでは、最新バージョンの Moodleをダウンロードしてインストールします (執筆時点ではバージョン3.9)。次のwgetコマンドを実行してMoodleパッケージを取得し、tarコマンドを使用してそれぞれ抽出します。次に、lsコマンドを使用して、moodleディレクトリが / var / www / html /の下に存在することを確認します。 示されているように。
$ wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz $ sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/ $ ls /var/www/html/
5。 次に、 Moodleに適切な権限を設定します 次のコマンドを実行してディレクトリを作成します。
$ sudo chown www-data:www-data -R /var/www/html/moodle $ sudo chmod 775 -R /var/www/html/moodle
6。 次に、Moodleのデータを作成します ディレクトリ、 Moodleが存在する場所 アップロードされたファイルを保存し、その権限を次のように設定できます。
$ sudo mkdir -p /var/moodledata $ sudo chmod 775 -R /var/moodledata $ sudo chown www-data:www-data -R /var/moodledata
7。 次に、 Moodleを作成します パッケージに付属のサンプル構成ファイルのメイン構成ファイルを開きます。
$ cd /var/www/html/moodle/ $ sudo cp config-dist.php config.php $ sudo vim config.php
データベース構成セクションを探してから、すべての Moodleが存在するデータベースを構成します。 次のスクリーンショットに示すように、データが保存されます:
$CFG->dbtype = 'mariadb'; // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci' $CFG->dblibrary = 'native'; // 'native' only at the moment $CFG->dbhost = 'localhost'; // eg 'localhost' or 'db.isp.com' or IP $CFG->dbname = 'moodle'; // database name, eg moodle $CFG->dbuser = 'moodleadmin'; // your database username $CFG->dbpass = '[email protected]'; // your database password $CFG->prefix = 'mdl_'; // prefix to use for all table names
また、示されているように、Moodleウェブサイトの場所とMoodleデータディレクトリの場所を設定します。
$CFG->wwwroot = 'http://learning.testprojects.me'; $CFG->dataroot = '/var/moodledata';
ファイルを閉じて保存します。次に、 NGINXを構成します Moodleをサーバー化する 次のセクションで説明するサイト。
Moodleアプリケーションを提供するためのNGINXの設定
8。 NGINXがMoodleをサーバー化するため サイトでは、 NGINXの下に新しいサーバーブロック構成を作成する必要があります 構成、ディレクトリ /etc/nginx/conf.d/ 。
$ sudo vim /etc/nginx/conf.d/moodle.conf
次の構成をコピーして貼り付け、learning.testprojects.me
を置き換えます あなたのサブドメインで。横に、fastcgi_pass
ディレクティブは、PHP-FPMがFastCGI要求を受け入れるアドレスを指している必要があります( /etc/php/7.4/fpm/pool.d/www.conf を確認してください)。 詳細についてはファイルを参照してください。
server{ listen 80; server_name learning.testprojects.me; root /var/www/html/moodle; index index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ ^(.+\.php)(.*)$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_index index.php; fastcgi_pass unix:/run/php/php7.4-fpm.sock; include /etc/nginx/mime.types; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
ファイルを保存して閉じます。
9。 次に、 NGINXを確認します 上記の変更を行った後、構成はOKです。その後、NGINXサービスを正常に再起動します。
$ sudo nginx -t $ sudo systemctl reload nginx
WebインストーラーによるMoodleインストールの完了
10。 次に、Webブラウザーを開き、サブドメイン(learning.testprojects.me
など)を使用してナビゲートします。 Moodleにアクセスするには Webインストーラー。
http://learning.testprojects.me
ウェルカムページが読み込まれたら、メッセージを読み通して、[続行]をクリックします。 。
11。 次に、インストーラーはシステムが要件を満たしているかどうかを確認します。すべて問題がない場合は、下にスクロールして続行をクリックします。 ファイルの実際のインストールとデータベーススキーマの設定を開始します。
インストーラーは、 HTTPSで実行されていないサイトに関する警告を表示することに注意してください 、今のところ警告は無視してください。最後のセクションでは、 HTTPSを有効にする方法について説明します。 Moodle 無料のLet’s Encryptを使用する 証明書。
インストールが完了したら、続行をクリックします 。
12。 次に、アカウントのユーザー名、パスワード、名と名前、および電子メールアドレスを作成して、Moodleサイトの管理者アカウントを構成します。次に、下にスクロールして、[アカウントの更新]をクリックします 。
13。 次に、 Moodleを設定します 次のスクリーンショットに示すように、サイトのフロントページの設定。次に、下にスクロールして[更新]をクリックします 。
14。 Webインストーラーは自動的に新しいMoodleにログインします サイト。画面の指示に従ってサイト登録を完了することができます。
Let'sEncryptを使用してMoodleアプリケーションにHTTPSを設定する
15。 Moodleを保護するため サイトでは、 HTTPSを有効にする必要があります 。このガイドでは、 Let’s Encryptを使用します 無料で信頼できるSSL/TLS証明書。 Let’s Encryptを使用するもう1つの利点は、自動化されていることです。
したがって、ターミナルに戻り、次のコマンドを実行して certbotをインストールします。 Ubuntu(Let’s Encrypt証明書を自動的に使用して手動で管理されるサイトでHTTPSを有効にするための無料のオープンソースツール)。
$ sudo snap install --classic certbot
16。 次に、次のコマンドを発行して証明書を取得し、 Certbot NGINXを編集します 新しい証明書を自動的に構成するための構成。
$ sudo certbot --nginx
17。 次に、 Moodleに戻ります サイト構成ファイル。
$ sudo vim /var/www/html/moodle/config.php
URLをHTTPから変更します HTTPS 次のスクリーンショットに示すように。
$CFG->wwwroot = 'https://learning.testprojects.me';
18。 最後に、ブラウザから Moodle サイトは現在HTTPSで実行されています 。
https://learning.testprojects.me
それは今のところすべてです!詳細、設定オプション、使用ガイドについては、Moodle3.9のドキュメントをご覧ください。