TYPO3 und Solr · 3 min read · Dec 27, 2025

Verwendung von Solr mit TYPO3 auf Debian Squeeze

Verwendung von Solr mit TYPO3 auf Debian Squeeze

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

TYPO3s Standard-Sucherweiterung namens “Indexed Search” ist für kleine Websites in Ordnung, aber wenn Ihre Website 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 Squeeze verwendet.

Ich gebe keine Garantie, dass dies für Sie 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 der Leistung beeinträchtigen.

2 Installation von Solr

server2.example.com:

Öffnen Sie /etc/apt/sources.list…

vi /etc/apt/sources.list

… und stellen Sie sicher, dass Sie die contrib- und non-free-Repositories aktiviert haben:

| deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free |

Aktualisieren Sie Ihre Paketdatenbank…

apt-get update

… und installieren Sie Java:

apt-get install sun-java6-bin sun-java6-jdk sun-java6-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

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 ausgeführt wird) 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

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

Starten Sie Tomcat neu:

/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

| |

Starten Sie Solr danach neu:

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

Da wir Tomcat nicht manuell starten möchten, jedes Mal, 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 im -Container 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:

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

Starten Sie Tomcat danach neu:

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