flagflag  
Page Top

機能 anchor.png

  • JupyterHub から通知を受けて動作する通信経路制御のための ltictr_api_server と,実際に通信を中継して WebSocketデータを解析する ltictr_proxy_server から成る.
  • 通常は ltictr_proxy_server からチャイルドプロセスとして ltictr_api_server が起動される.
    • ltictr_proxy_serverltictr_api_server はそれぞれ独立に起動することも可能.
  • ltictr_proxy_server は単体で普通のWeb用リバースプロキシサーバとしても使用可能.
  • 機能詳細
    • JupyterHub の通信経路制御に対応
    • 通信の中継
    • WebSocket 通信の解析.
      • ユーザの学習状況に関するデータを収集
    • HTTP(S)通信の解析.
    • Cookie の挿入.(Moodle のコース識別を行うため)
    • 収集したデータを Moodle へXML-RPC 通信で渡す.(MoodleのWebサービスを使用)
Page Top

コマンド引数 anchor.png

Page Top
ltictr_proxy_server anchor.png
Usage... %s -p client_side_port [-c] [-h host_url[:port]] [-a [api_url:]port] [-u user] [-d] 
                     [--noexecapi] [--chunked] [--conf config_file] 
                     [--cert cert_file] [--key key_file] [--pid pid_file]
  • -p : Webブラウザの通信を受けるローカルサーバポート番号.必須.
  • -c : Webブラウザに対してSSL/TLS接続になる.
  • -h : WWWサーバを明示的に指定するためのURL.ltictr_api_server を使用する場合は省略可.
  • -a : ltictr_api_server を指定するためのURL.ポート番号のみの場合,URL部分は http://127.0.0.1 となる.
  • -u : 実効ユーザ名.
  • -d : デバッグモード.
  • -n, --noexecapi : ltictr_api_server を起動しない.
  • --chunked : chunkデータをchunkデータとして扱う.通常動作では chunkデータは,一旦全部受信されてから転送される.
  • --conf : 設定ファイルを指定する(コマンドラインと競合する場合は,設定ファイル優先
  • --cert : -c を指定した場合のサーバ証明書:PEM形式.設定ファイル内でも指定可能.
    • デフォルトは /etc/pki/tls/certs/server.pem
  • --key : -c を指定した場合のサーバの秘密鍵:PEM形式.設定ファイル内でも指定可能.
    • デフォルトは /etc/pki/tls/private/key.pem
  • --pid : pid ファイルを指定する.
    • デフォルトは /var/run/ltictr_proxy.pid
Page Top
ltictr_api_server anchor.png
Usage... %s -a [api_url:]port [-u user] [-d] 
              [--conf config_file] [--cert cert_file] [--key key_file] [--apid pid_file] 
  • -a : サーバポートのURL.必須.FQDNの部分は無視する.TLS通信を行う場合は https://8001 のように記述する.
  • -u : 実効ユーザ名.
  • -d : デバッグモード.
  • --conf : 設定ファイルを指定する(コマンドラインと競合する場合は,設定ファイル優先
  • --cert : -c を指定した場合のサーバ証明書:PEM形式.設定ファイル内でも指定可能.
    • デフォルトは /etc/pki/tls/certs/server.pem
  • --key : -c を指定した場合のサーバの秘密鍵:PEM形式.設定ファイル内でも指定可能.
    • デフォルトは /etc/pki/tls/private/key.pem
  • --pid : pid ファイルを指定する.
    • デフォルトは /var/run/ltictr_proxy.pid
Page Top

起動 anchor.png

Page Top

systemd を使用する. anchor.png

# vi /usr/local/etc/ltictr_proxy.conf
# vi /usr/lib/systemd/system/ltictr_proxy.service
# systemctl enable ltictr_proxy.service
# systemctl start  ltictr_proxy.service
Page Top

手動起動 anchor.png

Page Top
1. 通常の起動 anchor.png
# ltictr_proxy_server -p 8100 -c -a 8001 --conf /usr/local/etc/ltictr_proxy.conf
# jupyterhub -f jupyterhub_XXX_config.py
Page Top
2. ltictr_api_server と ltictr_proxy_server を別々に起動する場合 anchor.png
# ltictr_api_server -a 8001 --conf ./ltictr_proxy.conf
# ltictr_proxy_server -p 8100 -c -a 8001 -n --conf /usr/local/etc/ltictr_proxy.conf
# jupyterhub -f jupyterhub_XXX_config.py
Page Top
3. configarable-http-proxy と併用する場合.または通常の Webリバースプロキシとして使用する場合 anchor.png
# ltictr_proxy_server -p 8100 -c -n -h http://202.26.150.55:8000 --conf /usr/local/etc/ltictr_proxy.conf
# jupyterhub -f jupyterhub_XXX_config.py
Page Top

設定 anchor.png

Page Top

JupyterHub の設定 anchor.png

  • 上記 手動起動 で,1, 2の場合,JupyterHubで自動的に configurable-http-proxy が起動しないようにしなければならない.
  • JupyterHub の設定ファイル(jupyterhub_XXX_config.py)
    c.JupyterHub.cleanup_proxy = False
    c.ConfigurableHTTPProxy.should_start = False
    c.ConfigurableHTTPProxy.api_url = 'http://localhost:8001'
    c.ConfigurableHTTPProxy.auth_token = "ABCDEFG"     # 任意の文字例.下記参照.
Page Top

設定ファイル (/usr/local/etc/ltictr_proxy.conf) anchor.png

  • Moodle_Host = XML-RPC を行うホスト名(FQDNまたはIPアドレス). 廃止.クッキーからの自動設定に変更.
  • Moodle_Port = XML-RPC を行うホストのポート番号. 廃止.クッキーからの自動設定に変更.
  • Moodle_TLS = XML-RPC を行う際に HTTPS を使用するかどうか.. 廃止.クッキーからの自動設定に変更.
  • Moodle_Token = Moodle から発行されたトークン.下記参照.必須. 廃止.クッキーからの自動設定に変更.
  • XmlRpc_Path = XML-RPC を行うURLのディレクトリ情報.
    • デフォルトは /webservice/xmlrpc/server.php
  • XmlRpc_Response = XML-RPC を行った場合の返答を表示するかどうか.
    • デバッグ用.デフォルトは FALSE
  • XmlRpc_Service = XML-RPC のサービス名.
    • デフォルトから変更する必要はない.変更すると動かなくなる.
    • デバッグ用.デフォルトは mod_mdlds_write_nbdata
  • XmlRpc_HTTPver = XML-RPC を行う際の HTTPのプロトコルバージョン.1.1 か 1.0 を指定.
    • 多分 1.1 で問題ない.デフォルトは 1.1
  • LTICTR_PID_File = ltictr_proxy_server の pidファイル.
  • LTICTR_API_PID_File = ltictr_api_server の pidファイル.
  • LTICTR_API_Token = APIサーバの接続用トークン.任意の文字列.JupyterHub の設定ファイルのc.ConfigurableHTTPProxy.auth_token と同じ値にする.ltictr_proxy_server でも必要.
  • LTICTR_Server_Cert = HTTPS通信を行う場合のサーバ証明書(PEM形式)
    • デフォルトは /etc/pki/tls/certs/server.pem
  • LTICTR_Server_Chain = HTTPS通信を行う場合のサーバ証明書のチェイン(PEM形式)
    • デフォルトは指定なし(NULL).
  • LTICTR_Private_Key = HTTPS通信を行う場合の秘密鍵ファイル(PEM形式)
    • デフォルトは /etc/pki/tls/private/key.pem
Page Top

Moodle 側の設定 (Webサービスを利用するためのトークンの取得) anchor.png

  1. 管理者IDで「サイト設定」 -> 「プラグイン」 -> 「ウェブサービス」 -> 「外部サービス」
    1. Jupyter Notebook Data」の項目を確認
    2. Jupyter Notebook Data」の 「許可ユーザ」をクリック
  2. 適当なユーザ(教師ロールのユーザ)を選択し,許可ユーザとする
  3. ウェブサービスのメニューまで戻って,「トークンを管理する」を選択.
  4. 「追加」をクリック.
    1. ユーザ名に先程選択したユーザ名を入れる.
    2. サービスは「Jupyter Notebook Data」を選択
    3. 「変更を保存する」をクリック
  5. 「トークンを管理する」まで戻ると,ユーザ用のトークンができているので,それをコピーする.
  6. トークンを設定ファイル(ltictr_proxy.conf)の Moodle_Token に設定する.
     

Front page   Freeze Diff Backup Copy Rename Reload   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)
Counter: 306, today: 1, yesterday: 0
Last-modified: 2023-04-25 (Tue) 09:36:51 (JST) (379d) by iseki

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

78 user(s) are online (9 user(s) are browsing xpwiki)

Members: 0
Guests: 78

more...

Access Counter

Today : 1160311603116031160311603
Yesterday : 1265612656126561265612656
Total : 2353703423537034235370342353703423537034235370342353703423537034
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com