Статья на английском с сайта landchad.net
SearXNG - это бесплатный механизм метапоиска в Интернете, который объединяет результаты более чем 70 поисковых сервисов.
В этом руководстве настраивается рабочий экземпляр, доступ к которому можно получить с помощью домена по протоколу HTTPS.
Особенности включают в себя:
- Самостоятельный хостинг
- Нет отслеживания пользователей
- Отсутствие профилирования пользователей
- Около 70 поддерживаемых поисковых систем
- Простая интеграция с любой поисковой системой
- Файлы cookie по умолчанию не используются
- Безопасные, зашифрованные соединения (HTTPS / SSL)
SearXNG на GitHub
Установка
Установите необходимые пакеты.
1
| apt install git nginx nginx-extras -y
|
Откройте порты http и https.
1
2
3
4
5
| iptables -I INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
netfilter-persistent save
ufw allow 80
ufw allow 443
|
Сначала мы создадим пользователя для SearX.
1
| useradd -mr -d "/usr/local/searxng" -c 'Privacy-respecting metasearch engine' -s /bin/bash searxng
|
Хотя в приведенном ниже сценарии автоматической установки мы создаем этого пользователя самостоятельно, мы можем пойти дальше и сделать так, чтобы предоставить клонированному репозиторию правильные разрешения.
Теперь мы клонируем репозиторий SearXNG в домашний каталог пользователя searx
.
1
2
| git clone https://github.com/searxng/searxng /usr/local/searxng/searxng-src
cd /usr/local/searxng/searxng-src
|
Установка SearXNG.
1
| ./utils/searxng.sh install all
|
Настройка Nginx
Создайте новый файл /etc/nginx/sites-available/searxng.conf
и добавьте в него
следующее:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| server {
# Listens on http
listen 80;
listen [::]:80;
# Your server name
server_name searx.example.org ;
# If you want to log user activity, comment these
access_log /dev/null;
error_log /dev/null;
# X-Frame-Options (XFO) header set to DENY
add_header X-Frame-Options "DENY";
# HTTP Strict Transport Security (HSTS) header
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
# Content Security Policy (CSP)
add_header Content-Security-Policy "default-src 'self';";
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;
}
}
|
Теперь создайте символическую ссылку для включения этого сайта.
1
| ln -s /etc/nginx/sites-available/searxng.conf /etc/nginx/sites-enabled/searxng.conf
|
Перезапустите Nginx и SearXNG.
1
2
| systemctl restart nginx
service uwsgi restart searxng
|
Настройка HTTPS с помощью Certbot
Установите certbot.
1
| apt install python3-certbot-nginx
|
Установите SSL-сертификат Let’s Encrypt в Nginx и, при необходимости, позвольте ему настроить HTTPS для вас. Подробные инструкции и дополнительная информация.
Теперь SearXNG должен быть доступен из вашего домена.
Конфигурация (редактирование файла)
Изменить настройки можно, отредактировав файл /etc/searxng/settings.yml
.
Вклады
Автор оригинальной статьи: goshawk22 – website
Сайт оригинальной статьи: landchad – website