serveur_hebergement:installer_une_instance_searx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_hebergement:installer_une_instance_searx [2022/10/21 17:05] – [Configuration d'Apache] fateserveur_hebergement:installer_une_instance_searx [2024/01/20 18:17] (Version actuelle) – [Redis] fate
Ligne 3: Ligne 3:
 ===== Présentation de Searxng ===== ===== Présentation de Searxng =====
  
-[[https://github.com/searxngng/searxng|Searxng]] est un métamoteur de recherche libre, c'est à dire qu'il ne gère pas lui même la recherche mais s'appuie sur des moteurs de recherches tels que bing, google, duckduckgo, etc.+[[https://github.com/searxngng/searxng|Searxng]] est un métamoteur de recherche libre, cest-à-dire qu'il ne gère pas lui-même la recherche mais s'appuie sur des moteurs de recherches tels que bing, google, duckduckgo, etc.
  
 ===== Préparation ===== ===== Préparation =====
Ligne 12: Ligne 12:
 <code bash>sudo useradd --shell /bin/bash --system --home-dir "/usr/local/searxng" --comment 'Privacy-respecting metasearch engine' searxng</code> <code bash>sudo useradd --shell /bin/bash --system --home-dir "/usr/local/searxng" --comment 'Privacy-respecting metasearch engine' searxng</code>
  
-Créez le répertoire home :  +Créez le répertoire home ainsi que le sous répertoire pour le socket uWSGI 
-<code bash>sudo  mkdir "/usr/local/searxng"</code>+<code bash>sudo mkdir -p /usr/local/searxng/run/</code>
  
 Modifiez le propriétaire du répertoire home : Modifiez le propriétaire du répertoire home :
Ligne 32: Ligne 32:
 <code bash>echo ". /usr/local/searxng/searx-pyenv/bin/activate" >>  "/usr/local/searxng/.profile"</code> <code bash>echo ". /usr/local/searxng/searx-pyenv/bin/activate" >>  "/usr/local/searxng/.profile"</code>
  
-Déconnectez vous avec la commande <code bash>exit</code>+Déconnectez-vous avec la commande <code bash>exit</code>
 Connectez-vous de nouveau avec l'utilisateur searxng : Connectez-vous de nouveau avec l'utilisateur searxng :
 <code bash>sudo -u searxng -i</code> <code bash>sudo -u searxng -i</code>
Ligne 46: Ligne 46:
 Lancez l'installation : Lancez l'installation :
 <code bash> <code bash>
-cd "/usr/local/searxng/searx-src"+cd "/usr/local/searxng/searxng-src"
 pip install -e . pip install -e .
 </code> </code>
Ligne 142: Ligne 142:
   * safe_search: 0 -> la Recherche sécurisée est désactivée   * safe_search: 0 -> la Recherche sécurisée est désactivée
   * autocomplete: 'duckduckgo' -> l'autocomplétion est fournie par duckduckgo   * autocomplete: 'duckduckgo' -> l'autocomplétion est fournie par duckduckgo
-  * formats: - html -> seule l'accès via le site est autorisée. L'accès via RSS/JSON est désactivée (seuls les bot utilisent ces accès)+  * formats: - html -> seule l'accès via le site est autorisée. L'accès via RSS/JSON est désactivée (seuls les bots utilisent ces accès)
   * limiter: true -> active le filtre anti-bot   * limiter: true -> active le filtre anti-bot
   * results_on_new_tab: true -> ouvre les résultats dans un nouvel onglet   * results_on_new_tab: true -> ouvre les résultats dans un nouvel onglet
   * use_mobile_ui: true -> permet d'éviter le blocage de Google   * use_mobile_ui: true -> permet d'éviter le blocage de Google
-  * + 
 +===== Redis ===== 
 + 
 +Redis va stocker la base de donnée du plugin "limiter" servant à lutter contre les bots. 
 + 
 +On va utiliser le script d'installation fourni par SearXNG pour l'installer et le configurer : 
 +<code bash> 
 +sudo -s  
 +sudo /usr/local/searxng/searxng-src/utils/searxng.sh install redis 
 +</code> 
 + 
 +Choisissez les réponses par défaut à chaque question.
 ===== uWSGI ===== ===== uWSGI =====
  
Ligne 156: Ligne 167:
 Collez-y les lignes suivantes : Collez-y les lignes suivantes :
 <code bash> <code bash>
 +# -*- mode: conf; coding: utf-8  -*-
 [uwsgi] [uwsgi]
  
Ligne 163: Ligne 175:
 # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core # https://uwsgi-docs.readthedocs.io/en/latest/Options.html#uwsgi-core
  
-# Who will run the code+# Who will run the code / Hint: in emperor-tyrant mode uid & gid setting will be 
 +# ignored [1].  Mode emperor-tyrant is the default on fedora (/etc/uwsgi.ini). 
 +
 +# [1] https://uwsgi-docs.readthedocs.io/en/latest/Emperor.html#tyrant-mode-secure-multi-user-hosting 
 +#
 uid = searxng uid = searxng
 gid = searxng gid = searxng
Ligne 173: Ligne 189:
  
 # chdir to specified directory before apps loading # chdir to specified directory before apps loading
-chdir = /usr/local/searxng/searxng-src/searxng+chdir = /usr/local/searxng/searxng-src/searx
  
-searxng configuration (settings.yml) +SearXNG configuration (settings.yml) 
-env = SEARX_SETTINGS_PATH=/etc/searxng/settings.yml+env = SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml
  
 # disable logging for privacy # disable logging for privacy
Ligne 210: Ligne 226:
  
 # load a WSGI module # load a WSGI module
-module = searxng.webapp+module = searx.webapp
  
 # set PYTHONHOME/virtualenv # set PYTHONHOME/virtualenv
-virtualenv = /usr/local/searxng/searxng-pyenv+virtualenv = /usr/local/searxng/searx-pyenv
  
 # add directory (or glob) to pythonpath # add directory (or glob) to pythonpath
Ligne 221: Ligne 237:
 # speak to upstream # speak to upstream
 # ----------------- # -----------------
-# 
-# Activate the 'http' configuration for filtron or activate the 'socket' 
-# configuration if you setup your HTTP server to use uWSGI protocol via sockets. 
- 
-# using IP: 
-# 
-# https://uwsgi-docs.readthedocs.io/en/latest/Options.html#pluginttp 
-# Native HTTP support: https://uwsgi-docs.readthedocs.io/en/latest/HTTP.html 
  
-http 127.0.0.1:8888+socket /usr/local/searxng/run/socket 
 +buffer-size = 8192
  
-using unix-sockets:+uWSGI serves the static files and in settings.yml we use::
 # #
-On some distributions you need to create the app folder for the sockets::+  ui: 
 +#     static_use_hashtrue
 # #
-#   mkdir -/run/uwsgi/app/searxng +static-map = /static=/usr/local/searxng/searxng-src/searx/static 
-#   chown -R searxng:searxng  /run/uwsgi/app/searxng +expires set to one year since there are hashes 
-+static-expires = /* 31557600 
-# socket = /run/uwsgi/app/searxng/socket+static-gzip-all = True 
 +offload-threads = %k
  
 # Cache # Cache
Ligne 253: Ligne 264:
 ===== Configuration d'Apache ===== ===== Configuration d'Apache =====
  
-On va configurer Apache2 pour pour voir accéder à notre instance Searx via un sous domaine style searx.domaine.fr (je ne traiterai pas la gestion du nom de domaine)+On va configurer Apache2 pour pouvoir accéder à notre instance Searx via un sous domaine style searx.domaine.fr (je ne traiterai pas la gestion du nom de domaine)
  
 Activez les modules Apache2 nécessaires : Activez les modules Apache2 nécessaires :
-<code bash>sudo a2enmod headers proxy proxy_http</code>+<code bash>sudo a2enmod headers proxy proxy_http ssl proxy_uwsgi</code>
  
 Créez le fichier de config Apache2 : Créez le fichier de config Apache2 :
 <code bash>sudo nano /etc/apache2/sites-available/searx.domaine.fr.conf</code> <code bash>sudo nano /etc/apache2/sites-available/searx.domaine.fr.conf</code>
  
-Copiez-y les lignes suivantes (remplacez le noom de domaine par le votre ainsi que l'emplacement des fichiers SSL) : +Copiez-y les lignes suivantes (remplacez le noom de domaine par le vôtre ainsi que l'emplacement des fichiers SSL) : 
 <code apache> <code apache>
 <VirtualHost *:80> <VirtualHost *:80>
Ligne 305: Ligne 316:
 Activez le fichier de configuration : Activez le fichier de configuration :
 <code bash>sudo a2ensite searx.nomdedomaine.fr.conf</code> <code bash>sudo a2ensite searx.nomdedomaine.fr.conf</code>
- 
-===== Redis ===== 
- 
-Redis va stocker la base de donnée du plugin "limiter" servant à lutter contre les bots. 
- 
-On va utiliser le script d'installation fourni par SearXNG pour l'installer et le configurer : 
-<code bash>sudo -H /usr/local/searxng/searxng-src/utils/searxng.sh install redis</code> 
- 
-Choissisez les réponses par défaut à chaque question. 
  
 Votre instance SearXNG est maintenant accessible à l'adresse searx.nomdedomaine.fr. Votre instance SearXNG est maintenant accessible à l'adresse searx.nomdedomaine.fr.
  • serveur_hebergement/installer_une_instance_searx.1666371936.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)