×

Инструкции по установке

Быстрый старт

 
  • Установите Docker на тот же сервер, где размещены HTML-файлы (см. дополнительную информацию об установке на отдельном сервере).
    Обычно это можно сделать:
  • через панель управления сервером или менеджер пакетов;
  • следуя инструкциям на сайте Docker;
  • или следуя инструкциям ИИ.
 
 

Установка поискового движка

 
Создайте на вашем сервере папку для хранения конфигурационного файла и перейдите в нее:
 
sudo mkdir /opt/drexplain-search
cd /opt/drexplain-search
 
Создайте файл:
 
sudo touch docker-compose.yaml
 
Откройте его на редактирование (sudo nano docker-compose.yaml).
 
Скопируйте и вставьте в файл следующий текст:
 
services:
  # Это приложение, которое обрабатывает HTTP-запросы и взаимодействует с поисковым движком Apache Solr.
  drexplain-search-backend-controller:
    image: ghcr.io/indigobyte/dsb-controller:latest
    restart: unless-stopped
    volumes:
      # ВАЖНО: замените это на реальные пути на сервере к экспортированным HTML-файлам в формате "путь_на_сервере:внутренний_путь:ro" (только для чтения).
      # Пример: наберите 6 пробелов, дефис, пробел, вставьте абсолютный путь к папке с вашими HTML-файлами,
      # двоеточие, затем снова тот же абсолютный путь и добавьте в конце ":ro".
      - /var/www:/var/www:ro
    # ВАЖНО: замените их на реальные пути внутри контейнера. Переменные окружения должны начинаться с префикса DREX_CONTENT_ROOT.
    # Пример: введите 6 пробелов, дефис, пробел, DREX_CONTENT_ROOT_, код языка ваших HTML-файлов, знак равенства,
    # а затем абсолютный путь к папке с этими HTML-файлами.
    environment:
      - DREX_CONTENT_ROOT_EN=/var/www/docs-en
      - DREX_CONTENT_ROOT_ES=/var/www/docs-ru
    ports:
      # Чтобы открыть доступ к сервису на других компьютерах, удалите часть "127.0.0.1:". ВНИМАНИЕ: это сделает сервис доступным
      # на всех сетевых интерфейсах. Делайте это только при наличии соответствующих прав файрвола.
      - "127.0.0.1:8082:8082"
    depends_on:
      - solr
 
  # Это поисковый движок Apache Solr.
  solr:
    image: ghcr.io/indigobyte/dsb-solr:latest
    restart: unless-stopped
    volumes:
      - solr-data:/var/solr
    environment:
      # Если в вашей документации большое количество разделов, увеличьте это значение.
      - SOLR_HEAP=2700m
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
 
volumes:
  # Это виртуальный жесткий диск, на котором хранится поисковый индекс.
  solr-data:
 
Измените пути монтирования (секция volumes) и переменные окружения (секция environment) в файле docker-compose.yaml в соответствии со структурой каталогов вашего сервера, а затем сохраните файл.
 
Запустите поисковый движок:
 
sudo docker compose up -d
 
 

Настройка веб-сервера

 
Рекомендуется устанавливать поисковый движок на том же самом сервере, где размещены ваши HTML-файлы, экспортированные из проекта Dr.Explain (см. дополнительную информацию по установке на отдельном сервере). Настройте ваш веб-сервер как обратный прокси-сервер (reverse proxy), который перенаправляет запросы, содержащие путь /drexsearch/, на поисковый движок, работающий на порту 8082.
 
Ниже приведены конфигурации для популярных веб-серверов:
 

nginx

 
Добавьте следующий фрагмент в конфигурацию nginx:
 
location ~ /drexsearch/(.*)$ {
    proxy_pass http://127.0.0.1:8082/$1$is_args$args;
}
 

Apache

 
Необходимо включить модули mod_rewrite, mod_proxy и mod_proxy_http для Apache. Добавьте следующее в конфигурацию вашего виртуального хоста или в файл .htaccess:
 
RewriteEngine On
RewriteRule ^(?:.*/)?drexsearch/(.*)$ http://127.0.0.1:8082/$1 [P,L]
 

Caddy

 
Добавьте следующий фрагмент в конфигурацию Caddyfile:
 
@drexsearch path_regexp /drexsearch/(.*)$
reverse_proxy @drexsearch 127.0.0.1:8082 {
    rewrite /{re.1}
}
 

Microsoft Internet Information Services

 
Необходимо

установить компоненты

URL Rewrite

и

Application Request Routing

, затем добавить следующее правило в файл

web.config

в раздел

/configuration/system.webServer/rewrite/rules

:

 
<rule name="Dr.Explain Search Backend" stopProcessing="true">
    <match url="^(?:.*/)?drexsearch/(.*)$" />
    <action type="Rewrite" url="http://127.0.0.1:8082/{R:1}" />
</rule>
 

Смотрите также

 
Справочная система создана в Dr.Explain