Solr und Nextant Setup für Nextcloud via Docker Compose

3 min Lesezeit

Originally posted 2018-01-05 23:03:03.

Heute wollen wir in diesem Tutorial Solr installieren für unsere Nextcloud und dem Plugin Nextant, welches wir für die Texterkennung in PDF-Dateien benötigen. Nach dem
Setup sind wir in der Lage, die PDF-Dateien zu scannen und Textinhalte über die globale Suche in der Cloud zu finden.

 

Damit alles läuft müssen einige Abhängigkeiten installiert werden, falls nicht schon vorhanden.

apt-get install docker
apt-get install docker-compose

Wir wechseln als erstes in ein leeres Verzeichnis. Ich nutze immer ~/home dafür.
Darin wird eine docker-compose.yml Datei erstellt mit folgendem Inhalt:

version: '2'
services:
  solr:
    image: solr:latest
    ports:
    - "8983:8983"
    volumes:
    - /opt/solr:/opt/solr/server/solr/mycores
    entrypoint:
    - docker-entrypoint.sh
    - solr-precreate
    - nextant
    restart: always

anschließend die benötigten Ordner (opt/solr) und (/opt/solr/mycores) erstellen und die Rechte anpassen.

mkdir /opt/solr/mycores
sudo chown 8983:8983 /opt/solr/mycores

Danach führen wir mit dem Befehl docker-compose up -d die YML-Datei aus.

Ab sofort sollte Solr nun laufen. Das Witzige: Mit dem Image solr:latest bekommen wir das aktuelle Image Version 7.x.x, welches offiziell von Nextant nicht unterstützt wird. Aber es läuft trotzdem. Getestet und Nextcloud 12.0.4 und 13.0.0 Beta 3.

Wollt ihr den Container neu starten oder stoppen, geht dies mit docker restart solr und docker stop solr.
Damit Nextant überhaupt etwas mit Solr anfangen kann und weiß, wo es die Daten speichern muss, erstellen wir einen so genannten Core.

In Solr wird der Begriff core verwendet, um auf einen einzelnen Index und die zugehörigen Transaktionsprotokoll- und Konfigurationsdateien (einschließlich der Dateien solrconfig.xml und Schema etc.) zu verweisen. Ihre Solr-Installation kann bei Bedarf mehrere Kerne haben, sodass Sie Daten mit unterschiedlichen Strukturen auf demselben Server indizieren können und mehr Kontrolle darüber haben, wie Ihre Daten verschiedenen Zielgruppen präsentiert werden.

docker exec -it  <container_id> create_core -c nextant

Nachdem der Container nun läuft loggen wir uns in die Cloud ein als Admin und installieren die Nextant App. In den Einstellungen dazu muss nun folgendes eingetragen werden.

Adresse des Solr-servlet: https://127.0.0.1:8983/solr
Kern (Core): Nextant

Anschließend wechselt man in das root Verzeichnis der Nextcloud Installation und startet den Dateiscan.

sudo -u www-data php occ nextant:scan

Anmerkung:

Die Variablen wie:

  volumes:
    - /opt/solr:/opt/solr/server/solr/mycores

dienen dazu, dass die Daten nach einem Update oder Neustart nicht verloren gehen.

restart:always

sorgt dafür, dass der Container nach einem Serverneustart automatisch gestartet wird.

Unter http://domain.tld:8983/solr ist das Panel vom Solr-Server zu erreichen.
Dies sollte man mit einem Passwort absichern.

Fügt folgenden Code in den VirtualHost Abschnitt der Apache Config Datei ein und erstellt dazu ein Password.

sudo htpasswd -c /etc/apache2/htpasswd-solr solr
# Solr
ProxyPass / https://localhost:8983/solr/
ProxyPassReverse / https://localhost:8983/solr/


	AuthType Basic
	AuthName "solr"
	AuthUserFile /etc/apache2/htpasswd-solr
	Require valid-user

Nun ist eure Solr UI mit einem Passwort geschützt.

Ich hoffe diese Anleitung hat euch weitergeholfen, würde mich über ein Teilen der Anleitung freuen. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.