Searx
Searx est un méta-moteur de recherche. Il permet la protection de la vie privée étant donnée que les requêtes sont réalisées par le serveur et non par le navigateur.
Installation
Installer les dépendances :
apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev
Installer searx :
cd /usr/local git clone https://github.com/asciimoo/searx.git useradd searx -d /usr/local/searx chown searx:searx -R /usr/local/searx
Installer les dépendances dans un environnement virtuel :
sudo -u searx -i cd /usr/local/searx virtualenv searx-ve . ./searx-ve/bin/activate pip install -r requirements.txt python setup.py install
Configuration
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
Éditer si nécessaire searx/settings.yml
Vérifier en démarrant searx :
python searx/webapp.py
Aller à http://localhost:8888
…
À ce point, searx n'est pas démonisé. Uwsgi va permettre cela :
Sortir du virtualenv et se déloguer de l'utilisateur searx.
uwsgi
Installer les paquets :
apt-get install uwsgi uwsgi-plugin-python
Créer le fichier de configuration /etc/uwsgi/apps-available/searx.ini
et y mettre le contenu suivant :
[uwsgi] # Who will run the code uid = searx gid = searx # Number of workers (usually CPU count) workers = 4 # The right granted on the created socket chmod-socket = 666 # Plugin to use and interpretor config single-interpreter = true master = true plugin = python # Module to import module = searx.webapp # Virtualenv and python path virtualenv = /usr/local/searx/searx-ve/ pythonpath = /usr/local/searx/ chdir = /usr/local/searx/searx/
Activer l'application uwsgi et redémarrer :
cd /etc/uwsgi/apps-enabled ln -s ../apps-available/searx.ini /etc/init.d/uwsgi restart
Serveur Web
Avec Nginx
sudo apt-get install nginx
Créer le fichier de configuration /etc/nginx/sites-available/searx
avec ce contenu :
server { listen 80; server_name searx.example.com; root /usr/local/searx; location / { include uwsgi_params; uwsgi_pass unix:/run/uwsgi/app/searx/socket; } }
Redémarrer le service :
service nginx restart service uwsgi restart
OU (si sous-répertoire) :
location = /searx { rewrite ^ /searx/; } location /searx { try_files $uri @searx; } location @searx { uwsgi_param SCRIPT_NAME /searx; include uwsgi_params; uwsgi_modifier1 30; uwsgi_pass unix:/run/uwsgi/app/searx/socket; }
Activer l'url de base dans searx/settings.yml
base_url : http://your.domain.tld/searx/
Relancer le service :
service nginx restart service uwsgi restart
Avec Apache
Ajouter le module wsgi
:
apt-get install libapache2-mod-uwsgi
a2enmod uwsgi
Ajouter cette configuration dans le VirtualHost ou dans /etc/apache2/apache2.conf
:
<Location /> Options FollowSymLinks Indexes SetHandler uwsgi-handler uWSGISocket /run/uwsgi/app/searx/socket </Location>
Redemmarer Apache :
service apache2 restart
Modifications (ou pas…) persos
- Modification de la configuration pour changer le thème par défaut dans
/usr/local/searx/searx/settings.yml
:
default_theme : default # ui theme
- Ajout de l'image principale modifiée dans
/usr/local/searx/searx/static/themes/default/img/searx.png
- Modification du CSS pour que ça passe en hauteur. Fichier
/usr/local/searx/searx/static/themes/default/css/style.css
, modifier la règlediv.title
pour qu'elle ressemble à cela (ajouter unpadding
à la fin) :
div.title{background:url('../img/searx.png') no-repeat;width:100%;min-height:80px;background-position:center;padding:10px 0}
- Enlever le bandeau “Fork me on Github” en commentant le contenu du fichier
/usr/local/searx/searx/templates/default/github_ribbon.html
:
<!-- <a href="https://github.com/asciimoo/searx" class="github"> <img style="position: absolute; top: 0; right: 0; border: 0;" src="{{ url_for('static', filename='img/github_ribbon.png') }}" alt="Fork me on GitHub" class="github"/> </a> -->