VirtualBoxでADサーバの勉強をしてみる。第3回 Moodleサーバ構築編

前書き

Ubuntu 24.04をMoodleサーバにして、ADとの連携まで行う。

いろいろインストール

ApacheMySQLPHPをインストール

Ubuntuにログインし、以下コマンドを実行する。
sudo apt install apache2 mysql-client mysql-server php libapache2-mod-php

PHPのモジュールをインストール

以下コマンドを実行しPHPのモジュールをインストールする。
sudo apt install graphviz aspell ghostscript clamav php8.3-pspell php8.3-curl php8.3-gd php8.3-intl php8.3-mysql php8.3-xml php8.3-xmlrpc php8.3-ldap php8.3-zip php8.3-soap php8.3-mbstring
終わったらApache2を再起動する。
sudo service apache2 restart

Moodleをダウンロード

まずは下記コマンドでGitをインストールする。
sudo apt install git
Gitがインストールできたら下記コマンドを順に実行していき、Apache2用のフォルダにMoodleを格納するところまで行う。
cd /opt
sudo git clone git://git.moodle.org/moodle.git
cd moodle
sudo git branch -a
sudo git branch –track MOODLE_405_STABLE origin/MOODLE_405_STABLE
sudo git checkout MOODLE_405_STABLE
sudo cp -R /opt/moodle /var/www/html
sudo mkdir /var/moodledata
sudo chmod -R 777 /var/moodledata
sudo chmod -R 0755 /var/www/html/moodle

MySQLをセットアップ

MySQLの設定ファイル(/etc/mysql/mysql.conf.d/mysqld.cnf)の[mysqld]セクション最下部に、以下を追記する。
default_storage_engine = innodb
innodb_file_per_table = 1
以下コマンドでMySQLを再起動する。
sudo service mysql restart
MySQLを起動し、Moodle用のDBとかユーザとか作る。
sudo mysql -u root -p
**Ubuntuにログインしたユーザのパスワードを入力**
MySQLが起動したら以下SQLを実行
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘moodledude’@’localhost’ IDENTIFIED BY ‘passwordformoodledude’;
GRANT ALL ON moodle.* TO ‘moodledude’@’localhost’ WITH GRANT OPTION;
quit;で終了。

Moodleをセットアップ

Moodle自身で設定ファイルを作れるよう、以下コマンドを打っておく。
sudo chmod -R 777 /var/www/html/moodle
適当なマシンのブラウザから以下のURLにアクセス。
http://192.168.176.4/moodle
Moodleにアクセスできたらセットアップ画面が表示されるので、画面に従って設定を進める。MySQLの設定では、先ほど設定した内容に合わせたものを入力する。 本手順の内容をそのまま実施していたら下図の感じになる。

「max_input_varsは5000以上です!」みたいなメッセージがでたら、php.iniを編集してmax_input_varsを5000以上にする。
自分の場合は「/etc/php/8.3/apache2/php.ini」にあった。(apache2が使うPHPの設定ファイルはここっぽい?)
管理者ユーザの名前とかタイムゾーンとかサイト名とかお好みで入力して完了。

ActiveDirectoryと連携

ADサーバの操作

Windows FirewallTCP接続を許可する。 コンパネ等からWindows Firewallの設定画面へ遷移し、「受信の規則」に新しい規則を追加する。(プロトコルTCP、ポート番号は389)

Moodleの管理者用ユーザを作成するため「Active Directoryユーザーとコンピューター」で「Users」を右クリック、「新規作成」→「ユーザー」を選択する。

以下の通りユーザーを作成する。パスワードはP@ssword01にした。

LDAPにアクセスするアカウントを作成するため、先ほどと同じ要領で以下ユーザを作成する。パスワードはP@ssword01にした。

Moodle用のSG(管理者用と講座作成者用)を作成するため「Active Directoryユーザーとコンピューター」で「Users」を右クリック、「新規作成」→「グループ」を選択する。以下2つのグループを作る。

Moodleの設定

適当なマシンのブラウザで以下にアクセス、管理者アカウントでログインする。
http://192.168.176.4/moodle
「サイト管理」タブで「プラグイン」→「認証」→「認証の管理」を選択。

LDAPサーバ」行の「設定」を選択。「LDAPサーバ設定」-「ホストURL」にドメコンIPアドレスを入力。

「バインド設定」にさっき作ったLDAPアクセス用のユーザのDNとパスワードを入力。

ユーザルックアップ設定にいろいろ入力する。


システムロールマッピングMoodle用に作ったSGを設定する。

データマッピングはメアドまで設定し、そこから下はデフォルトのまま。

ドメインユーザでのログインは、ユーザログオン名でできる。 任意のユーザでログインできることを確認し今回は終。(SGは使ってないけど。。。)