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

Установка BIKA LIMS и ReportLab на Ubuntu

6 min read BIKA LIMS Обновлено 18 Oct 2025
Установка BIKA LIMS и ReportLab на Ubuntu
Установка BIKA LIMS и ReportLab на Ubuntu

Введение

Ниже — подробный пошаговый гайд по установке BIKA LIMS и ReportLab, включая установку шрифтов BIKA и конфигурацию rl_config.py и zope.conf. Команды приведены с сохранёнными переменными оболочки (например $BIKA_WGET_ADDRESS). Замените их на реальные значения перед выполнением.

Важно: инструкция ориентирована на старые версии Ubuntu и Python (в примере — python2.4). Для современных систем нужны другие шаги (pip, virtualenv, совместимость с Python 3.x) — см. раздел «Альтернативные подходы» и «Совместимость».

Требования и пояснения переменных

  • Переменные вида $DOWNLOAD_DIR, $MY_PRODUCTS_DIR, $BIKA_TARBALL и т. п. — обязательно замените на реальные пути/имена файлов.
  • Примеры используют sudo. Если вы уже под root, sudo можно опустить.
  • Порты: Zope обычно 8080, id-server в примере 8081. Проверьте занятость портов.

1. Загрузка и распаковка BIKA и ReportLab

Выполните загрузку пакетов. Команды приведены без изменений — используйте свои значения переменных.

sudo wget $BIKA_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo tar -xzf $DOWNLOAD_DIR/$BIKA_TARBALL -C $MY_PRODUCTS_DIR
sudo wget $REPORTLAB_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo tar -xzvf $DOWNLOAD_DIR/$REPORTLAB_TARBALL -C $MY_PRODUCTS_DIR

2. Установка версии ReportLab, совместимой с системой

Для интеграции с Ubuntu (в примере — Hardy Heron) установите пакет из репозитория:

sudo apt-get install python-reportlab

Примечание: на современных системах пакет называется иначе или устанавливается через pip в виртуальное окружение (см. раздел «Альтернативные подходы»).

3. Подготовка и установка шрифтов BIKA для ReportLab

Создайте каталог для шрифтов BIKA, скачайте архив и распакуйте:

sudo mkdir $MY_PRODUCTS_DIR/$BIKAFONTS_DIR
sudo wget $BIKAFONTS_WGET_ADDRESS -P $DOWNLOAD_DIR
sudo cp $DOWNLOAD_DIR/$BIKAFONTS_ZIPFILE $MY_PRODUCTS_DIR/$BIKAFONTS_DIR/$BIKAFONTS_ZIPFILE
sudo apt-get install unzip
cd $MY_PRODUCTS_DIR/$BIKAFONTS_DIR
sudo unzip -j $MY_PRODUCTS_DIR/$BIKAFONTS_DIR/$BIKAFONTS_ZIPFILE

Найдите, где установлен reportlab (в примере ищем папку для python2.4):

REPORTLAB_INSTALL_LOCATION=`sudo find / -name reportlab -print | grep python2.4`

Создайте каталог fonts внутри установки reportlab и скопируйте шрифты:

INSTALLED_FONTS_DIR=$REPORTLAB_INSTALL_LOCATION/fonts
sudo mkdir $INSTALLED_FONTS_DIR
sudo cp $MY_PRODUCTS_DIR/$BIKAFONTS_DIR/* $INSTALLED_FONTS_DIR

Показать путь к установленным шрифтам (для последующей вставки в конфигурацию):

$INSTALLED_FONTS_DIR

Например: usr/lib/python2.4/site-packages/reportlab/fonts

4. Правка конфигурации ReportLab (rl_config.py)

Откройте файл конфигурации ReportLab и добавьте путь к шрифтам BIKA.

sudo nano $REPORTLAB_INSTALL_LOCATION/rl_config.py

В nano: используйте стрелки, Ctrl-K/Ctrl-U для вырезания/вставки, Ctrl-X и Y для сохранения.

Найдите строку, описывающую местоположение системных Adobe-шрифтов, например:

'/usr/lib/Acrobat9/Resource/Font',     #Linux, Acrobat 5?

Скопируйте её и измените на путь к папке с шрифтами BIKA, который вы получили ранее. Пример:

'usr/lib/python2.4/site-packages/reportlab/fonts',     #Linux, BIKA fonts

Сохраните и выйдите.

5. Установка BIKA в Plone (копирование Products)

Скопируйте продукт BIKA в каталог Products экземпляра Plone и скрипт start-id-server:

sudo cp $MY_PRODUCTS_DIR/$BIKA_VERSION/PloneProducts/* $INSTANCE_HOME/Products -r
sudo cp $INSTANCE_HOME/Products/bika/scripts/start-id-server $INSTANCE_HOME

Если у вас несколько экземпляров Plone, возможно, потребуется изменить порт в start-id-server (8081 может быть занят). В одном экземпляре этого делать не нужно.

6. Правка zope.conf для указания id-server

Найдите файл zope.conf:

ZOPECONF_FILE=`sudo find / -name zope.conf -print`

Откройте его в nano:

sudo nano $ZOPECONF_FILE

Найдите секцию environment и измените/добавьте строку так, чтобы она выглядела именно так:

    
      IDServerURL http://localhost:8081
    

Сохраните изменения.

7. Запуск id-server и Zope

Запустите id-server от имени пользователя, под которым работает Plone/инстанс, затем запустите Zope:

su USERNAME $INSTANCE_HOME/start-id-server
$INSTANCE_HOME/bin/zopectl start

Где USERNAME — имя пользователя, заданное при установке Ubuntu или под которым должен работать инстанс.

8. Доступ к Zope и созданию сайта BIKA

Откройте браузер и перейдите в Zope Management Interface (ZMI):

http://LIMSERVERlocalip:8080

LIMSERVERlocalip — IP-адрес сервера, который можно узнать через ifconfig или ip addr.

Авторизация: введите пользователя admin и пароль. Если вы не знаете пароль, найдите файл с паролями:

sudo find / -name *password*

Откройте файл через sudo nano и посмотрите значение.

Создание Plone-сайта BIKA через ZMI:

  • В ZMI выберите Manage, затем Add.
  • Выберите Plone site из выпадающего меню.
  • В поле id укажите имя сайта, например bika-site-name.
  • В опциях ниже выберите bika и нажмите Add.

После завершения установка сайта будет доступна по адресу:

http://LIMSERVERlocalip:8080/bika-site-name

Поздравляем — BIKA должен быть доступен.

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

  • Zope запущен и доступен по порту 8080.
  • id-server запущен и слушает указанный порт (например 8081).
  • reportlab видит папку с шрифтами (путь прописан в rl_config.py).
  • В ZMI можно создать Plone site и выбрать BIKA при добавлении.
  • Сайт BIKA открывается в браузере и загружает интерфейс.

Тесты и контрольные проверки (короткая проверка работоспособности)

  • curl http://localhost:8080 должен вернуть HTTP-ответ от Zope.
  • Проверить наличие каталога fonts в пути установки reportlab и наличие файлов шрифтов.
  • При ошибках в логах Zope/Plone ищите сообщения про отсутствующие модули или шрифты.

Технические заметки, когда инструкция НЕ сработает

  • Если ваша система использует Python 3.x и современные пакеты, поиск reportlab для python2.4 не найдёт нужную папку — используйте pip/virtualenv и установите reportlab в виртуальное окружение Plone.
  • Если Plone установлен через buildout или в виртуальном окружении, копирование в INSTANCE_HOME/Products — не корректный путь; используйте конфигурацию buildout и пересоберите.
  • Современные Ubuntu используют systemd-юниты; команды запуска differ: используйте systemctl для управления сервисами.

Альтернативные подходы

  • Установка reportlab через pip в виртуальном окружении: python -m venv /srv/plone/venv && source /srv/plone/venv/bin/activate && pip install reportlab
  • Для шрифтов: можно указать прямой путь к шрифтам в коде генерации PDF вместо изменения rl_config.py.
  • Для множественных инстансов: вынесите id-server как systemd-сервис с индивидуальным портом для каждого инстанса.

Рекомендации по безопасности и GDPR (коротко)

  • Ограничьте доступ к ZMI по IP или используйте обратный прокси с аутентификацией.
  • Храните пароли отдельно и защищённо, не сохраняйте их в открытых файлах.
  • Для рабочей среды обязательно используйте TLS/HTTPS.

Роль‑ориентированные контрольные списки

  • Системный администратор:
    • Проверить порты и права на файлы.
    • Настроить автозапуск id-server и Zope (systemd/init).
  • Разработчик Plone/BIKA:
    • Убедиться, что версии BIKA совместимы с вашей версией Plone.
    • Протестировать генерацию PDF и корректность шрифтов.
  • Оператор (DevOps):
    • Мониторинг процессов (Zope, id-server).
    • Резервное копирование конфигураций и БД.

Быстрая инструкция по откату/rollback

  • Удалите скопированные Products из INSTANCE_HOME/Products, верните прежний rl_config.py (сохраните резервную копию перед правкой).
  • Остановите zopectl и id-server.
  • Разверните резервную копию и перезапустите.

Журнал типичных проблем и их решений

  • Проблема: Zope не стартует — проверьте логи $INSTANCE_HOME/var/log/ (или stdout при запуске). Частая причина: неправильные права или отсутствующие зависимости.
  • Проблема: ReportLab не видит шрифты — убедитесь, что путь в rl_config.py точный и права на файлы позволяют чтение для пользователя сервиса.
  • Проблема: Порт 8081 занят — смените порт в start-id-server и zope.conf на незанятый.

Совместимость и миграция (советы)

  • Для современных Ubuntu и Python 3: мигрируйте BIKA/Plone на поддерживаемые версии, используйте virtualenv / pip / buildout.
  • Перед миграцией проверьте совместимость версий BIKA с версией Plone.

Краткое завершение

Эта инструкция даёт последовательность действий для установки BIKA LIMS и интеграции шрифтов ReportLab на сервере Ubuntu (примерно как в Hardy Heron). Для современных систем рекомендуется адаптировать шаги установки ReportLab и управление Python-окружением.

Важно: всегда делайте резервные копии конфигурационных файлов перед изменениями.

Сводка действий:

  1. Загрузить и распаковать пакеты.
  2. Установить reportlab из репозитория (или pip).
  3. Скопировать и распаковать шрифты в папку reportlab/fonts.
  4. Править rl_config.py и zope.conf.
  5. Запустить id-server и Zope, создать Plone сайт с BIKA.

Удачной установки!

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

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

Кастомная фотография профиля на Netflix
Руководство

Кастомная фотография профиля на Netflix

Как превратить iPhone в точку доступа
Гайды

Как превратить iPhone в точку доступа

Как отменить подписку Fortnite Crew
Игры

Как отменить подписку Fortnite Crew

Онлайн‑подготовка к теории LGV
Водительские права

Онлайн‑подготовка к теории LGV

Терминальный сервер на Ubuntu 9.10 с FreeNX
Администрирование

Терминальный сервер на Ubuntu 9.10 с FreeNX

Отключить жесты тачпада в Windows 8/8.1
Windows

Отключить жесты тачпада в Windows 8/8.1