Qu'utilisez-vous, l'environnement de codage Python? Je pense qu'il y a étonnamment beaucoup de gens qui l'appellent Jupyter Notebook. Jupyter Notebook est un environnement de codage utilisé par les navigateurs Web, et en utilisant un plug-in, il peut être utilisé comme environnement de codage pour Java, R, etc. en plus de Python.
La gestion des utilisateurs n'est pas possible avec Jupyter Notebook seul, ce qui n'est pas pratique lors du développement en groupe. Avec JupyterHub, vous pouvez ajouter une interface d'authentification utilisateur à Jupyter Notebook, je vais donc vous montrer comment le créer.
※ JupyterHub http://jupyterhub.readthedocs.io/en/latest/index.html
L'environnement de construction introduit cette fois est le suivant.
Tout d'abord, installons Anaconda 4.3.0 à l'avance.
Téléchargez le shell d'installation d'Anaconda pour Linux.
#À partir de maintenant, opérez en tant qu'utilisateur root, mais utilisez en fait un utilisateur qui peut être utilisé.
sudo su -
cd ~
wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
Installez Anaconda. Il vous sera demandé de diverses manières lors de l'installation, mais fondamentalement oui, c'est bien.
Cependant, il y a une mise en garde. Le répertoire d'installation doit être / opt / anaconda3 / pour le moment. Le répertoire d'installation par défaut est / root / anaconda3 /, mais cela empêche les utilisateurs non root d'utiliser Anaconda. Si un utilisateur non root (avec ou sans privilèges sudo) utilise JupyterHub, installez-le également dans un répertoire accessible à cet utilisateur.
bash Anaconda3-4.2.0-Linux-x86_64.sh
Anaconda est maintenant installé. Vous n'avez pas besoin de configurer Jupyter Notebook, il est donc temps d'installer Jupyter Hub.
Après avoir installé Anaconda, vous pouvez installer des packages pour les modules Anaconda et Python avec la commande conda install. Jupyter Hub est également installé avec l'installation de conda.
#Installez Jupyter Hub
conda install -c conda-forge jupyterhub
#Installer le notebook JupyterHub
conda install notebook
Vous pouvez maintenant installer Jupyter Hub et lancer Notebook. Ensuite, créez un fichier de configuration et configurez les paramètres.
Le fichier de configuration JupyterHub est généré avec la commande suivante.
cd /opt/
jupyterhub --generate-config
Un fichier appelé jupyterhub_config.py est créé comme ceci.
JupyterHub vous permet de configurer divers paramètres tels que proxy, certificat TLS, utilisateur, utilisateur administratif, etc. Cette fois, au minimum, ne définissez que le répertoire de l'administrateur, de l'utilisateur et de l'utilisateur. Ouvrez jupyterhub_config.py dans un éditeur.
vi jupyterhub_config.py
Modifiez les paramètres suivants.
Le premier est le répertoire Notebook. Créez un répertoire ~ / notebook / sous le répertoire personnel de chaque utilisateur et faites-en le répertoire Notebook.
## Path to the notebook directory for the single-user server.
#
# The user sees a file listing of this directory when the notebook interface is
# started. The current interface does not easily allow browsing beyond the
# subdirectories in this directory's tree.
#
# `~` will be expanded to the home directory of the user, and {username} will be
# replaced with the name of the user.
#
# Note that this does *not* prevent users from accessing files outside of this
# path! They can do so with many other means.
#c.Spawner.notebook_dir = ''
#Ajoutez ce qui suit
c.Spawner.notebook_dir = '~/notebook'
Vient ensuite l'utilisateur de Jupyter Hub. Définissez cela comme une liste blanche.
## Whitelist of usernames that are allowed to log in.
#
# Use this with supported authenticators to restrict which users can log in.
# This is an additional whitelist that further restricts users, beyond whatever
# restrictions the authenticator has in place.
#
# If empty, does not perform any additional restriction.
#c.Authenticator.whitelist = set()
#Ajoutez ce qui suit
c.Authenticator.whitelist = {'user01', 'user02'}
Enfin, l'utilisateur admin.
## Set of users that will have admin rights on this JupyterHub.
#
# Admin users have extra privilages:
# - Use the admin panel to see list of users logged in
# - Add / remove users in some authenticators
# - Restart / halt the hub
# - Start / stop users' single-user servers
# - Can access each individual users' single-user server (if configured)
#
# Admin access should be treated the same way root access is.
#
# Defaults to an empty set, in which case no user has admin access.
#c.Authenticator.admin_users = set()
#Ajoutez ce qui suit
c.Authenticator.admin_users = {'user00'}
Ceci termine les réglages minimum. Voir ci-dessous pour d'autres paramètres. http://jupyterhub.readthedocs.io/en/latest/getting-started.html#configuration
Créez un bloc-notes pour les utilisateurs du Jupyter Hub.
mkdir -p /home/user01/notebook
chown user01:usergr /home/user01/notebook
JupyterHub démarre par défaut avec HTTPS, mais cette fois je n'ai pas configuré de certificat TLS. Un certificat auto-signé (certificat Oreore) convient, mais c'est gênant, alors démarrez-le avec HTTP avec l'option --no-ssl.
jupyterhub --no-ssl
Cela va le démarrer. JupyterHub est publié avec le numéro de port 8000 et HTTP.
En passant, il est recommandé de mettre cette commande entre nohup et & pour démarrer le système d'exploitation en arrière-plan.
nohup jupyterhub --no-ssl &
Accédez à Jupyter Hub à partir d'un navigateur Web sur votre PC. L'URL est http: // <IP JupyterHub ou nom d'hôte>: 8000 /.
Il y a un message disant "Yogora (# ゚ Д ゚)" en HTTPS. Faisons un certificat oléore plus tard (^ _ ^;).
(Ajouté le 27/04/2018: Il semble que le certificat puisse être letsencrypt. https://jupyterhub.readthedocs.io/en/0.7.2/getting-started.html#ssl-encryption)
Entrez votre nom d'utilisateur et mot de passe pour vous connecter. Après cela, il peut être utilisé de la même manière que Jupyter Notebook, je vais donc l'omettre.
URL de référence: http://jupyterhub.readthedocs.io/en/latest/index.html https://www.continuum.io/downloads
Recommended Posts