Armoris日記 Canvas編

このブログは、3月までN高等学校に潜んでいた株式会社Armorisの社員が書いています。

あるもりすぶろぐの内容は個人の意見です。

Canvas LMSをお試し

現在CTFとは別に、今後DOJO内で動画コンテンツを提供したりトレーニング終了後にデジタルバッジの配布などを検討しており、これらが可能な学習用プラットフォームを探しています。

そこで今回はデジタルバッジに対応していることや、オープンソースのため手軽に使える、UI が比較的シンプルでわかりやすいという点から検討しているCanvas lmsを公式Quick Startを参考に構築してみました。

今回構築した環境

主なバージョン情報は以下の通りです。
また、今回はスクリプトを実行するだけで Docker を使用して自動でインストールできる Automated Setup ではなく Manual Setup の手順を参考にインストールしています。

Name Version
Ubuntu 20.04
Ruby 2.7.0
PostgreSQL 9.5

なぜ Automated Setup ではなく Manual Setup なのか

実際には Automated Setup で紹介されているスクリプトを使用してインストールを試みていました。
しかしスクリプト実行中にいくつもエラーが発生することや、最終的にスクリプトが最後まで実行されインストールできた場合でも、以下の画像のようにファイルアップロードの挙動がおかしかったり、サイトが壊れていたりとCanvasがうまく動作しない状態でした。 f:id:Armoris:20200721192913p:plain

また、今後実際に運用することが決まった場合は Docker ではなくサーバーに直接インストールすることになるため、おおよその手順と感覚をつかむために Manual Setup を使用しました。

Manual Setup でインストールしてみて

Manual Setup の手順を参考にインストールを進める際にも注意しなければいけないポイントがありました。それをいくつか紹介させていただきます。

1. 必ずまっさらな状態からインストールを行う

これはCanvasに限らず重要なことですが、一度他のものをインストールしたり作業した環境で構築しようとすると、バージョン違いによる干渉が起こったり別の作業で使用されたサービスが終了されておらず、意図した挙動にならない場合があります。

実際に Automated Setup で紹介されているスクリプトではインストール時にサーバー本体の DNS 設定を書き換えており、これによって名前解決ができなくなるなど他の作業に影響を及ぼしています。

以下の画像はスクリプト実行時の様子 f:id:Armoris:20200721200858p:plain

2. Dependency Installation でいくつかエラーが出る

これについては今回使用した環境が Ubuntu 20.04 だったこともありますが、実際には Rubyaptで入るもので問題ありませんでしたが、逆に postgresql はいくつか別の手順を踏むことでインストールできました。

3. サーバースペックは最低限記載されている程度は用意する

Quick Start にもディスク容量 150GB メモリ 8GB Quad Core CPU程度のスペックを用意してくださいと書いてあります。
実際にインストールするだけであればそこまでのディスク容量は必要ありませんが、メモリ容量とCPUは多めに割り当てておくといいと思います。 理由は主にcompile assets実行時の処理負荷軽減と待ち時間の短縮になるからです。

以下の画像はインストール後のディスク使用量 f:id:Armoris:20200721193328p:plain

最後に

今回に限らず公式のレファレンスが間違っていたりわかりにくいことは多くあります。そういう時に出ているエラーについて検索したり原因を突き止めたり、似ている症状から原因を見つける力というのも重要だと感じました。

また、自分がインストールする際に使ったコマンドや手順をメモとして残すことで、他の誰かが次に同じことをしようとした際のヒントになるかもしれませんし、一度自分で整理することで似たような問題に遭遇した際より早く問題を解決できるようになると思います。

今回のArmoris日記が誰かの役に立てば幸いです。