flagflag  If you want to see English page, please click "English" Button at Left.
13: 2021-08-15 (日) 21:42:25 iseki ソース 現: 2021-08-30 (月) 00:44:38 iseki ソース
Line 58: Line 58:
-- こいつの書き換えは必須! -- こいつの書き換えは必須!
#br #br
-* Moodle & JupyterHub 連携 [#t72c88ce] +*** [[Moodle+JupyterHub]] に統合 [#l139818b]
- +
-** 既存システム [#yb4a054d] +
- +
-*** [[Moodle]] [#y96f887e] +
-#br +
-*** [[Docker]] ([[CentOS8]]) [#o38fddf3] +
- (base) # dnf config-manager --add-repo https://download.docker.com/linux/centos​/docker-ce.repo +
- (base) # dnf -y install docker-ce docker-ce-cli containerd.io --nobest --allowerasing +
- (base) # systemctrl enable docker +
- (base) # systemctrl start docker +
- (base) # docker pull jupyterhub/singleuser +
- (base) # docker pull jupyter/datascience-notebook +
-#br +
- +
-*** [[Anaconda]] [#jb987bc7] +
-#br +
- +
-*** [[JupyterHub]]/[[DockerSpawner>JupyterHu​b/DockerSpawner]] [#z52a6900] +
- (base) # conda create -n jupyterhub python=3.8 -y +
- (base) # conda activate jupyterhub +
- (jupyterhub) # conda install -c conda-forge notebook -y +
- (jupyterhub) # conda install -c conda-forge jupyterlab -y +
- (jupyterhub) # conda install -c conda-forge jupyterhub==1.4.2  -y +
- (jupyterhub) # conda install -c conda-forge voila -y +
- (jupyterhub) # conda install jupyter_client -y +
- (jupyterhub) # pip --no-cache-dir install git+https://github.com/jupyterhub/dockerspaw​ner.git +
-- 作業ディレクトリ +
--- mkdir -p /var/lib/jupyterhub/ +
-- FireWall +
--- firewall-cmd --add-port 8000/tcp --permanent +
--- firewall-cmd --reload +
- +
-- vi jupyterhub_config.py +
--- IPアドレス,サーバ証明書,Dockerイメージの選択 +
-- 起動 +
--- conda activate jupyterhub +
--- jupyterhub -f jupyterhub_config.py +
-#br +
- +
-** 少し特殊なシステム [#e4866905] +
-***  [[SystemUserSpawner>JupyterHub/SystemUserSpawner]] [#m07110de] +
-- JupyterHub の DockerSpawner を継承. +
--- システムのユーザを使用可能. +
--- システムのユーザのホーム領域をマウント可能. +
- +
-- 2021 7/12 版(それ以降)推奨 +
-- https://github.com/jupyterhub/dockerspaw​ner/blob/master/dockerspawner/systemuser​spawner.py +
-- DockerSpawner のインストールで,一緒にインストールされる.(バージョンが古い場合は手動インストール) +
-#br +
- +
-**** [[altfiles>NSS]] [#n90bdca5] +
-- SystemUserSpawner 用の [[NSS]] を使用した システムのユーザ情報の入手方法([[LDAP]] を使用する手段もある) +
-- getent passwd と getent group で情報が取れるようになれば OK +
- +
- # git clone https://github.com/aperezdc/nss-altfiles​.git +
- # cd nss-altfiles/ +
- # ./configure --prefix=/usr --datadir=/usr/local/etc --with-type=pwd,grp +
- # make +
- # make install +
- # ln -s /usr/lib/libnss_altfiles.so.2 /usr/lib64/libnss_altfiles.so +
- # ldconfig +
- +
- # cd /usr/local/etc +
- # wget https://el.mml.tuis.ac.jp/system/passwd ​+
- # wget https://el.mml.tuis.ac.jp/system/group          (group は 必要な物だけ /etc/group を編集しても良い) +
- +
-- /etc/nsswitch.conf +
- passwd: files altfiles +
- group:  files altfiles +
-- ユーザアカウントの整合性を取る. +
-#br +
- +
-**** [[LTI>JupyterHub#m4467ad6]] [#g284e3bf] +
-- Moodle と連携する為の 認証モジュール +
-- pip install jupyterhub-ltiauthenticator +
-- cd ......./ltiauthenticator +
-- patch -p1 < ~/mdldockerspawner/ltiauthenticator-1.0.​0.path +
-#br +
- +
-**** cull_idle_servers.py [#n8a3f52c] +
-- 接続の切れた docker コンテナを削除 +
-- [[cull_idle_servers>JupyterHub/DockerSpa​wner#zc9428f7]] +
-- https://github.com/jupyterhub/jupyterhub​/tree/a6b7e303df03865d6420f6bccdf627b39f​1d0dc1/examples/cull-idle +
-- wget で DLして /usr/local/bin にコピー +
--- wget https://raw.githubusercontent.com/jupyte​rhub/jupyterhub/a6b7e303df03865d6420f6bc​cdf627b39f1d0dc1/examples/cull-idle/cull​_idle_servers.py +
-#br +
- +
-** 独自拡張 [#ma810a39] +
- +
-*** [[MSLDockerSpawner>JupyterHub/MDLDockerS​pawner]] [#k758b918] +
-- [[Moodle]] と [[JupyterHub]] の連携をとるための Spawner クラス. +
-- [[SystemUserSpawner>JupyterHub/SystemUse​rSpawner]] クラスを継承. +
-- 現時点(2021/08)では jupyterhub_config.py  の中で実装 +
-#br +
- +
-**** 機能 [#o44dc5d5] +
-- ユーザグループ機能の完全サポート +
-- Moodle からの LTI カスタムパラメータの受信して動作. +
-- start.sh による Jupyter Lab/Notebook コンテナの動作制御. +
--- 教師ユーザと学生ユーザの分離. +
--- ユーザ毎の Volume のマウント,及びアクセス権(教師と学生)の設定. +
---- 教材の配布と収集に便利 +
--- Volume への任意名でのアクセス. +
--- 起動イメージのリモート選択. +
--- 起動 URL(Lab/Notebook)のリモート選択. +
- +
-#br +
- +
-**** 起動 [#bdc8edbc] +
-- jupyterhub -f mdldockerspawner/jupyterhub_config.py +
-#br +
- +
-*** [[mod_mdlds]]  [#hbfc4f2f] +
-- MDLDockerSpawner サポート用 Moodleモジュール +
-#br +
-**** 機能 [#m538ed2a] +
-- LTI のカスタムパラメータ管理 +
-- Docker(リモート)のサポート +
--- Volume 管理(表示:削除) +
-- WebService +
--- feserver (feplg_nbws.so)からのデータを xmlrpc で受信し,データベースに格納 +
---データベースのデータ利用については検討中 +
-#br +
- +
-*** [[feserver]]  [#va0d030b] +
-- feserver フロントエンドサーバ(TCP中継サーバ) +
-- MITM 的動作を行う私的試験用ツール.(一応公開もしている) +
-- 各種モジュールを読み込むことにより,色々な通信データの処理が可能. +
-- コンパイルに [[JunkBox_Lib]] が必要 +
-#br +
- +
-**** feplg_nbws.so モジュール [#abc6a346] +
-- Moodle と JupyterHub の中間に於いて,通信情報を収集して Moodle に返すためのモジュール +
-- JupyterHub から見ると,リバースプロキシのように見える. +
-- 機能 +
--- WebSocket 通信の解析. +
--- HTTP通信の解析. +
--- Cookie の挿入. +
--- Moodle への xmlrpc 通信. +
- +
-- 起動例 +
---  ./fesvr -h 172.22.1.75:8000 -p 9000 -m ./feplg_nbws.so -c -s --conf ./nbsw.conf+
#br #br


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

60 人のユーザが現在オンラインです。 (27 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 60

もっと...

アクセスカウンタ

今日 : 1882188218821882
昨日 : 8048804880488048
総計 : 2367144323671443236714432367144323671443236714432367144323671443
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com