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

Установка Searx на Ubuntu 18.04

• 4 min read • Серверы • Обновлено 18 Nov 2025
Установка Searx на Ubuntu 18.04
Установка Searx на Ubuntu 18.04

Минималистичный логотип Searx на синем фоне

О чём статья

Searx — свободный метапоисковик с фокусом на приватность: он собирает результаты примерно из 70 разных поисковых систем и не передаёт им IP и историю пользователя. В этой заметке показано, как установить Searx на Ubuntu 18.04 и запустить его для тестирования или как основу для простого приватного поиска.

Требования

  • Сервер с Ubuntu 18.04.
  • Статический IP, в примерах используется 172.20.10.8 или 192.168.1.100 — замените на ваш публичный/приватный адрес.
  • Непользователь root с правами sudo.

Подготовка системы

Обновите пакеты перед установкой:

sudo apt-get update -y  
sudo apt-get upgrade -y

Перезапустите систему, если ядро или критические пакеты были обновлены.

Установите зависимости, необходимые для сборки и виртуального окружения:

sudo apt-get install git build-essential python-babel zlib1g-dev libffi-dev libssl-dev libxslt-dev python-dev python-virtualenv -y

Важно: пакеты и имена могут отличаться в более новых версиях Ubuntu; в таком случае используйте эквиваленты для вашей версии системы.

Установка Searx

Клонируем репозиторий в /opt:

cd /opt/  
sudo git clone https://github.com/asciimoo/searx.git

По умолчанию Searx слушает только локальный интерфейс. Чтобы сделать сервис доступным с других машин, отредактируйте файл настроек:

sudo nano /opt/searx/searx/settings.yml

Найдите и замените строку bind_address : “127.0.0.1” на bind_address : “192.168.1.100” (замените IP на адрес вашего сервера).

Сохраните и закройте файл.

Виртуальное окружение и обновление пакетов Searx

Перейдите в директорию и создайте виртуальное окружение:

cd /opt/searx  
sudo virtualenv searx-ve  
sudo source searx-ve/bin/activate

Обновите зависимости Searx:

sudo ./manage.sh update_packages

Запустите встроенный веб‑сервер для тестирования:

sudo python searx/webapp.py

Ожидаемый вывод:

 * Serving Flask app "webapp" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

Searx будет доступен на порту 8888. Откройте в браузере http://192.168.1.100:8888 (замените IP на ваш).

Интерфейс поиска Searx с полем ввода и результатами

Рекомендации для продакшен‑развёртывания

Важно: встроенный Flask‑сервер подходит только для тестирования. Для реального сервера используйте WSGI сервер (gunicorn) за обратным прокси (nginx) или контейнеризованный подход.

Пример systemd юнита для запуска через gunicorn (пример):

[Unit]
Description=Searx daemon
After=network.target

[Service]
User=searx
Group=searx
WorkingDirectory=/opt/searx
Environment="PATH=/opt/searx/searx-ve/bin"
ExecStart=/opt/searx/searx-ve/bin/gunicorn -b 127.0.0.1:8888 searx.webapp:app

[Install]
WantedBy=multi-user.target

Настройка nginx как обратного прокси (основные идеи):

  • Прокси на localhost:8888.
  • Включите TLS (Let’s Encrypt) и ограничьте доступ по IP, если нужно.
  • Настройте rate limiting и логирование.

Альтернатива: использовать Docker или готовые образы searx (упрощает развёртывание и изоляцию).

Безопасность и приватность

  • Searx сам по себе собирает результаты от третьих сторон; оцените угрозы — требуется ли дополнительная сеть через Tor или приватные прокси.
  • Не храните журналы с личной информацией. Ограничьте доступ к файлам конфигурации.
  • Используйте HTTPS при доступе извне.

Когда Searx не подходит

  • Если вам нужна гарантированная анонимность от целевых поисковиков — Searx может быть недостаточен; рассмотрите индивидуальную маршрутизацию через Tor.
  • Если нужен масштабируемый, SLA‑критичный поисковый сервис с высокой нагрузкой — потребуются дополнительные архитектурные решения: кэширование, балансировка, контроль SLIs.

Чек‑лист ролей при установке

  • Администратор сервера:
    • Обновил систему и установил зависимости.
    • Создал пользователя searx и настроил права на /opt/searx.
    • Настроил systemd и nginx.
  • DevOps/Инженер развертывания:
    • Подготовил виртуальное окружение и установил зависимости Python.
    • Настроил CI/CD для обновлений (опционально).
  • Пользователь/тестировщик:
    • Проверил доступность http://HOST:8888 и выполнил несколько запросов.
    • Проверил отсутствие логирования IP в сторонние сервисы (по возможности).

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

  • Сервис отвечает на запросы на ожидаемом IP:порт.
  • Конфигурация bind_address отражает заменённый IP.
  • Gunicorn/nginx запущены и перезапускаются через systemd после reboot.
  • TLS корректно настроен (если применяется).

Мини‑методология обновлений

  1. Создайте snapshot/резервную копию конфигураций и данных.
  2. Тестируйте обновление в staging‑среде.
  3. Применяйте обновление вне пиковых часов с контролем логов.
  4. Откат через systemd stop + восстановление конфигурации при критике.

Короткий глоссарий

  • Searx — метапоисковая платформа с фокусом на приватность.
  • WSGI — интерфейс для запуска Python‑веб‑приложений в продакшен.
  • Gunicorn — WSGI HTTP сервер для Python-приложений.

Ссылки

Итог

Searx можно быстро запустить для тестирования на Ubuntu 18.04, но для надёжной работы в продакшен‑окружении рекомендуется запускать через gunicorn/nginx или в Docker‑контейнере, настроить HTTPS и продумать политику логирования. Следуйте чек‑листу ролей и критериям приёмки при переходе из теста в продакшен.

Поделиться: 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 быстро