SearX installieren

Spezielle Installation für ein aktuelles Linux Ubuntu:
https://return42.github.io/handsOn/searx.html

Installation unter Linux Ubuntu 18.04 (Bionic Beaver) mit GNOME, Desktop-Variante

Vorbereitung

  • Es muß das Universe Repository aktiviert sein, sonst können die notwendigen Quellen nicht gelesen werden

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu bionic main restricted universe multiverse'
sudo apt-get update

  • Falls noch nicht geschehen muß ein Webserver mit allen Abhängigkeiten installiert werden

sudo apt-get install apache2 libapache2-mod-php7.2 php7.2 php7.2-mysql mysql-server

  • Der Rechner muß über eine feste IP-Adresse verfügen
  • Der Rechner sollte über eine feste (Sub-)Domain erreichbar sein

Ubuntu-Installation aktualisieren

sudo apt-get update
sudo apt-get upgrade

Notwendige Pakete installieren

sudo apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-babel zlib1g-dev libffi-dev libssl-dev

Alternativ:

sudo apt-get install searx

Python-Version feststellen

python

PIP installieren

sudo apt-get install python-pip (für Python 2)
sudo apt-get install python3-pip (für Python 3)

Alternative PIP-Installation

Wenn PIP installiert ist kann searx auch über folgendes Kommando installiert werden:

sudo pip install searx

Anschließend kann direkt die Konfiguration vorgenommen werden und die nächsten zwei Punkte können ausgelassen werden.

Searx über das Git-Repository einlesen und User anlegen

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

Abhängigkeiten einrichten und Paket aktualisieren

sudo -u searx -i
cd /usr/local/searx
virtualenv searx-ve
. ./searx-ve/bin/activate
./manage.sh update_packages

Konfiguration

Die Datei /usr/local/searx/searx/settings.yml konfigurieren:
sudo nano /usr/local/searx/searx/settings.yml

Die Debug-Option in settings.yml deaktivieren:
sudo sed -i -e „s/debug : True/debug : False/g“ /usr/local/searx/searx/settings.yml

OpenSSL-Schlüssel generieren und in die Konfiguration einfügen:
sudo sed -i -e „s/ultrasecretkey/`openssl rand -hex 16`/g“ /usr/local/searx/searx/settings.yml

Searx starten

python /usr/local/searx/searx/webapp.py

Searx ohne Konsole starten

Bis hier startet Searx nur in einer offen stehenden Terminal-Konsole. Wird diese geschlossen dann wird auch Searx beendet. Um dies zu verhindern muß uWSGI installiert werden.
VIRTUALENV mit CTRL-C und 2x exit beenden.

uWSGI installieren

uWSGI ist eine Softwareanwendung, die darauf abzielt, einen vollständigen Stack für die Erstellung von Hosting-Services zu entwickeln. Es wurde nach der Web Server Gateway-Schnittstelle benannt, die das erste vom Projekt unterstützte Plugin war. uWSGI ist eine WSGI-Implementierung für Python. uWSGI ist eine weitere Variante der Mehrschichten-Schnittstelle zwischen Web-Anwendungen in der Programmiersprache Python und Web-Servern wie nginx. uWSGI implementiert die WSGI-Spezifikation (Web Server Gateway Interface).

sudo apt-get install uwsgi uwsgi-plugin-python

uWSGI konfigurieren

Erzeuge die Text-Datei /etc/uwsgi/apps-available/searx.ini:
sudo touch /etc/uwsgi/apps-available/searx.ini
sudo nano /etc/uwsgi/apps-available/searx.ini

mit folgendem Inhalt:

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

# Number of workers (Anzahl der CPU-Kerne)
workers = 1

# The right granted on the created socket
chmod-socket = 666

# Plugin to use and interpretor config
single-interpreter = true
master = true
plugin = python

# Application base folder
base = /usr/local/searx/

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

# The variable holding flask application
callable = app

uWSGI aktivieren und starten

cd /etc/uwsgi/apps-enabled
sudo ln -s ../apps-available/searx.ini
sudo service uwsgi restart

Apache2 konfigurieren

WSGI-Mod für Apache2 hinzufügen

sudo apt-get install libapache2-mod-uwsgi
sudo a2enmod uwsgi
sudo service apache2 restart

Apache2 Konfiguration ändern

Neue Vhost anlegen

sudo touch /etc/apache2/sites-available/searx.conf
sudo nano /etc/apache2/sites-available/searx.conf

Neue VHost-Datei konfigurieren und Inhalt einfügen

<virtualhost *:80>
ServerName www.domain.de
ServerAdmin service@localhost

<Location />
Options FollowSymLinks Indexes
SetHandler uwsgi-handler
uWSGISocket /run/uwsgi/app/searx/socket
</Location>

ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

Neue VHost-Datei aktivieren und Apache neu starten

sudo a2ensite searx
sudo service apache2 restart

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
Navigation
Drucken/exportieren