Solr TYPO3 · 3 min read · Dec 27, 2025

Utiliser Solr avec TYPO3 sur Debian Wheezy

Utiliser Solr avec TYPO3 sur Debian Wheezy

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

L’extension de recherche par défaut de TYPO3 appelée “Indexed Search” convient pour les petits sites web, mais si votre site web est plus grand (> 500 pages), il devient très lent. Heureusement, vous pouvez le remplacer par une extension de recherche qui utilise le serveur de recherche ultra-rapide Apache Solr. Ce tutoriel explique comment utiliser Apache Solr avec TYPO3 sur Debian Wheezy.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

Dans ce tutoriel, j’utilise deux serveurs :

  • server1.example.com (IP : 192.168.0.100) : serveur web où le package d’introduction TYPO3 4.7 est installé (dans le vhost www.example.com).
  • server2.example.com (IP : 192.168.0.101) : serveur séparé où j’installerai Apache Solr.

Bien sûr, il est possible d’installer Solr sur le même système que le serveur web ; cependant, j’aimerais séparer les deux services afin qu’ils n’impactent pas les performances de l’autre.

2 Installation de Solr

server2.example.com :

Tout d’abord, installez Java :

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

Le projet TYPO3 fournit un script d’installation de Solr que nous téléchargeons comme suit :

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

Ensuite, vérifiez quelle est la version actuelle d’Apache Tomcat 6 en visitant http://tomcat.apache.org/download-60.cgi. Au moment de la rédaction, c’était 6.0.37. Maintenant, ouvrez install-solr.sh…

vi install-solr.sh

… et assurez-vous que la variable TOMCAT_VER contient le bon numéro de version - si nécessaire, changez-le :

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

Maintenant, nous installons Solr. Par défaut (si vous ne fournissez aucune langue en tant que paramètres), Solr est installé avec le support uniquement pour la langue anglaise ; si vous avez besoin de support pour plus de langues, il suffit de les ajouter à la commande, par exemple comme ceci :

./install-solr.sh german english french

Cela installe un serveur Tomcat (où Solr est exécuté) et Solr. Par défaut, Tomcat écoute uniquement sur 127.0.0.1 ; comme nous voulons accéder à Solr depuis un hôte distant, nous devons configurer Tomcat pour écouter sur toutes les interfaces, donc nous remplaçons 127.0.0.1 par 0.0.0.0 dans /opt/solr-tomcat/tomcat/conf/server.xml :

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

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

Redémarrez Tomcat :

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

Ensuite, nous pouvons configurer des cœurs dans Solr. Par défaut, un cœur anglais est déjà configuré ; si vous avez besoin de plus de langues, vous pouvez les ajouter à /opt/solr-tomcat/solr/solr.xml, par exemple comme ceci :

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

| |

Redémarrez Solr ensuite :

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

Parce que nous ne voulons pas démarrer Tomcat manuellement chaque fois que le serveur est démarré, nous pouvons ajouter la commande de démarrage de Tomcat à /etc/rc.local :

vi /etc/rc.local

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

2.1 Ajout d’une authentification à Solr

Parce que Solr écoute sur toutes les interfaces, il est judicieux d’ajouter une authentification. Je vais maintenant configurer l’utilisateur user1 avec le mot de passe secret pour le cœur anglais.

Ouvrez /opt/solr-tomcat/tomcat/conf/web.xml…

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

… et ajoutez la section suivante quelque part à l’intérieur du conteneur :

| [...] Application Solr authentifiée /core_en/* role1 BASIC Protection Admin et Mise à jour [...] |

Comme vous le voyez, cela est valide uniquement pour le cœur anglais ( /core_en/*), et j’ai configuré cela pour le rôle role1, donc les utilisateurs valides doivent appartenir à ce rôle. Pour ajouter l’utilisateur user1 avec son mot de passe à ce rôle, ouvrez /opt/solr-tomcat/tomcat/conf/tomcat-users.xml…

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

… et ajoutez la section suivante à l’intérieur du conteneur :

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

Redémarrez Tomcat ensuite :

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

Vous pouvez maintenant ouvrir un navigateur et visiter Solr sous http://192.168.0.101:8080/solr où vous devriez voir tous les cœurs configurés :

Lorsque vous visitez le cœur anglais (pour lequel nous venons de configurer l’authentification), vous devriez être invité à entrer un nom d’utilisateur et un mot de passe :

Après une authentification réussie, vous devriez voir la page suivante, ce qui signifie que Solr fonctionne correctement :

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.