SearXNG — это мощная метапоисковая система, которую можно разместить где угодно. В отличие от традиционных поисковых систем, SearXNG является агрегатором: вместо обработки запросов он использует для поиска другие системы. Кроме того, SearXNG невероятно легок и прост в настройке, и вы можете разместить его на такой простой системе, как Raspberry Pi!
Читайте также: Как сделать мигающие светодиоды с помощью Raspberry Pi
Зачем устанавливать SearXNG
Поисковые системы делают просмотр и открытие Интернета невероятно удобным. Однако за использование общедоступной поисковой системы приходится платить: современные поисковые компании, такие как Google, используют ваши поисковые данные для создания вашего очень точного профиля.
Contents
Зачем устанавливать SearXNG
t/uploads/2024/05/searxng-install-03-google-myactivity.png" alt="Searchxng Установить 03 Google Myactivity">Такое поведение может показаться навязчивым людям, которые хотят сохранять конфиденциальность и анонимность своих поисков . Например, журналисты, освещающие деликатные и спорные темы, возможно, не захотят, чтобы их поисковые запросы ассоциировались с их именами.
Один из способов решения этой проблемы конфиденциальности — установить и разместить собственный экземпляр SearXNG, чтобы гарантировать, что только вы будете иметь доступ к вашим журналам поиска.
Читайте также: 4 способа, которыми Google отслеживает вас и как это остановить
Что вам понадобится
Перед установкой SearXNG необходимо подготовить несколько вещей:
- Полное доменное имя (FQDN) : чтобы использовать SearXNG, вам необходимо разместить его на соответствующем веб-сервере с доменом.
- Машина, доступная за пределами вашей домашней сети : это может быть либо домашний компьютер со статическим IP-адресом, либо выделенный виртуальный частный сервер (VPS), который вы арендуете.
- Корневой доступ к вашему компьютеру : SearXNG требует установки некоторых системных инструментов для правильной настройки и размещения.
ли>
Это руководство посвящено установке и настройке SearXNG на Debian 11 VPS из ЦифровойОкеан .
Установка зависимостей 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
Настройка брандмауэра
Хотя это не является обязательным шагом, настройка брандмауэра гарантирует, что любая внешняя система сможет получить доступ только к тем портам, которые вы авторизовали, чтобы предотвратить переполнение вашего компьютера бесконечными запросами со стороны злоумышленников.
Вы можете использовать как 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 предлагают простой сценарий установки, который выполняет большинство сложных шагов настройки.
Чт
Настройка брандмауэра
ановки, клонируйте файл Репозиторий GitHub :git clone https://github.com/searxng/searxng searxng && cd searxng
После завершения клонирования запустите процесс установки:
sudo -H ./utils/searxng.sh install all
Хотя этот процесс в основном автоматический, бывают случаи, когда сценарий просит вас подтвердить вносимые им изменения. Например, когда сценарий SearXNG распечатает список программ, которые он установит, вам нужно нажать Y, чтобы продолжить.
Настройка SearXNG
Вам необходимо настроить веб-сервер, который будет транслировать SearXNG, поскольку поисковая система — это всего лишь процесс, который принимает запросы и публикует результаты. Без надлежащего веб-сервера невозможно взаимодействовать и использовать SearXNG.
В настоящее время 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
arship
Установка SSL и включение SearXNG
Создание SSL-сертификата для вашего экземпляра SearXNG гарантирует безопасность каждого подключения к вашему веб-сайту.
Легко включить 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?