Moodleとは

オープンソースの学習管理システム(LMS)です。
BitnamiがDockerイメージを公開しているので、それを使って構築をしてみます。

https://hub.docker.com/r/bitnami/moodle external_link

構築

docker-composeで一発です。
以下の設定でデプロイしました。

version: '2' services: moodle_mariadb: image: 'docker.io/bitnami/mariadb:10.3-debian-10' environment: - ALLOW_EMPTY_PASSWORD=yes - MARIADB_USER=bn_moodle - MARIADB_DATABASE=bitnami_moodle volumes: - 'moodle_mariadb_data:/bitnami/mariadb' moodle: image: 'docker.io/bitnami/moodle:3.9.1-debian-10-r14' ports: - '8084:8080' - '8444:8443' environment: - MOODLE_DATABASE_HOST=moodle_mariadb - MOODLE_DATABASE_PORT_NUMBER=3306 - MOODLE_DATABASE_USER=bn_moodle - MOODLE_DATABASE_NAME=bitnami_moodle - ALLOW_EMPTY_PASSWORD=yes volumes: - 'moodle_data:/bitnami/moodle' - 'moodledata_data:/bitnami/moodledata' depends_on: - moodle_mariadb volumes: moodle_mariadb_data: driver: local moodle_data: driver: local moodledata_data: driver: local

mariadbのサービス名、バージョン指定、待受ポートだけ修正しました。

追加設定

アップロードサイズ制限の変更

デフォルト40MBで動画をアップするには少なすぎるので、上限を変更

  • dockerコマンドでmoodleにログイン
    # docker exec -it ******** /bin/bash
  • vimをインストール
    # install_packages vim
  • php.iniのupload_max_filesizepost_max_sizeを編集
    # cd /opt/bitnami/php/etc/ # vim php.ini upload_max_filesize = 4000M post_max_size = 4000M
  • Moodleを再起動
    # docker restart ********

サイトURLを変更

プライベート空間に構築し、外部からリバースプロキシでアクセスさせる際に、サイトURLを設定しないとアクセスできない。

  • dockerコマンドでmoodleにログイン
    # docker exec -it ******** /bin/bash
  • config.iniの$CFG->wwwrootを公開するURLに編集
    # cd /opt/bitnami/moodle # vim config.php if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { $CFG->wwwroot = 'https://hoge.classact.co.jp'; } else {
  • Moodleを再起動
    # docker restart ********

ActiveDirectory連携(LDAP)

WebUIの
サイト管理プラグイン認証LDAPサーバ
で適宜設定
(詳細は省略します)

スマホアプリのPush通知

  • Moodle App portal アカウントの作成
    下記サイトでアカウントを作る
    https://apps.moodle.com/local/apps/portal_index.php external_link
  • 指示に従ってサブスクリプションを進める
    Airnotifier access keyが発行されたり、それを構築したサイトの管理画面から登録したり・・いくつかステップを踏みます(少し手間取りました)

ちなみにFreeプランで50デバイスまで、Proプラン(年199€)で500デバイスまで、Premiumプラン(年499€)で無制限にPush通知できるようです。


あとは使って覚えろ、もしくはググって調べろ、でなんとかなると思います。

Moodle Workplaceという商用版もあります。
https://moodle.com/workplace/ external_link
独立したテナントを作って管理権限の移譲などが出来るようです。
ホスティングサービスをする場合や企業内で分離した管理をしたい場合などに良いかもしれません。