flagflag  
13: 2021-08-15 (Sun) 21:42:25 iseki source 14: 2021-08-29 (Sun) 18:02:15 iseki source
Line 57: Line 57:
- コンテナ内:/usr/local/bin/start.sh - コンテナ内:/usr/local/bin/start.sh
-- こいつの書き換えは必須! -- こいつの書き換えは必須!
-#br 
-* Moodle & JupyterHub 連携 [#t72c88ce] 
- 
-** 既存システム [#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/docker​spawner.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/SystemUse​rSpawner]]  [#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


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
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
Today

Who's Online

28 user(s) are online (3 user(s) are browsing xpwiki)

Members: 0
Guests: 28

more...

Access Counter

Today : 172172172
Yesterday : 5790579057905790
Total : 2365296823652968236529682365296823652968236529682365296823652968
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com