Moodleは無料のオープンソースの学習管理システム(LMS)です。 PHPプログラミング言語で書かれています。 Moodleは、より良い学習体験のために多くの学校、大学、組織で使用されています。
Moodleが提供する コンテンツ管理、ユーザーフレンドリーなUI、レポート、クイズ、フィードバック、出席者リストなど。
このガイドでは、独自の Moodleを設定する方法について説明します。 Ubuntu 20.04でゼロからサーバー LEMPを使用する スタック。
UbuntuにLEMPスタックをインストールする
LEMPは、Linux、Nginx、MySQL / MariaDB、およびPHPで構成されるオープンソースソフトウェアのコレクションです。 LEMPは基本的に、Apacheの代わりにNginxをWebサーバーとして使用するLAMPスタックの代替手段です。
Linuxの場合、このガイドではUbuntu20.04を使用しています。 sudo機能を持つユーザーと一緒に行く準備ができていることを確認してください。
Nginxをインストール
Nginx Webを介して学習リソースを提供するために必要です。 NGINX Webサーバーの既存のインスタンスがない場合は、この他のガイドの手順に従って、Ubuntu20.04にNGINXをインストールしてください。登録したドメイン名でNGINXを正常に構成したら、このガイドに戻って以下の手順に進むことができます。
MySQL/MariaDBをインストールする
Moodleデータを保存するにはデータベースが必要です。 Moodleで最も一般的に使用されるデータベースは、通常、MySQL/MariaDBまたはPostgresです。
Moodleデータベーステーブルには、ユーザー、コース、サイト情報、分析用データに関する情報が含まれています。
MySQLから派生したオープンソースのデータベース管理システムであるMariaDBをインストールします。
次のコマンドを実行して、MariaDBをインストールします Ubuntuの場合:
$ sudo apt-get install mariadb-server mariadb-client
次のコマンドは、mariadbインストールを構成および保護するための組み込みスクリプトを実行します。
$ sudo mysql_secure_installation
指示を注意深く読むことが重要です。まず、mysqlrootユーザーの現在のパスワードを入力するように求められます。これは新規インストールであるため、mysqlrootユーザーのパスワードは空白です。したがって、Enterキーを押して次に進みます。
Enter current password for root (enter for none): OK, successfully used password, moving on…
2番目のステップは、mariadbのルートパスワードを設定することです。 yと入力します 次に、希望のパスワードを入力します。
Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success!
次に、匿名ユーザーを削除します。 yと入力します 確認します。
Remove anonymous users? [Y/n] y … Success!
次のステップは、rootログインをリモートで無効にすることです。 yと入力します 確認します。
Disallow root login remotely? [Y/n] y … Success!
yと入力します テストデータベースの削除を確認します。
Remove test database and access to it? [Y/n] y Dropping test database… … Success! Removing privileges on test database… … Success!
最後のステップは、変更を有効にするために特権テーブルをリロードすることです。 yと入力します 確認します。
Reload privilege tables now? [Y/n] y … Success! Cleaning up… All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
これで、mariadbにログインして、moodleデータを保存するためのデータベースを作成できます。以下のコマンドを実行し、プロンプトが表示されたらmariadbrootパスワードを入力します。
$ sudo mysql -u root -p
ログインしたら、次のコマンドを実行してデータベースを作成します。
> CREATE DATABASE moodle;
次に、次のように、mariadbでMoodleのユーザーアカウントを作成します。 moodlesuperを忘れずに交換してください およびパスワード あなた自身の価値観で。
> CREATE USER 'moodlesuper'@'localhost' IDENTIFIED BY 'password';
次のコマンドは、新しく作成されたユーザーアカウントに必要な権限を付与します。
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodlesuper'@'localhost';
次のようにmariadbからログアウトします。
> quit
PHPのインストール
PHP Moodleコンテンツに対するユーザーリクエストを動的に処理するために必要です。 NGINXは、PHP-FPM、つまりFastCGIProcessManagerを使用してPHPと連携します。
以下のコマンドを実行して、必要なPHPコンポーネントをインストールします。
$ sudo apt-get install php-fpm php-mysql php-xml
インストールしたら、次のステップは、PHPリクエストをPHP-FPMに転送するようにNGINXを構成することです。そのためには、MoodleウェブサイトのNGINXサーバーブロックファイルを編集する必要があります。たとえば、以下のコマンドは、私の「cloudindevs.com」Moodleウェブサイトのサーバーブロックファイルを開きます。
$ sudo nano /etc/nginx/sites-available/cloudindevs
サーバーブロックファイルに、 index.phpを追加します インデックスで始まる行に。また、次の構成ディレクティブをコピーして、サーバーブロックファイルの既存のロケーションディレクティブのすぐ下に貼り付けます。
# pass PHP scripts to FastCGI server
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
変更後、サーバーブロックファイルのその部分は、下の画像に表示されているもののようになります。新しい追加は赤でマークされています。
設定をテストするには、以下のコマンドを実行して、moodleウェブサイトのルートディレクトリにサンプルのindex.phpファイルを作成します。 'cloudindevs.com'を自分のWebサイトアドレスに置き換えることを忘れないでください。
$ sudo nano /var/www/cloudindevs.com/index.php
以下のサンプルPHPコードをコピーしてindex.phpファイルに貼り付けます。
<?php echo 'NGINX is working with PHP-FPM!'; ?>
index.phpファイルを保存して閉じます。 Webブラウザでyourwebsite.com/index.phpにアクセスすると、以下のサンプルページが表示されます。
SSL(https)を使用するには、Let'sEncryptを使用してNginxをフォローします。
UbuntuにMoodleをインストールする
このガイドを書いている時点で、最新のMoodleバージョン は3.10.1であり、次のようにダウンロードできます。
$ sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz
次に、ダウンロードしたパッケージのコンテンツを抽出し、Moodleウェブサイトのルートディレクトリに配置します。これが例です。
$ sudo tar -zxvf moodle-3.10.1.tgz -C /var/www/cloudindevs.com
抽出したMoodleフォルダの所有権と権限を次のように変更する必要があります。デフォルトのNGINXサービスアカウントはwww-data 。
$ sudo chown -R www-data:www-data /var/www/cloudindevs.com/moodle $ sudo chmod -R 755 /var/www/cloudindevs.com/moodle
次の3つのコマンドを実行して、アップロードされたファイルとフォルダーを保存するためのMoodleの適切な権限を持つディレクトリを作成します。 Moodleデータディレクトリはウェブ経由でアクセスできないようにする必要があります。
$ sudo mkdir /var/moodledata $ sudo chown -R www-data:www-data /var/moodledata $ sudo chmod -R 755 /var/moodledata
Moodle構成
それでは、メインのMoodle設定ファイルを作成しましょう。これを行うには、ディレクトリを変更し、以下のコマンドを実行して、抽出したMoodleフォルダにサンプル構成ファイルをコピーします。
$ cd /var/www/cloudindevs.com/moodle $ sudo cp config-dist.php config.php
編集のためにconfig.phpファイルを開きます。
$ sudo nano config.php
データベースの設定 config.phpファイルのセクションで、次の手順を実行します。
- pgsqlを置き換えます mariadbを使用
- moodleを交換してください mariadbのセットアップ中に作成したデータベースの名前を使用
- ユーザー名を変更します 以前に作成した実際のデータベースユーザー名に
- パスワードを変更する データベースのパスワードに
WEB SITE LOCATION が表示されるまで、下矢印キーを押します。 config.phpファイルのセクション。
http://example.com/moodleを置き換えます http://yoursite.com/moodle
たとえば、私のものは「https://cloudindevs.com/moodle」
になります。さらに下にスクロールして、データファイルの場所まで移動します。 config.phpファイルのセクション。
/ home / example / moodledataを変更します 以前に作成したmoodleデータディレクトリに移動します。私のは/var/ moodledata
になりますmoodleWebインターフェースにアクセス
この時点で、Webブラウザーを開き、yoursite.com/moodleにアクセスしてインストールを完了することができます。
Webブラウザで「www.cloudindevs.com/moodle」にアクセスすると次のようになります。
続行をクリックします 続行します。次のページで、プラグインの欠落に関するエラーが発生する可能性があります。下の画像の例をご覧ください。
問題を解決するには、[インストールして有効にする必要があります]をクリックします 指示に従って、必要な拡張機能をインストールします。必要な拡張機能をインストールした後、 sudo systemctl restart nginxを使用してNGINXを再起動します 次に、[サーバーチェック]ページをリロードして、エラーがなくなったかどうかを確認します。
エラーがなくなった場合は、続行をクリックしてください。 続行します。
Moodleメイン管理者アカウントを設定する
Moodleを正常にインストールすると、メインの管理者アカウントを設定するためのページが表示されます。ユーザー名、パスワード、その他の必要な情報を指定する必要があります。
また、サイト名、フロントページの概要、場所の設定などを構成するように求められます。完了したら、[変更を保存]をクリックします。 ページの下部にあります。
これでMoodleのインストールは終わりです。これが私の新しいMoodleウェブサイトの様子です。
結論
Covid-19のパンデミックが始まって以来、オンライン学習は多くの注目を集めています。それは事実です。多くの教育機関は、Moodleのようなオンライン学習管理システムを通じてeラーニングプラットフォームを作成しています。
このガイドでは、Ubuntu20.04にMoodleサーバーを最初から正常にインストールして構成しました。 Moodleウェブサイトの使用および管理方法の詳細については、公式のMoodleドキュメントを参照してください。