Cách cài đặt JupyterLab trên Ubuntu

Tác giả Security+, T.Tư 26, 2024, 01:44:06 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

JupyterLab là giao diện người dùng dựa trên web thế hệ tiếp theo dành cho hệ sinh thái Jupyter, bao gồm Jupyter Notebook, Editor, iPython, Terminal Shell, v.v. Đây là một ứng dụng web mã nguồn mở và miễn phí cung cấp môi trường phát triển tương tác và mạnh mẽ cho các nhà phát triển và nhà khoa học. JupyterLab cũng cung cấp các tiện ích mở rộng của bên thứ ba giúp mở rộng chức năng của môi trường phát triển.


Với JupyterLab, bạn có thể làm việc với nhiều tài liệu cùng lúc và kích hoạt quy trình làm việc mới cho điện toán tương tác. JupiterLab có thể xử lý nhiều định dạng tệp, bao gồm hình ảnh, JSON, CSV, Markdown, PDF, Vega, Vega-Lite và nhiều định dạng khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt JupyterLab trên Ubuntu 22.04 mới nhất. Nó cũng bao gồm một số cấu hình cơ bản của JupyterLab, chẳng hạn như thiết lập xác thực mật khẩu, chạy JupyterLab dưới dạng dịch vụ systemd và bảo mật cài đặt JupyterLab bằng chứng chỉ SSL.

1. Điều kiện tiên quyết

Đối với hướng dẫn này, chúng tôi cần các điều kiện tiên quyết sau:

  • Hệ thống Ubuntu 22.04 - phiên bản máy chủ hoặc máy tính để bàn.
  • Người dùng root hoặc người dùng không phải root có đặc quyền root sudo.

2. Cài đặt Python và Pip

JupyterLab là một ứng dụng dựa trên Python có thể được cài đặt từ PyPi (Kho lưu trữ Python). Bây giờ bạn sẽ cài đặt gói cơ sở python3-dev bằng công cụ python3-pip để cài đặt các gói Python từ kho PyPi.

Chạy lệnh apt sau để cập nhật và làm mới kho lưu trữ Ubuntu hiện tại của bạn.

Mã nguồn [Chọn]
sudo apt update
Sau khi cập nhật kho lưu trữ lên phiên bản mới nhất, hãy chạy lại lệnh apt bên dưới để cài đặt gói python3-dev và python3-pip.

Mã nguồn [Chọn]
sudo apt install python3-dev python3-pip
Nhập Y để xác nhận cài đặt và nhấn ENTER để bắt đầu. Quá trình cài đặt bây giờ sẽ bắt đầu.


3. Thiết lập người dùng mới

JupyterLab có thể được cài đặt theo nhiều cách khác nhau, ví dụ như thông qua môi trường ảo, trực tiếp trên hệ thống hoặc bằng cách chạy JupyterLab với người dùng Unix/Linux. Trong ví dụ này, bạn sẽ cài đặt JupyterLab với người dùng Unix/Linux. Do đó, bây giờ bạn phải tạo người dùng mới và thiết lập quyền sudo.

Thực hiện lệnh sau để tạo người dùng Unix/Linux mới và thiết lập mật khẩu cho người dùng mới. Trong ví dụ này, bạn sẽ tạo một người dùng có tên "john ".

Mã nguồn [Chọn]
sudo useradd -m -s /bin/bash john
passwd john

Tiếp theo, thêm người dùng " john " vào nhóm "sudo " bằng lệnh sau. Điều này mang lại cho người dùng mới " john " quyền thực thi lệnh "sudo su " và có được quyền root.

Mã nguồn [Chọn]
sudo usermod -aG sudo john
Bây giờ thực hiện lệnh sau để đăng nhập với tư cách người dùng " john " và thực hiện lệnh " sudo su " để kiểm tra và xác nhận quyền root.

Mã nguồn [Chọn]
su - john
sudo su

Bạn sẽ được yêu cầu nhập mật khẩu cho người dùng mới " john ", vì vậy hãy nhập đúng mật khẩu cho người dùng của bạn. Nếu bạn nhận được dấu nhắc shell như "root@hostname ", bạn đã lấy được quyền root thành công.


4. Cài đặt JupyterLab

Sau khi bạn hoàn tất cài đặt gói cơ sở Python3-dev và tạo người dùng Unix/Linux. Bây giờ hãy cài đặt JupyterLab trên hệ thống Ubuntu của bạn.

Đảm bảo bạn đã đăng nhập với tư cách người dùng mới "john" rồi chạy lệnh pip sau để cài đặt gói JupyterLab.

Mã nguồn [Chọn]
pip install --user jupyterlab
Bạn chạy lệnh pip với tùy chọn "--user", nghĩa là gói JupyterLab sẽ được cài đặt trong thư mục chính của người dùng.

Quá trình cài đặt sẽ mất một chút thời gian vì JupyterLab cần có nhiều gói Python.


Sau khi quá trình cài đặt JupyterLab hoàn tất, hãy chạy lệnh sau để thêm đường dẫn bin cho người dùng không phải root "~/.local/bin " vào hệ thống "PATH " thông qua tệp "~/.bashrc". Sau đó, bạn phải tải lại cấu hình "~/.bashrc ".

Mã nguồn [Chọn]
echo "export PATH=$PATH:~/.local/bin/" >> ~/.bashrc
source ~/.bashrc

Bây giờ hãy kiểm tra PATH của hệ thống bằng lệnh bên dưới. Đảm bảo rằng thư mục "/home/john/.local/bin " được bao gồm trong biến môi trường "system PATH ".

Mã nguồn [Chọn]
echo $PATH

Cuối cùng, bạn có thể chạy lệnh sau để kiểm tra cài đặt JupyterLab.

Mã nguồn [Chọn]
jupyter --version
jupyter lab --help


5. Định cấu hình cài đặt JupyterLab

Ở bước trước, bạn đã cài đặt JupyterLab trên hệ thống Ubuntu của mình. Bây giờ bạn sẽ định cấu hình cài đặt JupyterLab bằng cách thiết lập xác thực mật khẩu và cài đặt một số tiện ích mở rộng cho JupyterLab.

Trước khi bạn bắt đầu định cấu hình JupyterLab, hãy chạy lệnh sau để tạo tệp cấu hình JupyterLab. Lệnh này tạo tệp cấu hình mặc định "~/jupyter/jupyter_lab_config.py ", đây là tệp cấu hình chính cho quá trình cài đặt JupyterLab của bạn.

Mã nguồn [Chọn]
jupyter lab --generate-config
Bây giờ hãy thực hiện lệnh sau để thiết lập xác thực mật khẩu cho JupyterLab. Nhập mật khẩu an toàn để cài đặt JupyterLab của bạn và lặp lại mật khẩu để xác nhận. Xác thực mật khẩu của bạn sẽ được mã hóa và lưu trữ trong tệp "~/.jupyter/jupyter_server_config.json ".

Mã nguồn [Chọn]
jupyter lab password

Bạn có thể kiểm tra cả tệp cấu hình JupyterLab và tệp xác thực mật khẩu bằng lệnh bên dưới.

Mã nguồn [Chọn]
cat ~/.jupyter/jupyter_server_config.json
less ~/jupyter/jupyter_lab_config.py

Tiếp theo, bạn có thể thiết lập và cài đặt Tiện ích mở rộng Jupyter. Đây là tùy chọn, đặc biệt nếu bạn muốn mở rộng một số tính năng của quá trình cài đặt JupyterLab. Bạn cũng có thể bỏ qua phần này.

Trước khi có thể bắt đầu cài đặt tiện ích mở rộng JupyterLab, bạn cần cài đặt Node.js trên hệ thống của mình. Cách dễ nhất để thực hiện việc này là cài đặt Node.js từ kho lưu trữ chính thức của Ubuntu.

Chạy lệnh apt sau để tải xuống và cài đặt Node.js và npm.

Mã nguồn [Chọn]
sudo apt install nodejs npm -y
Đợi cho đến khi Node.js và npm được cài đặt trên hệ thống của bạn rồi chuyển sang phần tiếp theo.

Để cài đặt tiện ích mở rộng JupyterLab, hãy chạy lệnh jupyter bên dưới. Trong ví dụ bên dưới, hãy cài đặt tiện ích mở rộng "github " và "toc " do nhà phát triển Jupyter chính thức cung cấp.

Mã nguồn [Chọn]
jupyter labextension install @jupyterlab/github @jupyterlab/toc
Tiếp theo, bạn cần xây dựng lại JupyterLab sau khi cài đặt tiện ích mở rộng. Đây là điều bắt buộc và sẽ mất một thời gian tùy thuộc vào danh sách tiện ích mở rộng của bạn. Bây giờ bạn đã hoàn tất cấu hình JupyterLab trên hệ thống Ubuntu của mình.

Mã nguồn [Chọn]
jupyter lab build
Để kiểm tra danh sách các tiện ích mở rộng đã cài đặt trên JupyterLab, hãy chạy lệnh sau jupyter.

Mã nguồn [Chọn]
jupyter labextension list
6. Chạy JupyterLab dưới dạng dịch vụ systemd

Quá trình cài đặt JupyterLab của bạn đã hoàn tất nhưng chưa chạy. Bạn có thể khởi động JupyterLab theo cách thủ công thông qua dòng lệnh hoặc, giải pháp tốt hơn là chạy JupyterLab dưới dạng dịch vụ systemd, vì vậy bạn phải tạo tệp dịch vụ systemd mới cho JupyterLab.

Trước khi bạn bắt đầu định cấu hình dịch vụ systemd của JupyterLab, hãy chạy lệnh sau để xác định thư mục dự án của bạn. Trong ví dụ này, tất cả các dự án đều nằm trong thư mục "~/Dev/jupyterlab ".

Mã nguồn [Chọn]
mkdir -p ~/Dev/jupyterlab
Bây giờ, hãy tạo một thư mục mới cho tệp dịch vụ systemd "~/.config/systemd/user/ " và tạo tệp dịch vụ JupyterLab mới "jupyterlab.service " bằng trình chỉnh sửa nano.

Mã nguồn [Chọn]
mkdir -p ~/.config/systemd/user/
nano ~/.config/systemd/user/jupyterlab.service

Dán cấu hình sau vào tệp. Đảm bảo rằng bạn thay đổi các chi tiết cấu hình như cổng, địa chỉ IP và thư mục làm việc của dự án.

Mã nguồn [Chọn]
[Unit]
Description=JupyterLab

[Service]
ExecStart=/home/john/.local/bin/jupyter lab --no-browser --port=8888 --ip=0.0.0.0 --NotebookApp.token= --notebook-dir=/home/john/Dev/jupyterlab
WorkingDirectory=/home/john/Dev/jupyterlab

[Install]
WantedBy=default.target

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, chạy lệnh sau để kích hoạt tính năng kéo dài người dùng cho người dùng "john " và tải lại trình quản lý systemd.

Mã nguồn [Chọn]
sudo loginctl enable-linger john
XDG_RUNTIME_DIR="/run/user/$UID" systemctl --user daemon-reload

Bây giờ bạn có thể bắt đầu và kích hoạt dịch vụ JupyterLab bằng lệnh bên dưới.

Mã nguồn [Chọn]
XDG_RUNTIME_DIR="/run/user/$UID" systemctl --user enable jupyterlab.service
XDG_RUNTIME_DIR="/run/user/$UID" systemctl --user start jupyterlab.service


Kiểm tra và xác minh dịch vụ JupyterLab bằng lệnh sau. Bạn sẽ thấy JupyterLab đang chạy dưới dạng dịch vụ systemd trên cổng "8888 ".

Mã nguồn [Chọn]
XDG_RUNTIME_DIR="/run/user/$UID" systemctl --user status jupyterlab.service

7. Bảo mật JupyterLab bằng SSL

Bây giờ bạn sẽ tìm hiểu cách bảo mật cài đặt JupyterLab của mình bằng chứng chỉ SSL. Đây là phương pháp được khuyến nghị để bảo mật JupyterLab của bạn, đặc biệt nếu bạn đang chạy nó trên internet công cộng. Nếu bạn ở môi trường địa phương, bạn có thể sử dụng chứng chỉ tự ký, nhưng nếu bạn đang sử dụng Internet công cộng, bạn có thể sử dụng SSL miễn phí từ Letsencrypt. Bạn cũng phải có một tên miền trỏ đến địa chỉ IP công cộng của máy chủ của bạn.

Để tạo SSL miễn phí từ Letsencrypt, bạn cần cài đặt công cụ máy khách Letsencrypt như certbot trên hệ thống của mình. Chạy lệnh apt sau để cài đặt công cụ certbot trên hệ thống Ubuntu của bạn.

Mã nguồn [Chọn]
sudo apt install certbot
Gõ Y để xác nhận cài đặt và nhấn ENTER để tiếp tục.

Sau khi cài đặt hoàn tất, hãy chạy lệnh certbot bên dưới để tạo SSL Letsencrypt. Đảm bảo bạn thay đổi địa chỉ email và tên miền. Địa chỉ email sẽ được sử dụng để thông báo cho bạn khi chứng chỉ hết hạn và bạn cần gia hạn.

Mã nguồn [Chọn]
certbot certonly --standalone -m [email protected] --agree-tos --no-eff-email -d domain.com
Bây giờ chứng chỉ của bạn đã có sẵn trong thư mục "/etc/letsencrypt/live/yourdomain.com".

Tiếp theo, chạy lệnh sau để thay đổi quyền và chủ sở hữu của thư mục "/etc/letsencrypt". Điều này là cần thiết vì JupyterLab của bạn đang chạy với tư cách người dùng không phải root.

Mã nguồn [Chọn]
sudo chmod 750 /etc/letsencrypt
sudo chown -R john:john /etc/letsencrypt

Bây giờ hãy đăng nhập với tư cách người dùng "john " và chỉnh sửa tệp cấu hình JupyterLab "~/.jupyter/jupyter_lab_config.py " bằng trình chỉnh sửa nano.

Mã nguồn [Chọn]
su - john
nano ~/.jupyter/jupyter_lab_config.py

Xóa nhận xét trong các dòng sau và thay đổi đường dẫn của chứng chỉ SSL như được chỉ ra bên dưới.

Mã nguồn [Chọn]
c.ServerApp.certfile = '/etc/letsencrypt/live/hwdomain.io/fullchain.pem'
c.ServerApp.keyfile = '/etc/letsencrypt/live/hwdomain.io/privkey.pem'

Lưu và đóng tập tin khi bạn hoàn tất.

Cuối cùng, bạn có thể khởi động lại dịch vụ JupyterLab để áp dụng các thay đổi trong tệp cấu hình. Hiện JupyterLab đang chạy an toàn với chứng chỉ SSL được bật.

Mã nguồn [Chọn]
XDG_RUNTIME_DIR="/run/user/$UID" systemctl --user restart jupyterlab.service
8. Truy cập JupyterLab qua trình duyệt web

Mở trình duyệt web và nhập tên miền có cổng JupyterLab "8888 " (tức là   Đăng nhập để xem liên kết ) vào thanh địa chỉ. Sau đó, bạn sẽ được chuyển hướng đến đường dẫn URL "/lab ".

Nhập mật khẩu để cài đặt JupyterLab của bạn và nhấp vào nút "Đăng nhập ".


Nếu mật khẩu của bạn đúng, bạn sẽ thấy bảng điều khiển người dùng JupyterLab ở phía dưới. Từ đó, bạn có thể tạo sổ ghi chép Jupyter mới, truy cập bảng điều khiển iPython và bảng điều khiển đầu cuối, đồng thời tạo một tệp mới bằng Markdown, Python và tệp văn bản.


Tiếp theo, nhấp vào biểu tượng "Trình quản lý tiện ích mở rộng " trong menu bên trái rồi nhấp vào "Kích hoạt ". Bây giờ bạn có thể cài đặt tiện ích mở rộng JupyterLab thông qua giao diện người dùng JupyterLab. Bạn có thể xem cả tiện ích mở rộng chính thức và cộng đồng trong phần " KHÁM PHÁ " và có thể tìm thấy danh sách các tiện ích mở rộng đã cài đặt trong phần " ĐÃ CÀI ĐẶT ".


Chúc mừng! Bây giờ bạn đã cài đặt thành công JupyterLab trên hệ thống Ubuntu 22.04 mới nhất. Bạn cũng đã học cách định cấu hình JupyterLab và cách cài đặt các tiện ích mở rộng JupyterLab. Bạn cũng đã bảo mật quá trình cài đặt JupyterLab bằng xác thực mật khẩu và chứng chỉ SSL.