This is a basic setup and configuration of JupyterHub from
Prerequisites:
- JupyterHub requires IPython >= 3.0 (current master) and Python >= 3.3
- Need to install nodejs/npm
Step 1: Install Python-3.4.3
You can use the tutorial to learn how to setup Python 3 (Compiling and Configuring Python 3.4.1 on CentOS)
Step 2: Install Nodejs and npm and Javascript Dependencies. You will need to install and enable EPEL repository
# yum install nodejs npm
# npm install -g configurable-http-proxy
Step 3a: Installation of JupyerHub
# pip3 install "ipython[notebook]"
# pip3 install jupyterhub
# git clone https://github.com/jupyter/jupyterhub.git
# cd jupyterHub
# pip3 install -r dev-requirements.txt -e .
Step 3b: Update Javascript
# python3 setup.py js
# python3 setup.py css
Step 4a: Update .bashrc or /etc/profile.d for python-3 path if you wish to affect global settings
# export PATH=/usr/local/python-3.4.3/bin:$PATH
Step 4b: Launch the JupyterHub Server
# jupyterhub
and then visit `http://localhost:8000`, and sign in with your unix credentials. If it does not work, no worry, just read on
Step 5: Generate a default config file:
# jupyterhub --generate-config
Step 6: Create Group shadow and put users into the group
The intention is to allow users to read the /etc/shadow file which is a requirements for jupytehub
# groupadd shadow
# chown root.shadow /etc/shadow
# usermod -G shadow user1
# chmod 040 /etc/shadow
If you are using DNS name instead of localhost, you would have to modify the jupyterhub_config.py found in /usr/local/juypterhub.
At approximately line 46, 181, modify localhost to your public-facing IP Address for the c.JupyterHub.hub_ip
c.JupyterHub.hub_ip = '10.10.10.10'
Step 6: Using sudo to run JupyterHub without root privilege
Do read the important document from JupyterHub wiki Using sudo to run JupyterHub without root privilege
Launch jupyterhub again.
# jupyterhub