ГлавнаяОперационные системыLinuxКак создать поисковую систему с помощью SearXNG

Как создать поисковую систему с помощью SearXNG

SearXNG — это мощная метапоисковая система, которую можно разместить где угодно. В отличие от традиционных поисковых систем, SearXNG является агрегатором: вместо обработки запросов он использует для поиска другие системы. Кроме того, SearXNG невероятно легок и прост в настройке, и вы можете разместить его на такой простой системе, как Raspberry Pi!

Читайте также: Как сделать мигающие светодиоды с помощью Raspberry Pi

Зачем устанавливать SearXNG

Поисковые системы делают просмотр и открытие Интернета невероятно удобным. Однако за использование общедоступной поисковой системы приходится платить: современные поисковые компании, такие как Google, используют ваши поисковые данные для создания вашего очень точного профиля.

Зачем устанавливать SearXNG

t/uploads/2024/05/searxng-install-03-google-myactivity.png" alt="Searchxng Установить 03 Google Myactivity">

Такое поведение может показаться навязчивым людям, которые хотят сохранять конфиденциальность и анонимность своих поисков . Например, журналисты, освещающие деликатные и спорные темы, возможно, не захотят, чтобы их поисковые запросы ассоциировались с их именами.

Searxng Install 04 Образец секретной информации

Один из способов решения этой проблемы конфиденциальности — установить и разместить собственный экземпляр SearXNG, чтобы гарантировать, что только вы будете иметь доступ к вашим журналам поиска.

Читайте также: 4 способа, которыми Google отслеживает вас и как это остановить

Что вам понадобится

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

  • Полное доменное имя (FQDN) : чтобы использовать SearXNG, вам необходимо разместить его на соответствующем веб-сервере с доменом.
  • Машина, доступная за пределами вашей домашней сети : это может быть либо домашний компьютер со статическим IP-адресом, либо выделенный виртуальный частный сервер (VPS), который вы арендуете.
  • ли>

  • Корневой доступ к вашему компьютеру : SearXNG требует установки некоторых системных инструментов для правильной настройки и размещения.

Это руководство посвящено установке и настройке SearXNG на Debian 11 VPS из ЦифровойОкеан .

Searxng Install 05 Digitalocean Droplet

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

Прежде чем установить SearXNG, вам необходимо создать отдельную учетную запись пользователя в вашей системе:

sudo useradd -s /bin/bash -d /home/searx -m -G sudo searx
sudo passwd searx
<

Что вам понадобится

ync" src="https://saintist.ru/wp-content/uploads/2024/05/searxng-install-06-create-new-user.png" alt="Searxng Install 06 Создать нового пользователя">

Это позволит вам изолировать все команды и файлы при установке и настройке SearXNG. Это может быть особенно полезно, если вы планируете разместить поисковую систему на VPS с несколькими сервисами.

Переключитесь на новую учетную запись пользователя, запустив su searx, затем установите все необходимые зависимости для SearXNG:

sudo apt install git nginx iptables iptables-persistent ufw certbot python3-certbot-nginx
Searxng Install 07 Зависимости установки

Настройка брандмауэра

Хотя это не является обязательным шагом, настройка брандмауэра гарантирует, что любая внешняя система сможет получить доступ только к тем портам, которые вы авторизовали, чтобы предотвратить переполнение вашего компьютера бесконечными запросами со стороны злоумышленников.

Searxng Install 08 Установка правил брандмауэра

Вы можете использовать как iptables, так и ufw, чтобы включить только те порты, которые нужны SearXNG:

Установка зависимостей SearXNGINPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save
sudo ufw allow 80
sudo ufw allow 443
  • Две команды iptablesсоздают новое правило, которое принимает любые новые входящие соединения HTTP и HTTPS, позволяя вашей системе предоставлять пользователям веб-страницу SearXNG.
  • Команда netfilter-persistentсохраняет и перезагружает любые изменения, которые вы вносите в брандмауэр, чтобы гарантировать, что на вашем компьютере установлены правильные настройки между перезапусками системы.
  • Две команды ufwгарантируют, что любое текущее соединение по протоколу HTTP или HTTPS остается открытым на протяжении всего сеанса.

Читайте также: Как установить собственный федеративный Twitter с помощью Pleroma

Клонирование и установка SearXNG

Разработчики SearXNG предлагают простой сценарий установки, который выполняет большинство сложных шагов настройки.

Searxng Install 09 Страница Searxng на Github

Чт

Настройка брандмауэра

ановки, клонируйте файл Репозиторий GitHub :

git clone https://github.com/searxng/searxng searxng && cd searxng
Searxng Установка 10 репозитория клонов Git

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

sudo -H ./utils/searxng.sh install all

Хотя этот процесс в основном автоматический, бывают случаи, когда сценарий просит вас подтвердить вносимые им изменения. Например, когда сценарий SearXNG распечатает список программ, которые он установит, вам нужно нажать Y, чтобы продолжить.

Searxng Install 11 Пример подсказки по установке

Настройка SearXNG

Вам необходимо настроить веб-сервер, который будет транслировать SearXNG, поскольку поисковая система — это всего лишь процесс, который принимает запросы и публикует результаты. Без надлежащего веб-сервера невозможно взаимодействовать и использовать SearXNG.

Searxng Install 12 Поисковая система работает

В настоящее время SearXNG официально поддерживает Apache и Nginx. В этом разделе основное внимание уделяется настройке SearXNG как автономного сервиса с использованием Nginx.

Читайте также: 5 инструментов для легкого создания собственного дистрибутива Linux

Настройка Nginx

Создайте новый файл конфигурации в папке «/etc/nginx/sites-available/»:

sudo nano /etc/nginx/sites-available/searxng

Напишите внутри файла блок сервера, который будет содержать конфигурацию веб-сервера. Например, это базовый блок, который я использую для своего экземпляра SearXNG:

server {
 
    # Ports.
    listen 80;
    listen [::]:80;
 
    # Hostname.
    server_name yetanothersearxserver.xyz;
 
    # Logging.
    access_log /dev/null;
    

Клонирование и установка SearXNG

>null;   # Searx Redirect. location / { uwsgi_pass unix:///usr/local/searxng/run/socket;   include uwsgi_params;   uwsgi_param HTTP_HOST $host; uwsgi_param HTTP_CONNECTION $http_connection;   # see flaskfix.py uwsgi_param HTTP_X_SCHEME $scheme; uwsgi_param HTTP_X_SCRIPT_NAME /searxng;   # see limiter.py uwsgi_param HTTP_X_REAL_IP $remote_addr; uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;   } }
  • Переменные listenсообщают Nginx, что веб-сервер транслирует службу через порт 80. Важно изменить это значение, если в вашей системе уже используется другой виртуальный хост.
  • server_name — это переменная, которая должна содержать полное доменное имя, указывающее на ваш компьютер. В моем случае мой веб-сервер использует «yetanothersearxserver.xyz».
  • Переменные access_logи error_logсообщают Nginx, где сохранять информацию о ваших поисковых запросах. Например, установка значения «/dev/null» гарантирует, что вы не будете сохранять журналы на компьютере.
  • Блок locationсообщает Nginx, что делать всякий раз, когда пользователь подключается к веб-серверу.
Searxng Install 13 Пример конфигурации Nginx

Читайте также: Как настроить подсказку те

Настройка SearXNG

arship

Установка SSL и включение SearXNG

Создание SSL-сертификата для вашего экземпляра SearXNG гарантирует безопасность каждого подключения к вашему веб-сайту.

Searxng Install 14 Образец SSL-сертификата

Легко включить SSL бесплатно , зарегистрировавшись с помощью certbot Позволяет зашифровать . Например, я могу запустить следующую команду, чтобы выдать сертификат для моего хоста SearXNG:

certbot --nginx yetanothersearxserver.xyz

Включите свой веб-сайт через Nginx, создав символическую ссылку на папку «sites_enabled» веб-сервера:

sudo ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/

Обновите SearXNG и Nginx, чтобы применить и активировать ваши конфигурации:

sudo systemctl reload nginx
sudo service uwsgi restart searxngНастройка Nginxтайте также:  Что такое матричный протокол и как его установить 

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

Можно ли обновить SearXNG после его установки?

Да! Хотя вы не можете установить SearXNG через традиционный менеджер пакетов, можно обновить и перенести поисковую систему из командной строки. Например, вы можете обновить SearXNG, выполнив следующую команду: sudo /home/$USER/searxng/utils/searxng.sh instance update.

Сценарий установки сообщает мне, что Redis недоступен. Моя установка не удалась?

Нет. Но эта ошибка, скорее всего, приведет к нестабильной работе вашего экземпляра SearXNG, поскольку сбой Redis в SearXNG означает, что он работает в системе, отличной от SystemD, и что его демон фильтрации для защиты от ботов не запущен.

удалите SearXNG, выполнив команду sudo /home/$USER/searxng/utils/searxng.sh remove all, чтобы устранить проблему, и убедитесь, что вы используете SystemD, запустив sudo systemctl --version.

Можно ли увидеть, чем сейчас занимается SearXNG?

Да! Хотя SearXNG — это безгласный демон, работающий в фоновом режиме, можно проверить, что он делает в данный момент. Это полезно в тех случаях, когда SearXNG сталкивается с некоторыми проблемами, и вы не уверены, что вызывает проблемы. Например, я могу подключиться к экрану отладки SearXNG, запустив sudo /home/$USER/searxng/utils/searxng.sh instance inspect.

Изображение предоставлено: Исаак Кесада через Unsplash , изменено Рамсесом Редом с Логотип SearXNG и Словесный знак . Все скриншоты сделаны Рамсесом Редом.

Установка SSL и включение SearXNG

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

Можно ли обновить SearXNG после его установки?

Сценарий установки сообщает мне, что Redis недоступен. Моя установка не удалась?

Можно ли увидеть, чем сейчас занимается SearXNG?

ПОХОЖИЕ СТАТЬИ

Популярные записи