Ubuntu 20.04にMoodle学習プラットフォームをインストールする方法
Moodle は、世界で最も人気があり、堅牢で無料のオープンソースのオンライン学習 (e ラーニング) 管理プラットフォームで、ウェブとモバイル向けに構築されています。学校、大学、関連機関がコースやカリキュラムを中断することなく、いつでもどこでも柔軟な学習プラットフォームを生徒に提供できるようにする幅広いアクティビティと教育ツールを提供します。
その一般的な機能には、最新の使いやすいインターフェイス、パーソナライズされたダッシュボード、共同作業ツールとアクティビティ、オールインワン カレンダー、便利なファイル管理、シンプルで直感的なテキスト エディター、通知、進捗状況の追跡などがあります。
重要なのは、Moodle は、追加のアクティビティ、ブロック、テーマなどをサポートする 1,000 を超えるプラグインを使用して高度な拡張性を備えていることです。
この記事では、NGINX および MySQL/MariaDB データベースを備えたMoodle 学習プラットフォームの最新バージョンをUbuntu 20.04 にインストールする方法を説明します。古いバージョン。
サーバー要件:
- LEMP スタックがインストールされた、新しくインストールされた Ubuntu 20.04 サーバー。
Ubuntu サーバーに LEMP スタックをインストールしたら、以下で説明するように、サーバー上でのMoodle のセットアップに進むことができます。
このページでは
- Moodle アプリケーションの DNS レコードのセットアップ
- UbuntuサーバーへのMoodleのインストール
- Moodle アプリケーションを提供するための NGINX の構成
- Web インストーラー経由で Moodle のインストールを完了する
- Let’s Encrypt を使用して Moodle アプリケーションで HTTPS を有効にする
Moodle アプリケーションの DNS レコードのセットアップ
1. ユーザーが Moodle インスタンスにアクセスするには、そのサブドメインを作成する必要があります。したがって、DNS を作成する必要があります。これを実現するための
レコード。このガイドでは、テスト ドメインは testprojects.me
であるため、learning.testprojects.me
などのサブドメインを作成する必要があります。
したがって、ドメイン レジストラの Web コンソールにログインしてドメインの詳細設定にアクセスし、タイプ A
の 新しいレコードの追加 をクリックします。ホストは 学習
しているはずです。 (または任意の単語)、値は Ubuntu サーバーのパブリック IP アドレスである必要があります。
UbuntuサーバーへのMoodleのインストール
2. 次に、示されているように apt パッケージ マネージャーを使用して、Moodle に必要な PHP 拡張機能とライブラリをインストールする必要があります。
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 'Secur3P@zzwd';
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 = 'Secur3P@zzwd'; // your database password
$CFG->prefix = 'mdl_'; // prefix to use for all table names
また、図に示すように、Moodle Web サイトの場所と Moodle データ ディレクトリの場所を設定します。
$CFG->wwwroot = 'http://learning.testprojects.me';
$CFG->dataroot = '/var/moodledata';
ファイルを保存して閉じます。次に、次のセクションで説明するように、Moodle サイトにサーバーを提供するように NGINX を設定します。
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 構成が正常であることを確認し、NGINX サービスを正常に再起動します。
sudo nginx -t
sudo systemctl reload nginx
Web インストーラー経由で Moodle のインストールを完了する
10. 次に、Web ブラウザを開き、サブドメイン (learning.testprojects.me
など) を使用して移動し、Moodle Web インストーラにアクセスします。
http://learning.testprojects.me
ようこそページが読み込まれたら、メッセージを読んで [続行] をクリックします。
11. 次に、インストーラーはシステムが要件を満たしているかどうかを確認します。すべてが OK であれば、下にスクロールして [続行] をクリックして、実際のファイルのインストールとデータベースのセットアップを開始します。スキーマ。
インストーラーは、サイトが HTTPS で実行されていないことに関する警告を表示することに注意してください。ここでは警告を無視してください。最後のセクションでは、無料のLet’s Encrypt証明書を使用してMoodleでHTTPSを有効にする方法について説明します。
インストールが完了したら、[続行] をクリックします。
12. 次に、アカウントのユーザー名、パスワード、姓名、電子メール アドレスを作成して、Moodle サイトの管理者アカウントを構成します。次に、下にスクロールして [アカウントを更新] をクリックします。
13. 次に、次のスクリーンショットに示すように、Moodle サイトのフロント ページ設定を構成します。次に、下にスクロールして [更新] をクリックします。
14. Web インストーラーにより、新しい Moodle サイトに自動的にログインします。画面の指示に従ってサイト登録を完了してください。
Let’s Encrypt を使用して Moodle アプリケーションに HTTPS を設定する
15. Moodle サイトを保護するには、HTTPS を有効にする必要があります。このガイドでは、Let’s Encrypt の無料の信頼できる SSL/TLS 証明書を使用します。 Let’s Encrypt を使用するもう 1 つの利点は、自動化されていることです。
そのため、ターミナルに戻り、次のコマンドを実行して 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
それは今のところすべてです!詳細、設定オプション、および使用ガイドについては、Moodle 3.9 のドキュメントを参照してください。