Searx auf dem Raspberry Pi installieren

Searx auf dem Raspberry Pi installieren Titelbild

Hallo, aus unserer Reihe Pi Hosting zeigen wir dir heute wie man die Suchmaschine Searx auf einem Pi installiert. Dabei orientieren wir uns an dem offiziellen Installationsguide, den findet ihr hier: https://asciimoo.github.io/searx/dev/install/installation.html

Ausgangsbasis ist ein Pi B3 mit einer aktuellen Raspbian Installation. Zum Updaten des Systems mache bitte Folgendes:

sudo apt-get update && sudo apt-get upgrade -y

Wir installieren Searx auf dem Pi und dazu den Webserver NGINX. Searx ist eine sogenannte Meta-Suchmaschine. Sie greift auf vorhandene Ressourcen zu und bündelt Ergebnisse von 70 Quellen. Der Vorteil ist, dass Searx im Gegensatz zu manch anderen Suchmaschinen kein Profil von dir anlegt und weniger Rückschlüsse auf dich möglich sein sollen. Das ganze greift natürlich nur, wenn der Pool an Usern möglichst groß ist. In unserem Test waren wir sehr zufrieden, vor allem die Datei und Bildersuche funktioniert erstaunlich gut. Außerdem ist die integrierte Suche auf Git sehr zu empfehlen.

Installation:

Erst machen wir uns zu root mit sudo -i dann installieren wir die benötigten Pakete mit :

apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev libffi-dev libssl-dev uwsgi uwsgi-plugin-python nginx

Als nächstes erstellen wir einen neuen user searx und ein paar Ordner:

cd /usr/local
git clone https://github.com/asciimoo/searx.git
useradd searx -d /usr/local/searx
chown searx:searx -R /usr/local/searx

Danach installieren wir ein Packet und Abhängigkeiten, die Searx braucht:

sudo -u searx -i
cd /usr/local/searx
virtualenv searx-ve
. ./searx-ve/bin/activate
./manage.sh update_packages
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
sed -i -e "s/debug : True/debug : False/g" searx/settings.yml

Jetzt legen wir eine Konfigurationsdatei an und kopieren den folgenden Inhalt rein nano /etc/uwsgi/apps-available/searx.ini

[uwsgi]
# Who will run the code
uid = searx
gid = searx

# disable logging for privacy
disable-logging = true

# 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/

UWSGI nutzen wir dabei als Deamon Ersatz, um Searx einfach und komfortabel starten zu können. Starte Searx mit:

cd /etc/uwsgi/apps-enabled
ln -s ../apps-available/searx.ini
/etc/init.d/uwsgi restart

nginx Konfiguration

Nginx dient uns als Webserver und Schnittstelle zu Searx. NGINX ist klein und schnell. Installiert haben wir ihn schon am Anfang und brauchen jetzt nur die Konfiguration zu ändern. Wir öffnen die Default Konfigurationsdatei von nginx: nano /etc/nginx/sites-enabled/default

und ersetzen den Inhalt mit diesem:


server {
    listen 80;
    server_name searx.example.com;
    root /usr/local/searx;

    location / {
            include uwsgi_params;
            uwsgi_pass unix:/run/uwsgi/app/searx/socket;
    }
}

Jetzt starten wir nginx und searx neu

sudo service nginx restart
sudo service uwsgi restart

Das war es auch schon. Searx läuft direkt auf deinem Pi.

Searx auf dem PiB3 Installiert

Noch Fragen oder Feedback?

Bevor du eine Frage stellen kannst musst du dich zuerst Anmelden oder Regestrieren!