任意の言語のプログラミング演習をウェブブラウザで実施できる LMS である hugin-lms の解説ページです. 本システムは Blockly によるヴィジュアルプログラミングにも対応しています。 また、プログラミング演習のほか,自由記述形,ファイル提出,フォーム入力の課題を課すこともできます.
コンテンツはテキスト(Markdown or HTML + Scriban)で記述します,このシステム自体がGitのリモートリポジトリとしても振る舞い, GitHubのようにGitのコマンドでコンテンツの入手・更新ができます. また,ウェブからもコンテンツの編集が可能です.
そのほか,以下の機能を有しています:
デモサイトのユーザーアカウントとパスワード:
アカウント | パスワード |
---|---|
test001 | password |
test002 | password |
test003 | password |
自身の環境で動作を確認する方法を説明します.
以下に環境毎の操作手順を示します.
Dockerでインストールおよび起動完了後にデモを動かすための手順は YouTube で説明しています.
初期ユーザーのアカウントとパスワード:
アカウント | パスワード |
---|---|
admin | password |
test001 | password |
test002 | password |
test003 | password |
WSL2 + Docker Desktop の準備が必要です.
git clone https://github.com/kjmtks/hugin-lms.git
cd Hugin
make local-up
make コマンド実行後,しばらくしてから http://localhost:8080 にブラウザでアクセスしてください. ただし,Internet Explorerは対応していません.
make local-down
WSL2 + Docker Desktop の代わりに,Docker Desktop on Mac をインストールしていれば,上記 Windows と同じ手順で試用できます.
sudo
を実行できるユーザーで以下の手順に従い操作を行ってください.
wget https://kjmtks.github.io/hugin-page/res/environments-for-development.sh
入手した environments-for-development.sh
を適切に編集してください.
以下の環境変数は必ず自分の環境に合わせて記述してください:
# アプリケーションを公開するURL.ポート8080 を指定してください.末尾にスラッシュを書かないでください.
export APP_URL="http://your-host-name:8080"
# アプリケーションのシークレットキー.32文字以上必要です.
export APP_SECRET_KEY="your-secret-key(need-32-characters)"
# データベースのユーザー名.まだ存在しないユーザー名にしてください. hugin でかまいません.
export POSTGRES_USER="your-db-user-for-hugin"
# 上記ユーザーのパスワード.
export POSTGRES_PASSWORD="your-db-user-password-for-hugin"
curl https://kjmtks.github.io/hugin-page/res/installer-ubuntu20.04-development.sh | /bin/bash -
source environments-for-development.sh
cd hugin-lms/Hugin/out/
sudo -E dotnet Hugin.dll
Ctrl+C
で終了できます.
無料枠でも利用できる Ubuntu 20.04 Server のインスタンス上で,上記 Ubuntu 20.04 と同じ手順で試用できます.
メモリは2~4GB, ストレージは標準のもので十分です. 8080番ポートの開放が必要です.
開発者向けです.
Requirements:
git clone https://github.com/kjmtks/hugin-lms.git
cd Hugin/Hugin
npm install
Then, open Hugin.sln and run with docker-compose profile
実環境(https)での実行手順について説明します.
ドメイン,サーバー証明書(および必要であれば中間証明書)が必要となります.
最も推奨する方法です.
下記コマンドによりpfxファイルを生成します.
ただし,your.key
, your.crt
, your-ca.cer
はそれぞれ 鍵ファイル, サーバー証明書, 中間証明書とします:
openssl pkcs12 -export -out server.pfx -inkey your.key -in your.crt -certfile your-ca.cer
中間証明書がない場合は代わりに下記コマンドを実行してください:
openssl pkcs12 -export -out server.pfx -inkey your.key -in your.crt
wget https://kjmtks.github.io/hugin-page/res/environments-for-production.sh
入手した environments-for-production.sh
を適切に編集してください.
以下の環境変数は必ず自分の環境に合わせて記述してください:
# アプリケーションを公開するURL.末尾にスラッシュを書かないでください.
export APP_URL="https://your-host-name"
# アプリケーションのシークレットキー.32文字以上必要です.
export APP_SECRET_KEY="your-secret-key(need-32-characters)"
# データベースのユーザー名.まだ存在しないユーザー名にしてください. hugin でかまいません.
export POSTGRES_USER="your-db-user-for-hugin"
# 上記ユーザーのパスワード.
export POSTGRES_PASSWORD="your-db-user-password-for-hugin"
# 前節で作成した server.pfx へのパス
export ASPNETCORE_Kestrel__Certificates__Default__Path="path-to-your-pfx"
# server.pfx のパスワード
export ASPNETCORE_Kestrel__Certificates__Default__Password="password-for-pfx"
curl https://kjmtks.github.io/hugin-page/res/installer-ubuntu20.04-production.sh | /bin/bash -
source environments-for-production.sh
cd hugin-lms/Hugin/out/
sudo -E nohup dotnet Hugin.dll > /dev/null 2>&1 &
curl https://kjmtks.github.io/hugin-page/res/update-ubuntu20.04-production.sh | /bin/bash -
Docker Desktop on Mac が必要です.
git clone https://github.com/kjmtks/hugin-lms.git
cd Hugin
自分の環境に合わせて docker-compose.production.override.yml
ファイルを適切に編集してください.
make production-up
make production-down