Jupyter Notebook — это веб-приложение с открытым исходным кодом, позволяющее создавать и делиться документами, содержащими живой код, уравнения, визуализации и повествовательный текст. Оно широко используется в различных областях, таких как наука о данных, машинное обучение, научные вычисления и образование.

Термин «Jupyter» происходит от объединения трех языков программирования: Julia, Python и R. Это были первые языки, поддерживаемые проектом Jupyter, но теперь он поддерживает многие другие языки программирования через свой протокол интерактивных вычислений.

В этом руководстве мы покажем вам, как установить Jupyter Notebook на ОС Debian 12 с веб-сервером Apache.

Шаг 1: Обновите операционную систему

Обновите свой Debian 12 Обновите операционную систему до последней версии с помощью следующей команды:

# apt update && apt upgrade -y

Шаг 2: Установка Pip на Debian 12

Питон По умолчанию он уже установлен в Debian 12. Вы можете проверить его версию:

# python3 -V
Output:
Python 3.11.2

Если нет, установите Питон с помощью следующей команды:

# apt install python3

Затем используйте следующую команду для установки пип и венв это Дебиан 12:

# apt install python3-venv python3-pip

Проверьте установку pip, проверив его версию:

# pip3 --version
Output:
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)

Шаг 3: Установка Jupyter Notebook с помощью Virtualenv

Сначала создайте каталог и перейдите в него с помощью следующих команд:

# mkdir /var/www/notebook 
# cd /var/www/notebook

Перед установкой Jupyter Notebook вам необходимо создать виртуальную среду Python.

# python3 -m venv notebook_env

Далее активируйте виртуальную среду с помощью следующей команды:

# source notebook_env/bin/activate

Далее установите Jupyter Notebook с помощью следующей команды:

(notebook_env) # pip install jupyter

После завершения установки запустите Jupyter Notebook с помощью следующей команды:

(notebook_env) # jupyter notebook --allow-root

нажмите CTRL+C чтобы остановить Jupyter Notebook.

Шаг 4: Создайте пароль Jupyter Notebook

Сначала создайте файл конфигурации Jupyter Notebook с помощью следующей команды:

(notebook_env) # jupyter notebook --generate-config

Вы должны увидеть следующий вывод:

Writing default config to: /root/.jupyter/jupyter_notebook_config.py

Затем выполните следующую команду и введите предпочитаемый вами пароль:

(notebook_env) # jupyter notebook password

Установите пароль, как показано ниже:

Enter password: 
Verify password: 
[JupyterPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_server_config.json

Эту функцию можно использовать для сброса утерянного пароля или в случае, если вы считаете, что ваши учетные данные были украдены, и хотите изменить пароль.

Вы можете подготовить хешированный пароль вручную, используя функцию jupyter_server.auth.passwd():

>>> jupyter_server.auth import passwd
>>> passwd()
Enter password:
Verify password:
'argon2:$argon2id$v=19$m=10240,t=10,p=8$WGqsBZQPacu0FwsczXPlIQ$VXMyCfkJJZETyjdB6aWNSu/t0OrLAVhpkM15wKJYQRU'

Затем добавьте хешированный пароль к вашему jupyter_notebook_config.py файл:

nano /root/.jupyter/jupyter_notebook_config.py
c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$WGqsBZQPacu0FwsczXPlIQ$VXMyCfkJJZETyjdB6aWNSu/t0OrLAVhpkM15wKJYQRU'

Теперь деактивируйте виртуальную среду Python с помощью следующей команды:

deactivate

Шаг 5: Создание службы Systemd

Далее, хорошей идеей будет создать файл службы systemd для обработки Jupyter Notebook service. Вы можете создать его с помощью следующей команды:

# nano /lib/systemd/system/jupyter.service

Добавьте следующие строки:

[Unit]
Description=Jupyter Notebook

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/var/www/notebook/notebook_env/bin/jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py --allow-root
User=root
Group=root
WorkingDirectory=/var/www/notebook/notebook_env
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, а затем перезагрузите демон systemd с помощью следующей команды:

# systemctl daemon-reload

Затем начните jupyter service и активируйте его при запуске системы с помощью следующей команды:

# systemctl start jupyter
# systemctl enable jupyter

Отредактируйте файл конфигурации и включите удаленный доступ:

nano /root/.jupyter/jupyter_notebook_config.py

Раскомментируйте и измените следующую строку на Истинный:

c.ServerApp.allow_remote_access = True

Для реализации изменений необходимо перезапустить jupyter service:

# systemctl restart jupyter

Шаг 6: Настройте Apache как обратный прокси-сервер для Jupyter Notebook

Jupyter Notebook запущен и работает на порту 8888. Вы можете установить его через apt менеджер пакетов, выполнив следующую команду.

# apt install apache2

Вы можете проверить статус службы Apache с помощью статус systemctl команда:

# systemctl status apache2

Далее выполните следующие команды для включения необходимых модулей:

# /usr/sbin/a2enmod proxy
# /usr/sbin/a2enmod proxy_http

Выполните команды ниже, чтобы создать новый файл VirtualHost с именем юпитер в каталоге /etc/apache2/sites-available/.

# nano /etc/apache2/sites-available/jupyter.conf

Вставьте содержимое, как показано ниже:

 <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    ProxyPass / http://127.0.0.1:8888/
    ProxyPassReverse / http://127.0.0.1:8888/> 

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common

 </VirtualHost>

Не забудьте заменить your-domain.com с доменным именем вашего сервера.

Затем сохраните и выйдите из файла конфигурации.

Чтобы включить этот сайт, выполните следующую команду:

# ln -s /etc/apache2/sites-available/jupyter.conf /etc/apache2/sites-enabled/jupyter.conf

Для применения изменений необходимо перезапустить веб-сервер Apache:

# systemctl restart apache2

Шаг 7: Доступ к веб-интерфейсу Jupyter Notebook

Откройте веб-браузер, используя URL-адрес http://your-domain.com. Вы должны увидеть страницу входа в Jupyter:

Страница входа в Jupyter

Введите свой пароль и нажмите на кнопку Авторизоваться кнопка. Вы должны увидеть панель инструментов на следующем экране:

Панель управления Jupyter