GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にNginxを使用してMoodle学習プラットフォームをインストールする方法

Moodle は、堅牢なオンライン学習サイトを構築するための世界で最も人気のある学習管理システムです。さまざまなアクティビティと教育ツールから選択でき、評価管理をサポートし、カスタム証明書が付属しています。また、強力なビデオ会議ツールを使用して、学生とリアルタイムでコミュニケーションをとることができます。さらに、モバイル対応であるため、生徒はモバイルデバイスから学ぶことができます。

関連記事 :UbuntuにMoodle学習プラットフォームをインストールする方法

Moodleサーバーの要件

  • オペレーティングシステム :LEMPスタックがインストールされたCentOS8またはRHEL8サーバーの最小限のインストール。
  • ディスクスペース :Moodleの場合は200MB、5GBはおそらくコンテンツを保存するための現実的な最小値です。
  • プロセッサ :1GHz(最小)、2GHzデュアルコア以上を推奨。
  • メモリ :512MB(分)、1GB以上を推奨します。 8GB以上は、大規模な本番サーバーで使用される可能性があります。

このページについて

  • MoodleウェブサイトのドメインDNSレコードの作成
  • CentOS8サーバーへのMoodle学習プラットフォームのインストール
  • Moodleウェブサイトを提供するためのNGINXの設定
  • WebインストーラーによるMoodleのインストールを完了する
  • Let’sEncryptを使用してMoodleサイトでHTTPSを有効にする

MoodleウェブサイトのドメインDNSレコードの作成

1。 ユーザーがMoodleにアクセスするために使用するサブドメインを作成することから始めます オンライン学習サイト。たとえば、ドメイン名がtestprojects.meの場合 、learning.testprojects.meというサブドメインを作成できます 。

ドメイン名の高度なDNSを開きます 設定を行い、Aを追加します 次の画像に示すように記録します。

CentOS8サーバーへのMoodleのインストール

2。 Moodleをインストールする前に 、サーバーに必要なPHP拡張機能があることを確認してください。次のコマンドを実行して、それらをインストールできます。

# dnf 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 -u root -p

次に、データベース、データベースユーザーを作成し、使用するための安全なパスワードを作成します。

MariaDB [(none)]> CREATE DATABASE moodledb;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodledb.* TO 'moodleadmin'@'localhost' IDENTIFIED BY '[email protected]';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

4。 今すぐMoodleの最新バージョンをダウンロードしてください ( 3.9 執筆時点で)公式のmoodleプロジェクトWebサイトから、アーカイブファイルを抽出してWebルート(/var/www/html/)に移動します。 )ディレクトリ、次に適切な権限と所有権を設定して、WebサーバーがMoodleディレクトリにアクセスできるようにします。

# wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
# tar -xzvf  moodle-latest-39.tgz
# mv moodle /var/www/html/
# chmod 775 -R /var/www/html/moodle
# chown nginx:nginx -R /var/www/html/moodle

5。 次に、 moodledataを作成します Moodleによってアップロードまたは作成されたファイルの場所であるディレクトリ インターフェイスにアクセスし、適切な権限と所有権を割り当てて、ウェブサーバーに読み取りと書き込みのアクセスを許可します。

# mkdir -p /var/www/html/moodledata
# chmod 770 -R /var/www/html/moodledata
# chown :nginx -R /var/www/html/moodledata

6。 次に、 Moodleに移動します インストールディレクトリを作成し、config.phpを作成します サンプルのconfig.dist.phpからのファイル 提供されたファイルを開いて編集し、 Moodleのいくつかの重要な設定を構成します データベース接続パラメータやサイトの場所、moodledataディレクトリを見つけることができる場所などのプラットフォーム:

# cd /var/www/html/moodle/
# cp config-dist.php config.php
# vim config.php

正しいデータベースタイプ、正しいデータベースホスト、データベース名、データベースユーザー、およびユーザーのパスワードを設定します。

$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    = 'moodledb';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = '[email protected]zzwd0L2';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

7。 Moodleへのアクセスに使用するURLも設定します 座る、これは wwwrootの場所を指定します Moodleウェブファイルが置かれている場所、および dataroot (moodledataディレクトリ):

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/www/html/moodledata';

Moodleウェブサイトを提供するためのNGINXの設定

8。 このセクションでは、 NGINXを構成する必要があります Moodleを提供する 応用。図のように、NGINX構成でサーバーブロックを作成する必要があります。

# vim /etc/nginx/conf.d/moodle.conf

次の構成をコピーして、サーバーブロック構成ファイルに貼り付けます。 サーバー名を置き換えます サブドメイン名 上で作成し、 fastcgi_pass php-fpmを指す必要があります ( CentOS 8では注意してください 、 PHP-FPM FastCGIを受け入れます /etc/nginx/conf.d/php-fpm.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            php-fpm;
        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を再起動します およびphp-fpm 最近の変更を適用するサービス:

# nginx -t
# systemctl restart nginx
# systemctl restart php-fpm

10。 SELinuxをお持ちの場合 システムで有効になっている場合は、次のコマンドを実行して、 Moodleにアクセスするための正しいコンテキストを設定します サーバー上のWebファイル:

# setsebool -P httpd_can_network_connect on
# chcon -R --type httpd_sys_rw_content_t /var/www/html

11。 さらに、 HTTP およびHTTPS NGINX へのトラフィックを許可するために、ファイアウォールでサービスが開かれています Webサーバー:

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

WebインストーラーによるMoodleの完全なインストール

12。 Moodleにアクセスするには Webインストーラー、Webブラウザーを開き、サブドメインを使用してナビゲートします 上で作成したもの:

http://learning.testprojects.me

ウェルカムページが読み込まれたら、利用規約を読み、続行をクリックします。 。

13。 次に、Webインストーラーは、システムが Moodleを実行するための要件を満たしているかどうかを確認します。 指定されたバージョンのサイト。下にスクロールして詳細を表示できます。

14。 インストーラーはHTTPSについて文句を言います 有効になっていない場合は、そのエラーを今のところ無視して(次のセクションでは、MoodleでHTTPSを有効にする方法を示します)、続行をクリックします。 、Webファイルの実際のインストールを開始します。

15。 これで、インストーラーは Moodleの実際のインストールを開始します 次のスクリーンショットに示すようなファイル。完了したら、[続行]をクリックします 。

16。 次のステップでは、 Moodleを更新する必要があります ユーザー名、パスワード、名、名前、メールアドレスを更新してサイトの管理者アカウントを作成します。次に、ページを下にスクロールして、[プロファイルの更新]をクリックします 。

17。 次に、Moodleサイトのフロントページ設定を更新します。次に、下にスクロールして[更新]をクリックします Moodleサイトの使用を開始します。

18。 次に、画面の指示に従ってサイトを登録する必要があります。ダッシュボードをクリックすると、ダッシュボードに移動できます。

Let'sEncryptを使用してMoodleサイトにHTTPSを設定する

HTTPS ユーザーとMoodleの間の安全な通信を可能にするために、サイトにセキュリティの第1層を追加します アプリケーション(特に NGINX リクエストを受信して​​レスポンスを配信するウェブサーバー。

商用CAからSSL/TLS証明書を購入するか、 Let’s Encryptを使用できます。 これは無料で、すべての最新のWebブラウザで認識されます。このガイドでは、 Let’s Encryptを使用します 。

19。 暗号化しましょう 証明書の展開は、 certbotを使用して自動的に管理されます 道具。 certbotをインストールできます およびその他の必要なパッケージを次のコマンドで実行します:

# dnf install certbot python3-certbot-nginx

20。 次に、次のコマンドを実行して、 Let’s Encryptを取得します。 証明書を取得し、Certbotに NGINXを編集してもらいます 自動的に構成して提供します( HTTP も構成します) HTTPSに自動的にリダイレクトされます 。

# certbot --nginx

21。 次に、次のコマンドを実行して、 SSL/TLSを暗号化しようの自動更新を有効にします。 証明書:

# echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

22。 次に、Moodle設定を更新して HTTPSの使用を開始します 。

# vim /var/www/html/moodle/config.php

wwwrootを変更します HTTPからのURL HTTPS

$CFG->wwwroot   = 'https://learning.testprojects.me';

23。 最後になりましたが、 Moodleを確認してください サイトは現在、 HTTPSで実行されています 。

今のところ以上です!新しい学習プラットフォームを実行するための詳細および構成オプションについては、MoodleのWebサイトにアクセスし、公式ドキュメントをお読みください。


Cent OS
  1. CentOS7にNginxを使用してWordPressをインストールする方法

  2. CentOS 7 /RHEL7にNginxを使用してphpMyAdminをインストールする方法

  3. CentOS7にSitemagicCMSをインストールする方法–Nginxを使用

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS7にRTMPモジュールを使用してNginxをインストールする方法

  3. CentOS8にNginxとPHP7.3でNextcloudをインストールする方法

  1. CentOS7にNginxとMariaDBを使用してownCloud9.1をインストールする方法

  2. CentOS7にNginxとPHP7-FPMを使用してNextcloudをインストールする方法

  3. CentOS7にNginxを使用してLibreNMS監視ツールをインストールする方法