flagflag  
1: 2022-02-14 (Mon) 11:32:50 iseki source 2: 2022-02-14 (Mon) 14:52:25 iseki source
Line 1: Line 1:
-** Ltictr_Proxy [#o2f0e6b3+** 概要 [#k3dd6a2c
-- [[mod_lticontainer]] と連携させるための,configurable-http-proxy 代替えとなる リバースプロキシサーバ +- JupyterHub の [[''configurable-http-proxy''>https://gith​ub.com/jupyterhub/configurable-http-prox​y]] の代用となるリバースプロキシサーバ 
--+- [[''configurable-http-proxy''>https://gi​thub.com/jupyterhub/configurable-http-pr​oxy]] との併用も可. 
 +- [[''mod_lticontainer''>https://gitlab.ns​l.tuis.ac.jp/iseki/mod_lticontainer]] で Charts機能を使用する場合に必要. 
 +#br 
 + 
 +** 機能 [#d15259a5] 
 +- JupyterHub から通知を受けて動作する通信経路制御のための ''ltictr_api_server'' と,実際に通信を中継して WebSocketデータを解析する ''ltictr_proxy_server'' から成る. 
 +- 通常は ''ltictr_proxy_server'' からチャイルドプロセスとして ''ltictr_api_server'' が起動される. 
 +-- ''ltictr_proxy_server'' と ''ltictr_api_server'' はそれぞれ独立に起動することも可能. 
 +- ''ltictr_proxy_server'' は単体で普通のWeb用リバースプロキシサーバとしても使用可能. 
 +- 機能詳細 
 +-- JupyterHub の通信経路制御に対応 
 +-- 通信の中継 
 +-- WebSocket 通信の解析. 
 +--- ''ユーザの学習状況に関するデータを収集''. 
 +-- HTTP(S)通信の解析. 
 +-- Cookie の挿入.(Moodle のコース識別を行うため) 
 +-- ''収集したデータを Moodle へXML-RPC 通信で渡す''.(MoodleのWebサービスを使用) 
 + 
 +** コマンド引数 [#r702c13c] 
 +**** ltictr_proxy_server [#m85cd09d] 
 + 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 
 + 
 +**** ltictr_api_server [#j067bff8] 
 + 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 
 + 
 +** 起動 [#x7ca0f56] 
 +*** systemd を使用する. [#w2040826] 
 + # vi /usr/local/etc/ltictr_proxy.conf 
 + # vi /usr/lib/systemd/system/ltictr_proxy.ser​vice 
 + # systemctl enable ltictr_proxy.service 
 + # systemctl start  ltictr_proxy.service 
 + 
 +*** 手動起動 [#s4d0923a] 
 +**** 1. 通常の起動 [#l6ce9541] 
 + # ltictr_proxy_server -p 8100 -c -a 8001 --conf /usr/local/etc/ltictr_proxy.conf 
 + # jupyterhub -f jupyterhub_XXX_config.py 
 +**** 2. ltictr_api_server と ltictr_proxy_server を別々に起動する場合 [#g32fa414] 
 + # 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 
 +**** 3. configarable-http-proxy と併用する場合.または通常の Webリバースプロキシとして使用する場合 [#o68a35a8] 
 + # 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 
 + 
 +** 設定 [#ea3a901b] 
 +*** JupyterHub の設定 [#nffb03c1] 
 +- 上記 ''手動起動'' で,''1, 2の場合'',JupyterHubで自動的に configurable-http-proxy が起動しないようにしなければならない. 
 +- JupyterHub の設定ファイル(jupyterhub_XXX_config.py) 
 + c.JupyterHub.cleanup_proxy = False 
 + c.ConfigurableHTTPProxy.should_star​t = False 
 + c.ConfigurableHTTPProxy.api_url = 'http://localhost:8001' 
 + c.ConfigurableHTTPProxy.auth_token = "ABCDEFG"    # 任意の文字例.下記参照. 
 + 
 +***  設定ファイル (/usr/local/etc/ltictr_proxy.conf) [#l6c34358] 
 +- ''Moodle_Host'' = XML-RPC を行うホスト名(FQDNまたはIPアドレス). 
 +-- デフォルトは localhost 
 +- ''Moodle_Port'' = XML-RPC を行うホストのポート番号. 
 +-- デフォルトは 80 
 +- ''Moodle_TLS'' = XML-RPC を行う際に HTTPS を使用するかどうか. 
 +-- デフォルトは FALSE. 
 +-- 注:HTTPS通信を行う場合,相手(Moodleホスト)のサーバ証明書は検証しない. 
 +- ''Moodle_URL'' = XML-RPC を行うURLのディレクトリ情報. 
 +-- デフォルトは /webservice/xmlrpc/server.php 
 +- ''Moodle_Token'' = Moodle から発行されたトークン.下記参照.必須. 
 +- ''Moodle_DBAns'' = XML-RPC を行った場合の返答を表示するかどうか. 
 +-- デバッグ用.デフォルトは FALSE 
 +- ''Moodle_Servide'' = XML-RPC のサービス名. 
 +-- デフォルトから変更する必要はない.変更すると動かなくなる. 
 +-- デバッグ用.デフォルトは ''mod_mdlds_write_nbdata'' 
 +- ''Moodle_HTTP'' = 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_Private_Key'' = HTTPS通信を行う場合の秘密鍵ファイル(PEM形式) 
 +-- デフォルトは /etc/pki/tls/private/key.pem 
 + 
 +*** Moodle 側の設定 (Webサービスを利用するためのトークンの取得) [#zf05af7f] 
 ++ 管理者IDで「サイト設定」 -> 「プラグイン」 -> 「ウェブサービス」 -> 「外部サービス」 
 +++ 「''Jupyter Notebook Data''」の項目を確認 
 +++ 「''Jupyter Notebook Data''」の 「許可ユーザ」をクリック 
 ++ 適当なユーザ(教師ロールのユーザ)を選択し,許可ユーザとする 
 ++ ウェブサービスのメニューまで戻って,「トークンを管理する」を選択. 
 ++ 「追加」をクリック. 
 +++ ユーザ名に先程選択したユーザ名を入れる. 
 +++ サービスは「''Jupyter Notebook Data''」を選択 
 +++ 「変更を保存する」をクリック 
 ++ 「トークンを管理する」まで戻ると,ユーザ用のトークンができているので,それをコピーする. 
 ++ トークンを設定ファイル(ltictr_proxy.conf)の ''Moodle_Token'' に設定する.
#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

89 user(s) are online (16 user(s) are browsing xpwiki)

Members: 0
Guests: 89

more...

Access Counter

Today : 6372637263726372
Yesterday : 1033710337103371033710337
Total : 2360624223606242236062422360624223606242236062422360624223606242
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com