Installation basique de searx sous Debian 8 Jessie

Mise a jour d’openssl
apt-get -t jessie-backports install openssl
apt-get -t jessie-backports install libssl-dev
Installation des dépendances systèmes nécessaires
apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev libffi-dev libssl-dev
Installation de 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
Installation des dépendances python dans virtualenv
cd /usr/local/searx
virtualenv searx-ve
. ./searx-ve/bin/activate
pip install -r requirements.txt
python setup.py install
Configuration
Modifiez la phrase secrète du fichier
searx/settings.yml (ceci est une étape nécessaire pour la sécurité de votre application)
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
Ouvrez searx/settings.yml et baladez-vous dans les différentes options de configuration. Modifiez-les selon vos besoins et vos envies.
Vérification
Il est ici nécessaire d’être dans le virtualenv. Si vous n’y êtes plus :
cd /usr/local/searx
. ./searx-ve/bin/activate
Lancez searx :
python searx/webapp.py
Désactivez l’option de debug dans settings.yml :
sed -i -e "s/debug : True/debug : False/g" searx/settings.yml
Searx n’est pas dæmonisé (il ne tourne pas en arrière-plan). Cette dæmonisation est le rôle d’uwsgi.
Installation des paquets :
apt-get install uwsgi uwsgi-plugin-python
Créez le fichier de configuration /etc/uwsgi/apps-available/searx.ini.
nano /etc/uwsgi/apps-available/searx.ini
avec ce contenu :
[uwsgi]
# Quel est l'utilisateur qui fera tourner le code
uid = searx
gid = searx
# Nombre de workers (habituellement, on met le nombre de processeurs de la machine)
workers = 4
# Quels sont les droits sur le socket créé
chmod-socket = 666
# Plugin à utiliser et configuration de l'interpréteur
single-interpreter = true
master = true
plugin = python
# Module à importer
module = searx.webapp
# Chemin du virtualenv
virtualenv = /usr/local/searx/searx-ve/
Activez la configuration de l’application et relancez uwsgi
cd /etc/uwsgi/apps-enabled
ln -s ../apps-available/searx.ini
/etc/init.d/uwsgi restart
Avec Apache2 comme Serveur web
Ajoutez le module uwsgi :
apt-get install libapache2-mod-uwsgi
Ajoutez cette configuration /etc/apache2/sites-available/
nano /etc/apache2/sites-available/nano searx.conf
<Location /searx>
    Options FollowSymLinks Indexes
    SetHandler uwsgi-handler
    uWSGISocket /run/uwsgi/app/searx/socket
</Location>
Activer le site :
a2ensite searx.conf
Relancez Apache :
service apache2 reload