Searx auf Uberspace einrichten

Im Chat zum Kuketzblog wurde ich auf Searx aufmerksam gemacht. Searx ist eine Metasuchmaschine, die sich selbst wie folgt beschreibt:

Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users.

Ich habe zwar bei blogbasis.net und techregion.de zwei Anleitungen für searx auf Uberspace.de gefunden, aber leider sind diese wohl veraltet und funktionierten bei mir nicht.

Ich habe searx bei mir im Verzeichnis ~/build installiert, da ich zuerst dachte searx müsste kompiliert werden. Ich habe es erst mal dort gelassen, aber vielleicht ziehe ich es mal nach ~ um, wichtig ist nur, dass es in keinem öffentlich zugänglichen Ordner, also nicht in ~/html oder /var/www/virtual/$USER/ liegt.

Zuerst habe ich die aktuelle Version von searx heruntergeladen und in das Verzeichnis gewechselt:

git clone https://github.com/asciimoo/searx.git && cd ~/build/searx

Anschließend habe ich die Datei manage.sh folgendermaßen bearbeitet:

update_packages() {
    pip3 install --upgrade pip --user
    pip3 install --upgrade setuptools --user
    pip3 install --upgrade -r "$BASE_DIR/requirements.txt" --user
}

Nun wird die Datei ausgeführt um alle für searx benötigten Abhängigkeiten zu installieren:

./manage.sh update_packages

Dann wird in der Datei searx/settings.yml ein eigener geheimer Key eingetragen:

sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml 

Für searx muss auch ein Port auf Uberspace geöffnet gewählt werden. Achtet dabei darauf, dass dieser noch frei ist um Kollisionen zu vermeiden.

Dieser wird in die Datei searx/settings.yml eingetragen:

server:
    port : DER_PORT

Nun legen wir einen Starter mit den daemontools an:

$ cat <<__EOF__ > ~/etc/searx/run
#!/bin/sh
exec /usr/local/bin/python3 /home/$USER/build/searx/searx/webapp.py 2>&1
__EOF__

$ chmod +x ~/etc/searx/run
$ ln -s ~/etc/searx ~/service/searx

Searx kann nun mit svc -u ~/service/searx gestartet, mit svc -d ~/service/searx beendet oder mit svc -du ~/service/searx neu gestartet werden.

Ich wollte searx unter der Subdomain search.mdosch.de erreichbar machen, also habe ich den Ordner /var/www/virtual/$USER/search.mdosch.de erstellt und dort die Datei /var/www/virtual/$USER/search.mdosch.de/.htaccess mit diesem Inhalt angelegt:

RewriteBase /
RewriteEngine On
RewriteRule (.*) http://localhost:DER_PORT/$1 [P]

DER_PORT ist natürlich mit dem freigeschalteten gewählten Port zu ersetzen.

Jetzt ist searx fertig eingerichtet und kann per searx gestartet werden.

Ich habe searx auch über search.4bkxscubgtxwvhpe.onion als “hidden service” per Tor verfügbar gemacht.

Mein erster Eindruck ist soweit ganz gut, auch wenn die Qualität der Suchergebnisse nicht ganz mit meiner bisherigen Suchmaschine StartPage mithalten kann.

[Update 2017-08-30]

Ich wurde im Kommentar von Tom darauf hingewiesen, dass der Port nicht in der Firewall geöffnet werden muss.

[Update 2017-08-31]

Ich habe den daemontools-Starter wieder herausgenommen, da er nicht funktioniert. Das scheint mit Pythonscripten nicht ohne Weiteres zu gehen. Wenn ich eine Lösung gefunden habe werde ich den Beitrag wieder aktualisieren.

[Update 2017-09-03]

Der daemontools-Starter ist wieder eingefügt, da es nun doch funktioniert.

Inhalt

Teilen: E-Mail

Hinterlasse einen Kommentar oder diskutiere im OSBN-Chat.


In den Kommentaren können folgende Formatierungen genutzt werden.