2020/08/30 Moodle構築
Moodleとは
オンラインで授業等を行うためのオープンソースの学習支援システム。
https://gyazo.com/42d6ceadbc19f95c5be0fe983afedcb7
要件
MoodleはLAMP環境が必要になる。
まずは公式サイトで確認。
Moodleの最新バージョンは3.9.1
Moodle 3.9.1+ (STABLE)
要件
PHP7.2以降 (7.3.x , 7.4.x もサポート)
MySQL5.6以降, MariaDB10.2.29以降, Postgres9.5以降
Apache2.4
PHP
拡張モジュール
必須
iconv
curl
ctype
zip
simplexml
spl
pcre
dom
xml
json
mysqlnd
mbstring
推奨
openssl
tokenizer
xmlrpc
soap
gd
intl
php.ini
memory_limit
最低でも96Mは必要。 128Mがおすすめ
session.save_handler
FILESに設定
file_uploads
オンに設定
session.auto_start
オフに設定
tempフォルダはWebサーバのユーザ権限で書き込み可能に設定する
post_max_size , upload_max_filesize を正しく設定
[mail function]を正しく設定する
MySQL
UTF-8をサポートさせる。
SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format'、 'innodb_large_prefix'、 'innodb_file_per_table');
このコマンドを入力し、現在の状況を確認する。
innodb_file_format : Barracuda
innodb_file_per_table : ON
innodb_large_prefix : ON
もしくは
innodb_file_format :
innodb_file_per_table : ON
innodb_large_prefix :
の場合は問題ない。
もし、これらに設定されていない場合は、コンフィグを編集する。
code:/etc/my.conf
default-character-set = utf8mb4
innodb_file_format = Barracuda # Do not set if blank
innodb_file_per_table = 1
innodb_large_prefix = 1 # Do not set if blank
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
default-character-set = utf8mb4
プロセスの再起動
systemctl restart mysqld
もう一度設定を確認する。
環境
以上の要件から今回は
OS: CentOS7
DB: MySQL 5.7.31
PHP: PHP7.3
WeB:Apache2.4
で構築する。
構築
Apache
インストール
yum install httpd
MySQL
rpmのインストール
yum localinstall h ttps://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
/etc/yum.repo.d/にmysql-community-source.repo mysql-community.repoが追加されている。
mysql-community.repoを編集し、5.7系のenabledを1に。8.0系を0に編集する。
yum install mysql-community-server
次にコンフィグファイルを編集する。
code:/etc/my.conf
innodb_file_format = Barracuda # Do not set if blank
innodb_file_per_table = 1
innodb_large_prefix = 1 # Do not set if blank
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
default-character-set = utf8mb4
足りない部分を入力する。
起動と自動起動設定
systemctl enable --now mysqld
初期セキュリティ設定
mysql_secure_installation
MySQLにログイン
mysql -u root -p
password: <pass>
状態確認
SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format'、 'innodb_large_prefix'、 'innodb_file_per_table');
それぞれ、問題なければデータベースの作成
データベース作成
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ユーザーの作成
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost' IDENTIFIED BY '<password>';
PHP
リポジトリの追加
sudo yum install h ttp://rpms.famillecollet.com/enterprise/remi-release-7.rpm
PHP7.3のインストール
yum install php73
拡張モジュールインストール
yum install --enablerepo=remi,remi-php73 php php-mbstring php-iconv php-curl php-ctype php-zip php-simplexml php-spl php-pcre php-dom php-xml php-json php-mysqlnd php-openssl php-tokenizer php-xmlrpc php-soap php-gd php-intl
データディレクトリの作成
Moodleファイルを保持するための空のディレクトリを作成(空ならどこでもよい)
mkdir /usr/moodle-data
権限の設定
Webサーバユーザから読める状態にする必要がある。
chown apache:apache /usr/moodle-data
Moodleのダウンロード
公式のページからリンクを取得
curl -O h ttps://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
解凍
tar -zvfz moodle-latest-39.tgz
解凍するとmoodleディレクトリが出てくる。
moodleディレクトリをドキュメントルートに移動
mv moodle /var/www/html/
次に、Moodleの設定を変更する。
ブラウザからアクセスする。
最初に言語設定日本語を選択する。
https://gyazo.com/974734c95cc27cba3cb3f26434aab285
次にデータディレクトリを入力する。
データディレクトリは先ほど作成したディレクトリ。
https://gyazo.com/e6686bad3bfa70af5d94a85d5bff4851
MySQLを利用するため、そのまま次へ
https://gyazo.com/d90ef9f22157f83f58434c164323ea8d
データベースの接続情報を入力する。
先程作成したユーザ、データベースを入力
https://gyazo.com/c9f96c811d523e641e5163ce88aa6f40
失敗してしまった…
内容を見ると、書き込み権限が云々。
Webサーバ権限でWriteが許可されていないのが理由。
持ち主をWebサーバに。
chown -R apache:apache /var/www/html/moodle
https://gyazo.com/ddd5622ac2afcb52e630e86bbb5b70cf
著作権。続ける。
https://gyazo.com/c2e94f9807636572419bbe73fbdee163
チェックが出てきた。
詳細を見ると、phpのopcacheで注意が出ている。
そこで、opcacheをインストール
apacheの再起動
yum install --enablerepo=remi,remi-php73 php-opcache
systemctl restart httpd
https://gyazo.com/dc227c86613d914ea5fc1bd6a3df7336
エラーが消えた。
最後にHTTPSにしろと注意喚起されている。
本来は行うが、今回は省略。
https://gyazo.com/ebb798d174284c7cc4f18aff6f3d95bf
https://gyazo.com/8e66c9890e43def30670b4c6facc0f2b
続けるを入力すると、インストールが開始する。
少し待つと、
https://gyazo.com/f41a3449f5a2da2774e121b9cbebc073
https://gyazo.com/7a6a6765dcfd38f17bf66bd6f73f3338
長い成功が現れる。
続ける。
次に設定
https://gyazo.com/db4d6a6b7b4f42337c6d75770fe6f668
情報を入力してプロファイルを更新する。
https://gyazo.com/961051fbcfdcc85cd1323d25365f62e2
設定し、次へ進むと。。。
https://gyazo.com/8ddfb1db4f8a4568b153c25bcf1f638f
なんだか見たことあるページに。
ここから先
https://gyazo.com/1285667b9d30448c87bf3875c4a718a7
メールの設定、サイトの設定等は、サイト管理ページから行う。