So installierst du Apache Solr unter Debian 12

Apache Solr ist eine Open-Source-Suchplattform, die auf Apache Lucene aufbaut und leistungsstarke Such- und Indizierungsfunktionen für Anwendungen bietet. Sie bietet erweiterte Volltextsuche, facettierte Suche, Echtzeit-Indizierung und verteilte Suche, was sie zu einer beliebten Wahl für den Aufbau von Suchmaschinen und Datenabfragesystemen macht. Solr ist hochgradig skalierbar und für große Datenmengen optimiert und wird häufig in Unternehmensumgebungen für Aufgaben wie Website-Suche, E-Commerce und Big Data-Analysen eingesetzt. Seine REST-ähnliche API ermöglicht eine einfache Integration mit anderen Systemen und unterstützt Funktionen wie das Hervorheben von Abfragevorschlägen und die geografische Suche. Die Flexibilität, die Leistung und die Unterstützung der Community haben Solr zu einer führenden Lösung für Unternehmen gemacht, die robuste Suchfunktionen benötigen.

In dieser Anleitung zeigen wir dir Schritt für Schritt, wie du Apache Solr auf dem Debian 12 Server installierst. Du installierst Apache Solr mit Java OpenJDK 17, sicherst es über das BasicAuth-Plugin und lernst dann, wie du einen Solr-Index über die Kommandozeile erstellst.

Voraussetzungen

Bevor du fortfährst, solltest du die folgenden Voraussetzungen erfüllen:

  • Ein Debian 12 Server mit mindestens 4 GB Arbeitsspeicher.
  • Ein Nicht-Root-Benutzer mit sudo-Administrator-Rechten.

Installation von Java OpenJDK

Apache Solr ist eine Suchplattform für Unternehmen, die auf Apache Lucene basiert und auf der Java JRE (Java Runtime Environment) läuft. Zurzeit benötigt Solr mindestens Java JRE (Java Runtime Environment) Version 11. Du wirst OpenJDK 17 verwenden, das du aus dem Debian-Repository installieren kannst.

Bevor du beginnst, führe den folgenden Befehl aus, um deinen Debian-Paketindex zu aktualisieren und aufzufrischen.

sudo apt update

Repo aktualisieren

Führe nun den folgenden Befehl aus, um Java OpenJDK auf deinem Debian-Rechner zu installieren. In Debian 12 verweist das Paket default-jdk auf Java OpenJDK 17, das Apache Solr verwenden kann.

sudo apt install default-jdk

Gib y ein, um mit der Installation fortzufahren.

openjdk installieren

Nachdem die Installation abgeschlossen ist, überprüfe die Java-Version, indem du den folgenden Befehl ausführst.

java --version

Die folgende Ausgabe bestätigt, dass Java OpenJDK 17 installiert ist.

check java

Herunterladen und Installieren von Apache Solr

Nachdem du Java OpenJDK installiert hast, lädst du als Nächstes Apache Solr herunter und installierst es über das Installationsskript auf deinem Rechner. Die aktuellste Version von Apache Solr ist derzeit Version 9.4. Besuche die offizielle Apache Solr Download-Seite, um Informationen über die neueste Version zu erhalten.

Bevor du Apache Solr herunterlädst, installiere einige Abhängigkeiten, indem du den folgenden Befehl ausführst.

sudo apt install curl lsof bc

Führe nun den folgenden curl-Befehl aus, um das Binärpaket von Apache Solr herunterzuladen. Zum Zeitpunkt dieses Artikels ist die neueste Version von Apache Solr v9.4.0. Nach dem Download findest du das Apache Solr-Paket unter solr-9.4.0.tgz.

curl -qO https://downloads.apache.org/solr/solr/9.4.0/solr-9.4.0.tgz

Danach führst du den folgenden Befehl aus, um das Apache Solr-Installationsskript aus der Datei solr-9.4.0.tgz zu entpacken. Das Installationsskript install_solr_service.sh wird aus deinem aktuellen Arbeitsverzeichnis extrahiert.

tar xzf solr-9.4.0.tgz solr-9.4.0/bin/install_solr_service.sh --strip-components=2

apache solr herunterladen

Als Nächstes führst du den folgenden Befehl aus, um Apache Solr solr-9.4.0.tgz über das Installer-Skript install_solr_service.sh zu installieren.

sudo bash ./install_solr_service.sh solr-9.4.0.tgz

Während des Vorgangs siehst du folgendes Bild:

Solr installieren

Auf dem Bild solltest du den detaillierten Status deiner Apache Solr-Installation sehen:

  • Das Standard-Installationsverzeichnis von Apache Solr ist /opt/solr mit dem Datenverzeichnis /var/solr.
  • Der neue Systembenutzer solr wird automatisch erstellt, mit dem der Apache Solr-Prozess ausgeführt wird.
  • Außerdem wird ein neues Service-Skript namens solr.service erstellt, das über systemctl und den Befehl service verwaltet werden kann.

Überprüfe nun den solr-Dienst mit dem folgenden Befehl.

sudo service solr status

Die folgende Ausgabe bestätigt, dass der Solr-Dienst im Hintergrund läuft und über das Serviceskript gestartet wurde.

Solr-Dienst prüfen

Du kannst auch folgenden Befehl verwenden, um den Solr-Dienst neu zu starten oder zu stoppen.

sudo service solr restart
sudo service solr stop

Apache Solr konfigurieren

Jetzt hast du Apache Solr installiert. Im nächsten Schritt wirst du Folgendes tun:

  • Debian-System konfigurieren: Du wirst deinen Debian-Rechner anpassen, indem du shmmax, nr_hugepages und die Systemlimits für maximale Prozesse und offene Dateien erhöhst.
  • Solr konfigurieren: Du wirst den maximalen Heap-Speicher für Solr erhöhen und eine bestimmte lokale IP-Adresse als Host für Apache Solr konfigurieren.

Los geht’s.

Debian-System konfigurieren

Um Apache Solr zu optimieren, musst du die Werte für shmmax, nr_hugepages, max processes und max open files auf deinem Debian-Rechner erhöhen.

Führe den folgenden Befehl aus, um die Kernelparameter shmmax und nr_hugepages auf deinem Debian-Rechner zu erhöhen.

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

Öffne dann die Datei /etc/security/limits.conf mit dem folgenden Editor-Befehl nano.

sudo nano /etc/security/limits.conf

Füge die folgende Konfiguration an das Ende der Zeile an. Dadurch werden der maximale Prozess und die maximal geöffneten Dateien für den Benutzer Solr auf 65000 gesetzt.

solr   soft   nofile   65000
solr   hard   nofile   65000
solr   soft   nproc    65000
solr   hard   nproc    65000

Speichere die Datei und beende den Editor, wenn du fertig bist.

Überprüfe abschließend die Limits (max process und max open files) für den Benutzer Solr, indem du den folgenden Befehl ausführst.

sudo -H -u solr bash -c "ulimit -aH"

Wenn du erfolgreich warst, solltest du jetzt das ulimit max process und max open files für den Benutzer solr auf 65000 gesetzt haben.

Setup-System

Apache Solr konfigurieren

Nachdem du Änderungen an deinem Debian-Rechner vorgenommen hast, wirst du nun die Apache Solr-Konfiguration ändern, indem du den maximalen Heap-Speicher auf 4 GB einstellst und Solr auf einer bestimmten lokalen IP-Adresse 192.168.10.15 laufen lässt.

Öffne die Standardkonfiguration von Apache Solr /etc/default/solr.in.sh mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/default/solr.in.sh

Passe die Standardoption SOLR_HEAP an den maximal zulässigen Speicher an. In diesem Beispiel erlaubst du Apache Solr, einen maximalen Speicherplatz von 4 GB zu verwenden.

SOLR_HEAP="4g"

Entferne dann die Kommentare zu den Optionen SOLR_HOST und SOLR_JETTY_HOST und gib deine Server-IP-Adresse ein. In diesem Beispiel wirst du Apache Solr unter der lokalen IP-Adresse 192.168.10.15 ausführen.

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um den Solr-Dienst neu zu starten und die vorgenommenen Änderungen zu übernehmen.

sudo service solr restart

Nachdem du den Befehl ausgeführt hast, läuft dein Apache Solr auf deiner Server-IP-Adresse 192.168.10.15 und der maximale Heap-Speicher beträgt 4 GB.

Starte deinen Webbrowser und rufe die Server-IP-Adresse gefolgt von Port 8983 auf, z. B. http://192.168.10.15:8983/. Wenn alles richtig gemacht wurde, solltest du die Apache Solr Dashboard-Seite wie die folgende sehen.

Solr Dashboard

Dort kannst du sehen, dass das Installationsverzeichnis von Apache Solr /opt/solr mit Java OpenJDK 17 läuft.

Apache Solr mit dem BasicAuth Plugin absichern

In diesem Abschnitt wirst du Apache Solr sichern, indem du die Authentifizierung über das BasicAuth Plugin hinzufügst und einen neuen Solr-Benutzer anlegst. Dazu musst du eine bestimmte Konfiguration erstellen und dann das Authentifizierungsmodul und das Autorisierungsmodul für Solr-Benutzer definieren.

Erstelle eine neue Datei /var/solr/data/security.json mit dem folgenden nano-Editor-Befehl. In diesem Beispiel ist das Standard-Datenverzeichnis für Apache Solr /var/solr/data/.

sudo nano /var/solr/data/security.json

Füge die folgende Konfiguration in die Datei ein.

{
  "authentication":{
    "blockUnknown": true,
    "class":"solr.BasicAuthPlugin",
    "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
    "realm":"My Solr users",
    "forwardCredentials": false
  },
  "authorization":{
    "class":"solr.RuleBasedAuthorizationPlugin",
    "permissions":[{"name":"all", "role":"admin"}],
    "user-role":{"solr":"admin"}
  }
}

Speichere und schließe die Datei, wenn du fertig bist.

Auf diese Weise sicherst du Apache Solr über Folgendes ab

  • BasicAuthPlugin für die Benutzerauthentifizierung und erstelle einen neuen Benutzer solr mit dem Passwort solrRocks.
  • RuleBasedAuthorizationPlugin für die Autorisierung und konfiguriere den Benutzer solr als Administrator, der auf alle Indizes innerhalb deiner Apache Solr-Installation zugreifen kann.

Als Nächstes führst du den folgenden Befehl aus, um den Solr-Dienst neu zu starten und die vorgenommenen Änderungen zu übernehmen.

sudo service solr restart

Gehe nun zurück zu deinem Webbrowser und lade die Registerkarte Apache Solr neu. Wenn alles erfolgreich war, solltest du auf die Solr-Anmeldeseite weitergeleitet werden, die wie folgt aussieht.

Melde dich mit dem Benutzer solr und dem Passwort SolrRocks an.

solr login page

Wenn der Anmeldeversuch erfolgreich war, solltest du das Apache Solr Dashboard auf deinem Bildschirm sehen.

Solr Dashboard

Ersten Apache Solr Index erstellen

Wenn du die Installation von Apache Solr abgeschlossen hast, kannst du jetzt deinen ersten Solr-Index über die Kommandozeile erstellen. Zuvor musst du jedoch sicherstellen, dass die Standardauthentifizierung für Solr konfiguriert ist.

Öffne die Solr-Konfigurationsdatei /etc/default/solr.in.sh mit dem folgenden Befehl des nano-Editors.

sudo nano /etc/default/solr.in.sh

Entferne die Kommentare in den folgenden Zeilen, um die Standardauthentifizierung von Solr über die Basisauthentifizierung einzurichten und gib den Solr-Benutzer und das Passwort SolrRocks ein, die du erstellt hast.

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe nun den folgenden systemctl-Befehl aus, um den Solr-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo service solr restart

Als nächstes führst du den folgenden Befehl aus, um deinen ersten Solr-Index test_core zu erstellen.

su - solr -c "/opt/solr/bin/solr create -c test_core -n TestCore"

Sobald der Index erstellt ist, wirst du die erwartete Ausgabe„Created new core ‚test_core‘“ sehen, etwa so:

Solr-Index erstellt.

Gehe schließlich zurück zu deinem Apache Solr Dashboard. Wähle dann test_core im Dropdown-Menü Core Selector aus.

Kernwähler

Nach der Fertigstellung solltest du detaillierte Informationen zum Index test_core wie die folgenden sehen:

solr details

Fazit

Damit hast du die Installation von Apache Solr auf dem Debian 12 Server Schritt für Schritt abgeschlossen. Du hast Apache Solr mit Java OpenJDK 17 installiert und die Apache Solr-Installation durch Hinzufügen der Authentifizierung über das BasicAuth-Plugin gesichert. Außerdem hast du gelernt, wie du einen Solr-Index über die Kommandozeile erstellen kannst. Von nun an kannst du deine Solr-Installation nutzen, indem du einen Solr-Cluster erstellst.

Das könnte dich auch interessieren …