iPython notebookサーバーの設定

提供: Akionux-wiki
Share/Save/Bookmark
移動: 案内検索

プロファイルの作成

まず設定ファイルを含んだプロファイルを作る。

$ ipython profile nbserver

nbserverの部分はプロファイル名なので好きな名前で良い。nbserverの部分を省略するとプロファイル名はdefaultになる。 プロファイルは$HOME/.ipython以下にできる。

セキュリティ

外からスクリプトが何でも動くので、パスワードやSSLでセキュリティをかけておくことは必須だろう。

まずipython(pythonでもよい)を起動してsha1のパスワードを生成する。

$ ipython
In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

passwd()で得られた出力(上記の例ではOut[2])の内容をメモっておく。

次に、SSL用に認証ファイルを作る。次のように作ると365日有効な認証になる。

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

$HOME/.ipython/プロファイル名/ipython_notebook_config.pyを編集して設定する。

c = get_config()

# Kernel config
c.IPKernelApp.pylab = 'inline'  # if you want plotting support always

# Notebook config
c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:bcd259ccf...[your hashed password here]'
# It is a good idea to put it on a known, fixed port
c.NotebookApp.port = 9999

ipython notebookの起動

ipython notebookを起動する

ipython notebook --profile=nbserver

上記の設定でSSL有効にしていれば、https://ホスト名:9999にアクセスすればipython notebookが使える。

References