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. ?