Гид по технологиям

Установка и настройка ArchiveBox на Ubuntu 22.04

• 7 min read • Инструкции • Обновлено 27 Nov 2025
Установка ArchiveBox на Ubuntu 22.04
Установка ArchiveBox на Ubuntu 22.04

ArchiveBox — лёгкий инструмент для создания точных снимков веб‑страниц. В статье подробно показано, как установить ArchiveBox на Ubuntu 22.04, настроить веб‑интерфейс через Nginx, добавить первые страницы и настроить поведение архивирования. Приведены рекомендации по безопасности, резервному копированию и чек‑листы для администратора и пользователя.

Оглавление

  • Почему важно архивировать сайты
  • Требования ArchiveBox
  • Установка зависимостей и ArchiveBox
  • Подготовка веб‑GUI через Nginx
  • Архивирование первой страницы через веб и CLI
  • Настройка форматов и пользователей
  • Практические рекомендации по безопасности и хранению
  • Часто задаваемые вопросы
  • Критерии приёмки и тестовые сценарии

Почему важно архивировать сайты

За годы развития сети страницы часто исчезают или меняют содержимое. Архивирование создаёт локальную, воспроизводимую копию: HTML, скриншот, PDF, WARC и другие форматы. Это важно для исследователей, журналистов, юристов и любой организации, где нужна гарантия непотери информации.

Ключевая идея ArchiveBox — получать снимок страницы «как есть» и хранить набор артефактов, достаточных для восстановления внешнего вида и контента.

Изображение: пример устаревшего сайта с 1990‑х

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

Требования ArchiveBox

Перед установкой убедитесь в следующем:

  • Наличие машины, доступной извне (порт‑форвардинг на домашнем роутере или удалённый VPS).
  • Достаточный объём диска. В типичном сценарии 1 ТБ способен хранить от десятков тысяч до миллионов страниц, в зависимости от включённых форматов (скриншоты занимают мало, WARC/PDF — больше).
  • Файловая система должна быть EXT4 или ZFS для корректной работы некоторых оптимизаций ArchiveBox.

Примечание: этот материал ориентирован на локальную установку на Ubuntu 22.04 LTS.

Подготовка к установке и общая стратегия

Рекомендуемая последовательность действий:

  1. Обновить систему и установить зависимости.
  2. Установить ArchiveBox через pip в виртуальной среде пользователя или глобально для системного использования.
  3. Создать выделённый каталог для репозиториев ArchiveBox и настроить права доступа.
  4. Настроить Nginx как обратный прокси для веб‑интерфейса и включить HTTPS (например, через Certbot).
  5. Настроить резервное копирование каталога архива и репликацию (при необходимости).

Эта последовательность минимизирует простои и облегчает откат, если что‑то пойдёт не так.

Установка зависимостей и ArchiveBox

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

sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 nodejs python3-pip nginx npm

# Устанавливаем некоторые npm‑пакеты, используемые ArchiveBox
npm install --no-audit --no-fund 'git+https://github.com/gildas-lormeau/SingleFile.git'
npm install --no-audit --no-fund 'git+https://github.com/ArchiveBox/readability-extractor.git'
npm install --no-audit --no-fund '@postlight/mercury-parser'

Далее установим ArchiveBox через pip:

pip3 install --user --upgrade archivebox
# Добавьте локальную папку бинарников в PATH (временно для сессии)
export PATH=$PATH:/home/$USER/.local/bin
# Чтобы сделать изменение постоянным, добавьте строку в ~/.profile или ~/.bashrc

Создаём каталог для данных ArchiveBox и переходим в него:

mkdir -p /home/$USER/abox-data && cd /home/$USER/abox-data

Инициализируем репозиторий ArchiveBox и применяем начальную настройку:

archivebox init --setup

В процессе будет запрошена информация о первом пользователе и инициализации базы данных.

Проверьте, что ArchiveBox установлен:

archivebox --version

Изображение: установка зависимостей и бинарника ArchiveBox

Изображение: пример вывода установки ArchiveBox

Подготовка веб‑GUI через Nginx

ArchiveBox может работать как демон с веб‑интерфейсом. Рекомендуется запускать веб‑GUI за обратным прокси (Nginx) и обеспечивать HTTPS.

  1. Создайте файл конфигурации Nginx:
sudo nano /etc/nginx/sites-available/archivebox
  1. Пример конфигурации. Замените server_name на ваш домен:
server {
    listen 80;
    listen [::]:80;

    root /home/archivebox/abox-data;

    server_name yetanotherarchivebox.xyz www.yetanotherarchivebox.xyz;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. Включите сайт и перезапустите Nginx:
sudo ln -s /etc/nginx/sites-available/archivebox /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
  1. Настройте HTTPS через Certbot (рекомендуется):
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yetanotherarchivebox.xyz -d www.yetanotherarchivebox.xyz
  1. Запустите демон ArchiveBox:
archivebox server 0.0.0.0:8000

Теперь веб‑интерфейс будет доступен по вашему домену.

Изображение: запуск веб‑GUI ArchiveBox в браузере

Важно: если планируете публичный доступ, используйте ограничение доступа по IP, базовую аутентификацию Nginx или настройку HTTPS + HSTS.

Архивирование первой страницы через веб‑интерфейс

Откройте браузер и перейдите на ваш домен (например, https://yetanotherarchivebox.xyz). Нажмите кнопку “LOG IN” в правом верхнем углу и используйте учётные данные, заданные при инициализации.

Изображение: кнопка входа на веб‑интерфейсе ArchiveBox

Нажмите “Add” в верхней панели, вставьте список URL и при необходимости добавьте теги и параметры. Нажмите “Add URLs and Archive” — процесс обычно занимает от одной до нескольких минут в зависимости от форматов и размера страниц.

Изображение: диалог добавления URL в ArchiveBox

Изображение: прогресс архивирования

Архивирование через командную строку

Если вы предпочитаете CLI, в том же каталоге репозитория (/home/$USER/abox-data) выполните:

cd /home/$USER/abox-data
archivebox add --depth=1 https://maketecheasier.com

Команда добавит страницу и сохранит артефакты. Чтобы импортировать список ссылок из файла:

archivebox add 

Для одноразовой самодостаточной копии страницы (oneshot):

archivebox oneshot https://maketecheasier.com

Изображение: добавление через CLI

Изображение: импорт списка URL из файла bookmarks.txt

Изображение: пример one‑shot архива страницы

Настройка форматов хранения и оптимизация дискового пространства

ArchiveBox поддерживает несколько форматов: WGET HTML, WARC, PDF, SingleFile (одиночный HTML), Readability, Mercury, скриншоты и др. По умолчанию сохраняется много форматов, что даёт максимальную надёжность, но требует диска.

Чтобы сэкономить место и хранить только скриншоты, отключите ненужные форматы:

archivebox config --set SAVE_WGET=False
archivebox config --set SAVE_WARC=False
archivebox config --set SAVE_PDF=False
archivebox config --set SAVE_SINGLEFILE=False
archivebox config --set SAVE_READABILITY=False
archivebox config --set SAVE_MERCURY=False

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

Изображение: интерфейс настроек форматов ArchiveBox

Управление пользователями и разрешениями

Добавление нового пользователя выполняется через веб‑GUI в разделе Admin → Authentication and Authorization → Users. Процесс похож на создание учётной записи в приложении: нужен username, пароль и набор разрешений.

Базовый набор прав для обычного пользователя:

core | archive result | Can add archive result
core | archive result | Can change archive result
core | archive result | Can view archive result
core | snapshot | Can add snapshot
core | snapshot | Can change snapshot
core | snapshot | Can view snapshot
core | tag | Can add Tag
core | tag | Can change Tag
core | tag | Can view Tag
sessions | session | Can add session
sessions | session | Can change session
sessions | session | Can view session

Пример: создаём пользователя “alice” и назначаем указанные права.

Изображение: создание пользователя в Admin панели ArchiveBox

Изображение: ввод пароля для нового пользователя

Изображение: выбор разрешений для нового пользователя

Изображение: сохранение нового пользователя

Совет: для организаций выделяйте пользователей в роли (администратор, архиватор, читатель) и минимизируйте права до необходимых.

Практические рекомендации по безопасности и резервному копированию

  1. HTTPS и автоматическое обновление сертификатов обязательны при публичном доступе.
  2. Ограничьте доступ к веб‑интерфейсу: VPN, IP‑фильтрация, двухфакторная аутентификация через прокси.
  3. Регулярно обновляйте ArchiveBox и зависимости (pip3 install –user –upgrade archivebox).
  4. Резервное копирование: сохраняйте каталог /home/$USER/abox-data на удалённый диск или в объектное хранилище. Периодически проверяйте целостность и возможность восстановления.
  5. Следите за дисковым пространством и настраивайте оповещения (напоминания cron, мониторинг диска).
  6. При хранении личных данных убедитесь в соответствии с внутренними правилами безопасности и местными законами о защите данных.

Советы по совместимости и миграции

  • При переносе репозитория ArchiveBox на новый сервер копируйте весь каталог abox-data целиком и проверьте версии Python/pip. Лучше использовать ту же версию ArchiveBox.
  • Если вы включали WARC/PDF/SingleFile, убедитесь, что на новом сервере установлены соответствующие внешние утилиты.

Когда ArchiveBox может не подойти

  • Если вам нужно масштабируемое распределённое архивирование с миллионами страниц в короткие сроки, лучше рассмотреть кастомные пайплайны или специализированные решения с кластерным хранилищем.
  • ArchiveBox ориентирован на запись «снимков» и локальное хранение; при требовании правок/коллаборации в реальном времени система ограничена.

Чек‑лист ролей

Администратор:

  • Установить систему и зависимости
  • Настроить Nginx и HTTPS
  • Настроить резервное копирование
  • Назначить роли и права
  • Настроить мониторинг диска

Архиватор (пользователь с правом добавления):

  • Проверить URL перед добавлением
  • Указывать теги и источник
  • Периодически проверять успешность snapshots
  • Сообщать администратору об ошибках сети

Читатель:

  • Использовать веб‑GUI для поиска и экспорта
  • Запрашивать у админа доступ при необходимости

SOP для быстрого восстановления после сбоя

  1. Остановить процессы ArchiveBox
  2. Восстановить каталог abox-data из резервной копии
  3. Проверить права и владельца файлов (chown -R archivebox:archivebox /home/archivebox/abox-data)
  4. Перезапустить демоны и Nginx
  5. Выполнить выборочную проверку нескольких архивов

Критерии приёмки

  • Веб‑интерфейс доступен по HTTPS
  • Пользователь с базовыми правами может добавлять URL и видеть результат
  • Архивные артефакты (скриншот и HTML) корректно сохраняются и открываются
  • Каталог abox-data корректно резервируется и восстанавливается

Тестовые сценарии

  1. Добавление одной страницы через веб и проверка наличия артефактов.
  2. Добавление списка URL через CLI и сравнение количества обработанных записей.
  3. Симуляция отсутствия HTTPS: добавление http:// URL через CLI.
  4. Проверка ограничения прав: пользователь без прав add не должен иметь возможность добавлять URL.

Часто задаваемые вопросы

Почему возникает ошибка “Failed to install Python packages”?

Иногда pip не может найти или собрать бинарные зависимости. Чаще всего проблема решается обновлением pip и установкой последней версии ArchiveBox:

pip3 install --user --upgrade pip
pip3 install --user --upgrade archivebox

Если ошибка повторяется, проверьте сообщения установки для конкретного пакета и установите пропущенные системные библиотеки.

Как исправить ошибку HTTPSConnectionPool при добавлении сайта?

Эта ошибка появляется, если сайт не поддерживает корректный HTTPS. В таком случае явно укажите HTTP в URL:

archivebox add http://insecurewebsite.com

Если сайт поддерживает HTTPS, но сертификат проблемный, можно временно использовать опцию обхода проверки, но это снижает безопасность.

Что делать, если новый пользователь не может архивировать?

Проверьте набор разрешений в Admin → Users. Для возможности архивирования требуется разрешение core | snapshot | Can add snapshot.

1‑строчный глоссарий

  • Snapshot: сохранённый набор артефактов страницы в момент времени.
  • WARC: стандартный формат архивирования для хранения HTTP‑сессий и содержимого.
  • SingleFile: формат одного HTML‑файла с вшитыми ресурсами.

Короткая проверка безопасности и приватности

  • Не храните в общедоступном репозитории личные данные без согласия.
  • Для юридически значимых копий используйте WARC и дополнительное хеширование артефактов.
  • Логируйте доступ к веб‑GUI и храните логи отдельно.

Image credit: Unsplash. Все скриншоты и правки — Ramces Red.

Итог

ArchiveBox — мощный инструмент для локального архивирования веб‑контента. Он прост в установке на Ubuntu 22.04 и даёт гибкие возможности по выбору форматов и настройке доступа. При правильной настройке резервного копирования и безопасности ArchiveBox может стать надёжной частью рабочего процесса по сохранению цифровых материалов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро