CentOS 7にMoodle 3.3.xをインストールする方法

Moodleは、オープンソースのラーニングプラットフォームまたはコース管理システム(CMS)-教育者が効果的なオンラインコースを作成できるように設計された無料のオープンソースソフトウェアパッケージです。

このチュートリアルでは、Moodleの最新の安定リリースであるMoodle 3.3.2+をCentOS 7サーバーにインストールするプロセスについて説明します。

前提条件

  • 少なくとも2GBのRAM(4GB以上を推奨)を備えたCentOS 7 x64サーバーインスタンス。
  • sudoのユーザー
  • EPEL yumリポジトリー。

ステップ1:システムを更新する

sudoユーザーを使用してSSH経由でサーバーにログインし、をインストールしepelてシステムを更新し、再起動して更新を適用します。

sudo yum install epel-release -y
sudo yum update -y && sudo shutdown -r now

ステップ2:Apache 2.4.xをインストールする

sudo yum install httpd -y

本番環境では、事前設定されたApacheウェルカムページを削除する必要があります。

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

ApacheがWebディレクトリファイルを訪問者にリストしないようにします。

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Apacheサービスを起動し、起動時に自動起動できるようにし���す

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

ステップ3:MariaDB 10.2.xをインストールする

MoodleはすべてのデータをMySQLデータベースに保存します。MariaDBはMySQLのドロップイン置換であり、最新の安定したバージョンであるMariaDB 10.2.xをインストールします。

3.1 MariaDB 10.2.xをインストールして起動する
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.2 MariaDBのインストールを保護する
sudo /usr/bin/mysql_secure_installation

以下の質問に答えて、下に表示されているサンプルパスワードの代わりに、強力なMariaDBルートパスワードを使用してください。

  • ルートの現在のパスワードを入力(なしで入力):Enterボタンを押すだけ
  • rootパスワードを設定しますか?[はい/いいえ]:Y
  • 新しいパスワード: your-root-password
  • 新しいパスワードを再入力してください: your-root-password
  • 匿名ユーザーを削除しますか?[はい/いいえ]:Y
  • リモートでrootログインを禁止しますか?[はい/いいえ]:Y
  • テストデータベースを削除してアクセスしますか?[はい/いいえ]:Y
  • 特権テーブルをリロードしますか?[はい/いいえ]:Y
3.3 Moodle用のMariaDBデータベースを作成します

MySQLシェルに次のようにログインしますroot

mysql -u root -p

プロンプトが表���され���ら、前に設定したMariaDBルートパスワードを入力します。

MySQLシェルで、次のようにデータベースmoodle、データベースユーザーmoodleuser、データベースユーザーのパスワードyourpasswordを作成します。

注:セキュリティ上の理由から、yourpassword上記のサンプルパスワードを独自のパスワードに置き換える必要があります。

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

ステップ4:PHP 7.1と必要なPHP 7.1拡張機能をインストールする

MoodleではPHPも必要です。パフォーマンスを向上させるために、次のようにPHP 7.1といくつかのPHP 7.1拡張機能をインストールできます。

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-mbstring php71w-xmlrpc php71w-soap php71w-gd php71w-xml php71w-intl php71w-mysqlnd php71w-cli php71w-mcrypt php71w-ldap -y

ステップ5:Moodle 3.3.2+をインストールします

5.1 Moodleプログラムファイルを準備します

執筆時点では、Moodleの最新の安定版リリースはですMoodle 3.3.2+Moodle 3.3.2+次のようにアーカイブをダウンロードして解凍します。

注:Moodleの最新の安定版リリースのダウンロードURLは、公式ダウンロードページからいつでも入手できます

cd
yum install -y wget
wget https://download.moodle.org/download.php/direct/stable33/moodle-latest-33.tgz
sudo tar -zxvf moodle-latest-33.tgz -C /var/www/html
sudo chown -R root:root /var/www/html/moodle
5.2 Moodle専用のデータディレクトリをセットアップします

セキュリティ上の理由から、このデータディレクトリはWebルートディレクトリの外部にある必要があります。

sudo mkdir /var/moodledata
sudo chown -R apache:apache /var/moodledata
sudo chmod -R 755 /var/moodledata
5.3 Moodleの仮想ホストをセットアップする

注意:の値を置き換えることを忘れないでくださいServerAdminServerNameServerAliasErrorlog、そしてCustomLogあなた自身のものに。

cat <<EOF | sudo tee -a /etc/httpd/conf.d/moodle.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/moodle/
ServerName moodle.example.com
ServerAlias www.moodle.example.com
<Directory /var/www/html/moodle/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/moodle.example.com-error_log
CustomLog /var/log/httpd/moodle.example.com-access_log common
</VirtualHost>
EOF
5.4 SELinuxのセットアップ

私が使用しているVultr CentOS 7サーバーインスタンスでは、SELinuxはデフォルトで無効になっています。おそらく安全性は低くなりますが、セキュリティポリシーは簡単になります。同じ状態にあり、その状態を維持したい場合は、このセクションの指示を無視して、次のセクションに進んでください。

強制モードでSELinuxが有効になっているサーバーインスタンスを使用している場合は、次のようにSELinuxを設定する必要があります。

SELinuxのステータスを表示します。

sestatus

新しいCentOS 7 Minimal x64 1708サーバーインスタンスでは、出力は次のようになります。

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

必要なSELinux管理ツールをインストールします。

sudo yum install -y policycoreutils policycoreutils-python 

MoodleファイルのSELinuxコンテキストを以下のようにセットアップします:

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/moodle(/.*)?'
sudo restorecon -Rv '/var/www/html/moodle/'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/moodledata(/.*)?'
sudo restorecon -Rv '/var/moodledata/'
5.5 CLIからMoodleをインストールする
sudo /usr/bin/php /var/www/html/moodle/admin/cli/install.php

プロンプトが表示されたら、セットアップの特定の設定に従って必要な情報を入力します。要約情報は以下のとおりです。

== Choose a language ==
en - English (en)
? - Available language packs
type value, press Enter to use default value (en)
: en
-------------------------------------------------------------------------------
== Data directories permission ==
type value, press Enter to use default value (2777)
: 2777
-------------------------------------------------------------------------------
== Web address ==
type value
: http://203.0.113.1
-------------------------------------------------------------------------------
== Data directory ==
type value, press Enter to use default value (/var/www/html/moodledata)
: /var/moodledata
-------------------------------------------------------------------------------
== Choose database driver ==
 mysqli
 mariadb
type value, press Enter to use default value (mysqli)
: mariadb
-------------------------------------------------------------------------------
== Database host ==
type value, press Enter to use default value (localhost)
: localhost
-------------------------------------------------------------------------------
== Database name ==
type value, press Enter to use default value (moodle)
: moodle
-------------------------------------------------------------------------------
== Tables prefix ==
type value, press Enter to use default value (mdl_)
: mdl_
-------------------------------------------------------------------------------
== Database port ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Unix socket ==
type value, press Enter to use default value ()
:
-------------------------------------------------------------------------------
== Database user ==
type value, press Enter to use default value (root)
: moodleuser
-------------------------------------------------------------------------------
== Database password ==
type value
: yourpassword
-------------------------------------------------------------------------------
== Full site name ==
type value
: My Moodle Site
-------------------------------------------------------------------------------
== Short name for site (eg single word) ==
type value
: moodle
-------------------------------------------------------------------------------
== Admin account username ==
type value, press Enter to use default value (admin)
: admin
-------------------------------------------------------------------------------
== New admin user password ==
type value
: your-admin-password
-------------------------------------------------------------------------------
== New admin user email address ==
type value, press Enter to use default value ()
: [email protected]
-------------------------------------------------------------------------------
== Upgrade key (leave empty to not set it) ==
type value
:
-------------------------------------------------------------------------------
Have you read these conditions and understood them?
type y (means yes) or n (means no)
: y
5.6権限を変更する /var/www/html/config.php

Moodleが正常にインストールされたら、以下のようにapache権限を変更することにより、ユーザーにMoodle構成の読み取りを許可する必要があり/var/www/html/config.phpます:

sudo chmod o+r /var/www/html/moodle/config.php
5.7 cronジョブのセットアップ

さらに、Moodleを正しく実行し続けるために、cronジョブをセットアップする必要があります:

sudo crontab -u apache -e

cronファイルに以下を入力します。

* * * * *    /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null

保存して終了:

:wq!
5.8 Apacheを再起動する

すべての変更を適用するためにApacheを再起動します。

sudo systemctl restart httpd.service
5.9 HTTPアクセスを許可するためにファイアウォールルールを変更する
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

最後に、ウェブブラウザでhttp://203.0.113.1Moodleウェブサイトにアクセスするように指定します。先に設定した管理者のユーザー名とパスワードを使用してログインします。

これでチュートリアルは終了です。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。