Перейти к содержанию

Обзор развертывания Apache Solr на сервере

Предварительные требования

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

  • Операционная система: Ubuntu.

  • Установленный Docker и Docker Compose.

  • Доступ к внешним ресурсам для получения SSL-сертификатов через Certbot.

  • Открытые порты: 443 (внешний HTTPS) и 3000 (внутренний порт приложения).

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу управления используется следующий шаблон домена:

Параметр Значение
Префикс apache-solr
Домен hostkey.in
Полный шаблон apache-solr{Server_ID}.hostkey.in

Структура файлов и каталогов

Основные данные и конфигурации расположены по следующим путям:

  • /opt/solr/data — директория для хранения данных Apache Solr.

  • /root/nginx — рабочая директория конфигураций прокси-сервера Nginx.

  • /data/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для Certbot.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системных директорий: Создаются необходимые папки для хранения данных Solr с установленными правами доступа (владелец 8983).

  2. Инициализация безопасности: В директорию /opt/solr/data/data помещается файл конфигурации security.json, который отвечает за управление доступом.

  3. Развертывание контейнера Solr: Запуск основного приложения в Docker-контейнере с использованием образа solr:9. Приложение работает в режиме host для обеспечения сетевой доступности.

  4. Настройка учетных данных: Выполняется автоматическая настройка администратора через API (пользователь root) и установка пароля.

  5. Настройка прокси-сервера: Создается конфигурация Nginx для обеспечения работы по протоколу HTTPS с использованием SSL-сертификатов.

Права доступа и безопасность

  • Для данных Solr установлены специфические права доступа (UID/GID 8983) для обеспечения безопасности процесса внутри контейнера.

  • Файл security.json имеет ограниченные права на чтение (0640).

  • Доступ к приложению осуществляется через защищенный HTTPS прокси-сервер.

Базы данных

Apache Solr использует локальное хранилище, которое монтируется из хостовой системы в контейнер по пути /var/solr. Все данные сохраняются в директории /opt/solr/data на сервере.

Контейнеры Docker и их запуск

В системе работают следующие контейнеры:

Apache Solr

  • Имя образа: solr:9

  • Порты: 3000 (через режим host)

  • Тома: /opt/solr/data \(\rightarrow\) /var/solr

  • Переменные окружения: SOLR_PORT=3000

  • Политика перезапуска: always

Nginx Proxy (Certbot)

  • Имя образа: jonasal/nginx-certbot:latest

  • Сетевой режим: host

  • Тома:

  • nginx_secrets \(\rightarrow\) /etc/letsencrypt (для SSL)

  • /data/nginx/user_conf.d \(\rightarrow\) /etc/nginx/user_conf.d

  • Политика перезапуска: unless-stopped

Инструкция по обновлению приложения

Для обновления основного приложения Apache Solr необходимо выполнить следующие действия:

  1. Обновить образ контейнера:

    docker compose pull
    

  2. Перезапустить сервис для применения изменений:

    docker compose up -d
    

Расположение конфигурационных файлов и данных

Тип ресурса Путь на сервере
Данные приложения /opt/solr/data
Конфигурация Nginx /root/nginx/compose.yml
Файл безопасности Solr /opt/solr/data/data/security.json

Доступные порты для подключения

  • 443 (HTTPS) — основной порт для доступа к приложению через веб-интерфейс.

  • 3000 (HTTP) — внутренний порт приложения Solr.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×