Fedora 38+/RHEL 9/Rocky Linux 9 に最新の JupyterHub をインストールする方法
JupyterHubは、複数のユーザーが自分のJupyter環境でJupyter Notebookを使用できるようにするウェブベースのプログラムです。JupyterHubとJupyter Notebook/Labの違いについてさらに学ぶには、この記事をお読みください。
この記事では、以下のLinuxディストリビューションに最新のJupyterHubをインストールする方法を示します。
- Fedora 38 およびそれ以降
- RHEL 9
- ロッキーリナックス 9
注意: JupyterHubは他のRPMベースのLinuxディストリビューションにもインストールできます。ほとんど変更せずに同じ手順が機能するはずです。
目次のトピック:
- 必要な依存パッケージのインストール
- JupyterHub用のPython仮想環境を作成する
- JupyterHubのPython仮想環境でのPython PIPのアップグレード
- ノードパッケージマネージャーのアップグレード
- 構成可能なHTTPプロキシのインストール
- Python仮想環境にJupyterHubをインストールする
- JupyterHub設定ファイルとSystemdサービスの作成
- ネットワーク内の他のデバイスからJupyterHubへのアクセスを許可するためのファイアウォールの設定
- JupyterHubにアクセスする
- 新しいJupyterHubユーザーの作成
- JupyterHubでFirstUseAuthenticatorを設定する
- JupyterHubでのIDLE Cullerの設定
- JupyterHubの新しいプログラミング言語サポートの追加
- 結論
必要な依存パッケージのインストール
まず、次のコマンドでDNFパッケージデータベースキャッシュを更新します。
sudo dnf makecache
JupyterHubに必要な依存パッケージをすべてインストールするには、次のコマンドを実行してください。
sudo dnf install python3-pip python3-devel python3-virtualenv nodejs npm git curlインストールを確認するには、「Y」を押し、その後<Enter>を押してください。
必要な依存パッケージがインターネットからダウンロードされています。完了するまでに少し時間がかかります。
次のプロンプトが表示されたら、「Y」を押し、その後<Enter>を押して公式FedoraパッケージリポジトリのGPGキーを受け入れてください。
インストールを続けるべきです。
この時点で、必要なすべてのJupyterHub依存関係がインストールされているはずです。
あなたのコンピュータにPython 3、Python 3 PIP、Node.js、およびNPMがインストールされていることを確認するには、次のコマンドを実行してください:
python3 --version
pip3 --version
node --version
npm --versionご覧の通り、私たちのFedora 39システムにはPython 3.12.0、Python PIP 23.2.1、Node.js 20.8.1、およびNPM 10.1.0がインストールされています。
JupyterHub用のPython仮想環境を作成する
JupyterHubは、Linuxディストリビューションの公式パッケージリポジトリからインストールした他のPythonパッケージと干渉しないように、Pythonの仮想環境にインストールすることが推奨されます。
JupyterHub用に「/opt/jupyterhub」ディレクトリパスに新しいPython仮想環境を作成するには、次のコマンドを実行してください:
sudo python3 -m venv /opt/jupyterhubJupyterHubのPython仮想環境でのPython PIPのアップグレード
JupyterHubを「/opt/jupyterhub」JupyterHub Python仮想環境にインストールする前に、仮想環境のPython PIPを最新バージョンにアップグレードする必要があります。
「/opt/jupyterhub」Python仮想環境のPIPを最新バージョンにアップグレードするには、次のコマンドを実行してください:
sudo /opt/jupyterhub/bin/pip3 install --upgrade pip最新のバージョンのPython PIPは「/opt/jupyterhub」仮想環境にインストールされるべきです。
ご覧のとおり、より新しいバージョンのPython PIP(v23.3.1)が「/opt/jupyterhub」JupyterHub仮想環境にインストールされています。
pip3 --version
sudo /opt/jupyterhub/bin/pip3 --versionノードパッケージマネージャーのアップグレード
Node Package Manager (NPM)を最新バージョンにアップグレードすることも良い考えです。
NPMを最新バージョンにアップグレードするには、次のコマンドを実行してください:
sudo npm -g install npm@latestご覧の通り、NPMは最新バージョンにアップグレードされています。
sudo npm --version構成可能なHTTPプロキシのインストール
JupyterHubは、動作するためにConfigurable HTTP Proxyを必要とします。次のコマンドでNode.jsパッケージConfigurable HTTP Proxyをインストールできます:
sudo npm install -g configurable-http-proxy構成可能なHTTPプロキシをインストールする必要があります。
Python仮想環境にJupyterHubをインストールする
JupyterHubおよび必要な依存関係をJupyterHubのPython仮想環境「/opt/jupyterhub」にインストールするには、次のコマンドを実行してください:
sudo /opt/jupyterhub/bin/pip3 install wheel ipywidgets jupyterlab jupyterhubJupyterHubは「/opt/jupyterhub」仮想環境にインストールされています。完了するまでにしばらく時間がかかります。
JupyterHubは、現時点で「/opt/jupyterhub」仮想環境にインストールされている必要があります。
JupyterHub設定ファイルとSystemdサービスの作成
JupyterHub構成ファイルとsystemdサービスファイルを保存するために必要なディレクトリを作成するには、次のコマンドを実行してください:
sudo mkdir -pv /opt/jupyterhub/etc/{jupyterhub,systemd}「/opt/jupyterhub/etc/jupyterhub」と「/opt/jupyterhub/etc/systemd」ディレクトリを作成する必要があります。
新しいJupyterHub の「jupyterhub_config.py」設定ファイルを「/opt/jupyterhub/etc/jupyterhub」ディレクトリに作成し、nanoテキストエディタで開くには、以下のコマンドを実行してください:
sudo nano /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.pyJupyterHubにネットワークからアクセスするには、“jupyterhub_config.py”ファイルに以下の行を書き込む必要があります:
c = get_config()
Configure Jupyter Hub access IP and port
c.JupyterHub.ip = '0.0.0.0'
c.JupyterHub.port = 80完了したら、<Ctrl> + X を押し、その後に「Y」と <Enter> を押してJupyterHubの設定ファイルを保存します。
JupyterHubがシステム起動時に自動的に起動できるようにするために、新しいJupyterHubのsystemdサービスファイル「jupyterhub.service」を「/opt/jupyterhub/etc/systemd」ディレクトリに作成し、nanoテキストエディタで開くには、次のコマンドを実行してください:
sudo nano /opt/jupyterhub/etc/systemd/jupyterhub.service以下の行を「jupyterhub.service」ファイルに入力してください:
[Unit]
Description=JupyterHub
After=syslog.target network.target
[Service]
User=root
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/
bin:/opt/jupyterhub/bin"
ExecStart=/opt/jupyterhub/bin/jupyterhub --config /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.py
[Install]
WantedBy=multi-user.target完了したら、<Ctrl> +Xを押し、その後に「Y」と<Enter>を押して、JupyterHubのsystemdサービスファイルを保存します。
systemdは「/etc/systemd/system」ディレクトリからサービスファイルを読み込みます。したがって、次のコマンドを使用して「/etc/systemd/system」ディレクトリにJupyterHubのsystemdサービスファイルのシンボリックリンクを作成してください:
sudo ln -s /opt/jupyterhub/etc/systemd/jupyterhub.service /etc/systemd/system/jupyterhub.servicesystemd サービスデータベースを再読み込みするには、次のコマンドを実行します。
sudo systemctl daemon-reload次に、以下のコマンドを使用してJupyterHubのsystemdサービスをコンピュータのシステム起動に追加します(システム起動時に自動的に開始されるように)。
sudo systemctl enable jupyterhub.serviceJupyterHubサービスを開始するには、次のコマンドを実行してください:
sudo systemctl start jupyterhub.serviceJupyterHubサービスが実行中かどうかを確認するには、次のコマンドを実行してください:
sudo systemctl status jupyterhub.serviceご覧の通り、JupyterHubサービスが実行されており、私たちのコンピュータのシステムスタートアップに追加されています。
ネットワーク上の他のデバイスからJupyterHubへのアクセスを許可するためのファイアウォールの設定
ネットワーク上の他のデバイスがJupyterHubにアクセスできるようにするには、HTTPトラフィックをあなたのコンピュータに許可するようにファイアウォールを設定する必要があります。
ファイアウォールを通してHTTPトラフィックを許可するために(他の人がJupyterHubにアクセスできるように)、以下のコマンドを実行します:
sudo firewall-cmd --add-service=http --permanentファイアウォールの変更を適用するには、以下のコマンドを実行してください:
sudo firewall-cmd --reloadJupyterHubにアクセスする
ウェブブラウザからJupyterHubにアクセスするには、JupyterHubをインストールしたコンピュータのIPアドレスを知っておく必要があります。
コンピュータのIPアドレスを見つけるには、次のコマンドを実行してください:
ip a私たちのコンピュータのIPアドレスは192.168.189.129です。あなたのものとは異なりますので、これからは自分のアドレスに置き換えることを確認してください。
ウェブブラウザからJupyterHubにアクセスするには、http://192.168.189.129を訪問してください。
まもなくJupyterHubのログインページが表示されます。デフォルトでは、JupyterHubはあなたのLinuxシステムのユーザーと連携するように設定されています。したがって、Linuxシステムのいずれかのユーザーのログインユーザー名とパスワードを使用してJupyterHubにログインできます。
JupyterHubにログインするには、ログインしたいLinuxシステムユーザーのユーザー名とパスワードを入力し、「サインイン」をクリックしてください。
JupyterHubアカウントにログインしている必要があります。
新しいJupyterHubユーザーの作成
JupyterHubはデフォルトでLinuxシステムユーザーと共に動作するため、新しいJupyterHubユーザーを作成したい場合は、新しいLinuxユーザーを作成する必要があります。
新しいJupyterHubユーザーを作成する際に支援が必要な場合は、この記事をお読みください。
JupyterHubでFirstUseAuthenticatorを設定する
JupyterHubは他の認証メカニズムもサポートしています。初めてJupyterHubにログインするときにJupyterHubユーザーを即座に作成し、JupyterHubユーザーのログインパスワードを設定したい場合は、JupyterHubでFirstUseAuthenticatorを構成できます。FirstUseAuthenticatorは、その名の通り、初めてJupyterHubにログインする際にJupyterHubユーザーを作成できるようにします。
JupyterHubでのIDLE Cullerの設定
多くのユーザーがJupyterHubを使用する予定がある場合は、JupyterHubのIDLEカラーを設定することをお勧めします。JupyterHubのIDLEカラーは、長時間アイドル状態のユーザーセッションを検出し、それらを停止してシステムリソースを節約することで、他のアクティブなユーザーがそのリソースを利用できるようにします。
JupyterHubの新しいプログラミング言語サポートを追加する
Python以外にも、JupyterHubノートブックに新しいプログラミング言語のサポートを追加することができます。JupyterHubに追加したいプログラミング言語のJupyterHubカーネルをインストールするだけです。
JupyterHubに新しいプログラミング言語のサポートを追加するための支援が必要な場合は、以下のいずれかの記事をお読みください:
- バッシュ
- JavaScript/Node.js
結論
この記事では、Fedora 38+、RHEL 9、Rocky Linux、その他のRPMベースのLinuxディストリビューションにJupyterHubをインストールする方法を示しました。また、WebブラウザからJupyterHubにアクセスする方法も示しました。




















