Cómo instalar JupyterLab en Rocky Linux 9

Jupyter es una aplicación web gratuita y de código abierto para la informática interactiva y la ciencia de datos.

Jupyter es compatible con todos los lenguajes de programación y proporciona múltiples programas, como JupyetrLab, que proporciona un entorno de edición multi-notebook rico en funciones y con pestañas, Notebook como creación de cuadernos ligera y simplificada, Qtconsole, y muchos más.

En esta guía, te mostraremos instrucciones paso a paso sobre cómo instalar JupyterLab en el servidor Rocky Linux 9. Instalarás JupyterLab, habilitarás la autenticación de JupyterLab y luego configurarás Nginx como proxy inverso.

Requisitos previos

Para completar esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Rocky Linux 9.
  • Un usuario no root con privilegios sudo.
  • Un SELinux con estado permisivo.

Instalar dependencias

Antes de instalar JupyterLab, debes instalar las dependencias en tu servidor Rocky Linux. Esto incluye Pip, Node.js y herramientas de desarrollo. Además, también instalarás Nginx para el proxy inverso.

Para empezar, ejecuta el siguiente comando para instalar paquetes de desarrollo en tu sistema.

sudo dnf -y groupinstall development

A continuación, instala Pip, Node.js y Nginx utilizando el siguiente comando.

sudo dnf install -y python3-pip nodejs nginx

Una vez completada la instalación, pasa al siguiente paso.

instalar deps

Configurar el entorno virtual de Python

En este ejemplo, instalarás y ejecutarás JupyterLab con un usuario normal. Así que asegúrate de que has preparado tu usuario con privilegios sudo.

Inicia sesión con tu usuario utilizando el comando que se indica a continuación.

su - user

Crea un nuevo directorio ~/proyecto y desplázate a él. A continuación, crea un nuevo entorno virtual Python venv.

mkdir -p ~/project; cd ~/project
python3 -m venv venv

Una vez creado el entorno virtual venv, puedes activarlo utilizando el comando que aparece a continuación.

source venv/bin/activate

Aquí, tu prompt debería ser como (venv) alice@hostname, lo que significa que tu entorno virtual Python está activo.

configuración venv

Instalar JupyterLab

Ahora que has creado un entorno virtual Python, estás preparado para instalar JupyterLab. En esta sección, instalarás JupyterLab, generarás la configuración de JupyterLab, establecerás la autenticación de la contraseña y, a continuación, verificarás JupyterLab.

Para instalar JupyterLab, ejecuta el siguiente comando pip3.

pip3 install jupyter

Una vez que comience la instalación, deberías obtener una salida como ésta:

instalar jupyterlab

Una vez finalizada la instalación, ejecuta el siguiente comando para localizar el archivo binario de Jupyter y comprobar la versión de JupterLab.

which jupyter
jupyter --version

Deberías obtener el archivo binario de JupyterLab ubicado en tu entorno virtual de Python. Y la versión de JupyterLab es la 4.1.1.

verificar jupyter

A continuación, ejecuta el siguiente comando Jupyter para generar la configuración del servidor Jupyter y establecer la autenticación por contraseña.

jupyter server --generate-config
jupyter server password

Cuando te pida la contraseña, introduce tu nueva contraseña y repite.

generar contraseña servidor jupyter

A continuación, ejecuta el siguiente comando para generar JupyterLab e introduce y cuando se te pida sobrescribir. A continuación, verifica la configuración de tu JupyterLab.

jupyter lab --generate-config
jupyter lab --show-config

Como puedes ver a continuación, la contraseña de autenticación es hash y la ubicación de la ruta de tu JupyterLab debería ser accesible.

generar archivo de configuración jupyter lab

Ahora puedes ejecutar el siguiente comando para abrir el puerto 8888 para JupyterLab. A continuación, inicia tu JupyterLab en la IP local 192.168.5.120, y asegúrate de cambiar la dirección IP.

sudo firewall-cmd --add-port=8888/tcp
jupyter lab --ip 192.168.5.120

Una vez iniciado, deberías obtener una salida similar a ésta:

prueba de instalación de jupyterlab

Ahora abre tu navegador web y visita tu dirección IP local con el puerto 8888, http://192.168.5.120:8888/. Te aparecerá la página de inicio de sesión de JupyterLab.

Introduce tu contraseña y pulsa Iniciar sesión.

jupyterlab login

Si tienes éxito, deberías obtener el panel de control de JupyterLab como el siguiente:

cuadro de mandos jupyterlab

Por último, vuelve a tu terminal y pulsa Ctrl+c para finalizar el proceso de JupyterLab. En el siguiente paso, configurarás JupyterLab como un servicio systemd.

Ejecutar JupyterLab como servicio Systemd

Con JupyterLab instalado, ahora crearás un nuevo servicio systemd para JupyterLab. Esto te permitirá gestionar JupyterLab fácilmente a través de la utilidad del sistema. Además, puedes iniciar JupyterLab en el arranque activando el servicio.

Ahora ejecuta el siguiente comando del editor nano para crear un nuevo servicio jupyterlab /etc/systemd/system/jupyterlab.service.

sudo nano /etc/systemd/system/jupyterlab.service

Añade la siguiente configuración al archivo y asegúrate de cambiar el usuario detallado por tu usuario. Incluye la ruta binaria del programa Jupyter y la configuración generada.

[Unit]
Description=JupyterLab Service
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/project/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/project
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Cuando hayas terminado, guarda y sal del archivo.

A continuación, ejecuta el siguiente comando para recargar el gestor systemd y aplicar los cambios de systemd.

sudo systemctl daemon-reload

A continuación, inicia y habilita el servicio jupyterlab con el siguiente comando.

sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab

jupyterlab systemd

Una vez iniciado, ejecuta el comando siguiente para verificar tu servicio jupyterlab.

sudo systemctl status jupyterlab

Si el servicio jupyterlab se está ejecutando, deberías obtener una salida como la siguiente:

comprobar el servicio jupyterlab

Configurar el acceso remoto para JupyterLab

Para ejecutar JupyterLab detrás de un proxy inverso, debes habilitar el acceso remoto en tu instalación de JupyterLab. Tienes que modificar el script de configuración por defecto de JupyterLab y habilitar el acceso remoto desde ahí.

Ejecuta el siguiente comando del editor nano para abrir el script de configuración de JupyterLab ~/.jupyter/jupyter_lab_config.py.

nano ~/.jupyter/jupyter_lab_config.py

Descomenta el parámetro c.ServerApp.allow_remote_access y cambia el valor a True. Esto habilitará el acceso remoto para el proxy inverso en la instalación de JupyterLab.

c.ServerApp.allow_remote_access = True

Cuando hayas terminado, guarda y sal del archivo.

A continuación, ejecuta el siguiente comando para reiniciar el servicio de JupyterLab y verificar el token generado. este token se utilizará para iniciar sesión en JupyterLab bajo el proxy inverso.

sudo systemctl restart jupyterlab
sudo systemctl status jupyterlab

En la parte inferior del registro del servicio, podrás ver el token de JupyterLab.

token jupyterlab

Configuración del proxy inverso Nginx

Ahora que has permitido el acceso remoto en JupyterLab, estás listo para configurar Nginx como proxy inverso para tu instalación de JupyterLab.

En primer lugar, ejecuta el siguiente comando del editor nano para crear una nueva configuración de Nginx /etc/nginx/conf.d/jupyterlab.conf.

sudo nano /etc/nginx/conf.d/jupyterlab.conf

Introduce la configuración que aparece a continuación y asegúrate de cambiar el nombre de dominio con tu instalación local de JupyterLab.

server {
listen 80;
server_name jupyterlab.hwdomain.io;
access_log /var/log/nginx/hwdomain.io.access.log;
error_log /var/log/nginx/hwdomain.io.error.log;

location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para verificar la sintaxis de tu Nginx. Si se realiza correctamente, deberías obtener una salida ‘syntax is ok – test is successful’.

sudo nginx -t

A continuación, inicia y activa el servicio Nginx con el siguiente comando.

sudo systemctl start nginx
sudo systemctl enable nginx

configuración de nginx

Una vez iniciado Nginx, verifica el servicio con el siguiente comando. Asegúrate de que el servicio Nginx se está ejecutando.

sudo systemctl status nginx

verificar nginx

Por último, ejecuta el siguiente comando para abrir el puerto HTTP en tu sistema y permitir el tráfico a tu instalación de JupyterLab.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Con esto, tu instalación de JupyterLab debería ser accesible a través de un proxy inverso.

Iniciar sesión en JupyterLab

Abre una nueva pestaña en tu navegador web y visita el nombre de dominio de tu instalación de JupyterLab, como http://jupyterlab.hwdomain.io/. Si la instalación se ha realizado correctamente, aparecerá la página de inicio de sesión de JupyterLab.

desplázate hasta la parte inferior de la página y pega tu token de JupyterLab. a continuación, introduce la nueva contraseña de tu instalación de JupyterLab pulsa Iniciar sesión y configura la nueva contraseña.

Página de inicio de sesión jupyterlab

si tienes el token correcto, deberías obtener el panel de JupyterLab y tu contraseña también debería haber cambiado.

cuadro de mandos jupyterlab

Conclusión

¡Enhorabuena! Has instalado con éxito JupyterLab en Rocky Linux 9. Has instalado JupyterLab, configurado la autenticación de JupyetrLab y también has configurado Nginx como proxy inverso para tu instalación de JupyterLab.

También te podría gustar...