TYPO3 Solr · 3 min read · Dec 27, 2025

Verwendung von Solr mit TYPO3 auf Debian Wheezy

Verwendung von Solr mit TYPO3 auf Debian Wheezy

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

TYPO3s Standard-Sucherweiterung namens “Indexed Search” ist für kleine Webseiten in Ordnung, aber wenn Ihre Webseite größer ist (> 500 Seiten), wird sie sehr langsam. Glücklicherweise können Sie sie durch eine Sucherweiterung ersetzen, die den ultraschnellen Apache Solr-Suchserver verwendet. Dieses Tutorial erklärt, wie man Apache Solr mit TYPO3 auf Debian Wheezy verwendet.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

In diesem Tutorial verwende ich zwei Server:

  • server1.example.com (IP: 192.168.0.100): Webserver, auf dem das TYPO3 4.7 Einführungspaket installiert ist (im www.example.com vhost).
  • server2.example.com (IP: 192.168.0.101): separater Server, auf dem ich Apache Solr installieren werde.

Natürlich ist es möglich, Solr auf demselben System wie den Webserver zu installieren; ich möchte jedoch beide Dienste trennen, damit sie sich nicht gegenseitig in ihrer Leistung beeinträchtigen.

2 Installation von Solr

server2.example.com:

Zuerst Java installieren:

apt-get install openjdk-6-jdk openjdk-6-jre unzip
update-alternatives --config java  
update-alternatives --config javac

Das TYPO3-Projekt stellt ein Solr-Installationsskript zur Verfügung, das wir wie folgt herunterladen:

wget http://forge.typo3.org/projects/extension-solr/repository/revisions/master/raw/resources/shell/install-solr.sh  
chmod 755 install-solr.sh

Überprüfen Sie als Nächstes, welche die aktuelle Apache Tomcat 6-Version ist, indem Sie http://tomcat.apache.org/download-60.cgi besuchen. Zum Zeitpunkt des Schreibens war es 6.0.37. Öffnen Sie nun install-solr.sh…

vi install-solr.sh

… und stellen Sie sicher, dass die TOMCAT_VER-Variable die richtige Versionsnummer enthält - falls erforderlich, ändern Sie sie:

| [...] TOMCAT_VER=6.0.37 [...] |

Jetzt installieren wir Solr. Standardmäßig (wenn Sie keine Sprachen als Parameter angeben) wird Solr nur mit Unterstützung für die englische Sprache installiert; wenn Sie Unterstützung für weitere Sprachen benötigen, fügen Sie diese einfach dem Befehl hinzu, z. B. so:

./install-solr.sh german english french

Dies installiert einen Tomcat-Server (auf dem Solr läuft) und Solr. Standardmäßig hört Tomcat nur auf 127.0.0.1; da wir von einem Remote-Host auf Solr zugreifen möchten, müssen wir Tomcat so konfigurieren, dass es auf allen Schnittstellen hört, daher ersetzen wir 127.0.0.1 durch 0.0.0.0 in /opt/solr-tomcat/tomcat/conf/server.xml:

vi /opt/solr-tomcat/tomcat/conf/server.xml

| [...] [...] |

Tomcat neu starten:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Als Nächstes können wir Kerne in Solr konfigurieren. Standardmäßig ist bereits ein englischer Kern konfiguriert; wenn Sie weitere Sprachen benötigen, können Sie diese zu /opt/solr-tomcat/solr/solr.xml hinzufügen, z. B. so:

vi /opt/solr-tomcat/solr/solr.xml

| |

Danach Solr neu starten:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Da wir Tomcat nicht jedes Mal manuell starten möchten, wenn der Server hochgefahren wird, können wir den Tomcat-Startbefehl zu /etc/rc.local hinzufügen:

vi /etc/rc.local

| [...] /opt/solr-tomcat/tomcat/bin/startup.sh [...] |

2.1 Hinzufügen von Authentifizierung zu Solr

Da Solr auf allen Schnittstellen hört, ist es eine gute Idee, eine Authentifizierung hinzuzufügen. Ich werde jetzt den Benutzer user1 mit dem Passwort secret für den englischen Kern konfigurieren.

Öffnen Sie /opt/solr-tomcat/tomcat/conf/web.xml…

vi /opt/solr-tomcat/tomcat/conf/web.xml

… und fügen Sie den folgenden Abschnitt irgendwo innerhalb des -Containers hinzu:

| [...] Solr authentifizierte Anwendung /core_en/* role1 BASIC Admin- und Aktualisierungsschutz [...] |

Wie Sie sehen, gilt dies nur für den englischen Kern (/core_en/*), und ich habe dies für die Rolle role1 konfiguriert, sodass gültige Benutzer dieser Rolle angehören müssen. Um den Benutzer user1 mit seinem Passwort zu dieser Rolle hinzuzufügen, öffnen Sie /opt/solr-tomcat/tomcat/conf/tomcat-users.xml…

vi /opt/solr-tomcat/tomcat/conf/tomcat-users.xml

… und fügen Sie den folgenden Abschnitt innerhalb des -Containers hinzu:

| [...] [...] |

Tomcat danach neu starten:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

Sie können jetzt einen Browser öffnen und Solr unter http://192.168.0.101:8080/solr besuchen, wo Sie alle konfigurierten Kerne sehen sollten:

Wenn Sie den englischen Kern besuchen (für den wir gerade die Authentifizierung konfiguriert haben), sollten Sie nach einem Benutzernamen und einem Passwort gefragt werden:

Nach erfolgreicher Authentifizierung sollten Sie die folgende Seite sehen, was bedeutet, dass Solr erfolgreich läuft:

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.