Apache Solr auf Debian 9 (Stretch) für Drupal Search API installieren

Im Wesentlichen ist dies eine Übersetzung und (im Bezug auf Java) Vereinfachung des Howtos von River Harbor. Zur Verwendung des Search API Solr Backends für Drupal 7 oder 8 lässt sich auf einem Debian 9 (Stretch) Server folgendermaßen der Apache Solr Suchserver installieren:

Java Runtime Environment (JRE)

Zunächst muss auf dem System das Java Runtime Environment (JRE) installiert werden:

apt-get update -y && apt-get upgrade -y
apt-get install default-jre-headless

Es ist auch möglich, stattdessen das Java Development Toolkit (JDK) zu installieren, dass das JRE enthält. Dies ist normalerweise nur für die Java-Entwicklung oder zur Kompilierung von Komponenten notwendig. Für Apache Solr reicht es, das JRE zu installieren.

Solr installieren

Hier kann die aktuellste 6.x-Version von Solr gefunden werden. Installiert wird sie als root wie folgt (Versionsnummer 6.6.2 ggfs. ersetzen):

cd /tmp
wget https://archive.apache.org/dist/lucene/solr/6.6.2/solr-6.6.2.tgz
tar xzf solr-6.6.2.tgz solr-6.6.2/bin/install_solr_service.sh --strip-components=2
./install_solr_service.sh solr-6.6.2.tgz
service solr status

Nun sollte angezeigt werden, dass der Solr-Dienst läuft. Standardmäßig läuft Solr auf Port 8983. Die Firewall sollte so konfiguriert werden, dass dieser Port nur von localhost erreichbar ist (sofern die Drupal-Installation auf derselben Maschine läuft). Achtung: Der Port darf nicht ungeschützt öffentlich erreichbar sein!

Solr konfigurieren

su - solr -c "/opt/solr/bin/solr create -c drupal -n data_driven_schema_configs"

Damit wird der Search Core „drupal“ angelegt und Apache Solr ist unter http://youripaddress:8983/solr/ erreichbar (Firewall beachten). Nun werden die mit dem search_api_solr Modul mitgelieferten Konfigurationsdateien kopiert:

cp sites/all/modules/search_api_solr/solr-conf/6.x/* /var/solr/data/drupal/conf/
service solr restart

Nun lässt sich in der Search API-Konfiguration von Drupal ein neuer Server anlegen mit folgenden Daten:

  • Server-Name: beliebig
  • Service Class: Solr service
  • Solr host: <hostname>
  • Solr port: 8983
  • Solr path: /solr/drupal

Quellen