Comment installer Apache Solr sur Debian 12
Ce tutoriel existe pour ces versions d'OS
- Debian 12 (Bookworm)
- Debian 11 (bulle)
Sur cette page
- Conditions préalables
- Installation de Java OpenJDK
- Téléchargement et installation d'Apache Solr
Configuration d'Apache Solr
- Configuration du système Debian
- Configuration d'Apache Solr
Apache Solr est une plateforme de recherche open source construite sur Apache Lucene, conçue pour créer de puissantes capacités de recherche et d'indexation d'applications. Il propose une recherche avancée en texte intégral, une recherche à facettes, une indexation en temps réel et une recherche distribuée, ce qui en fait un choix populaire pour la création de moteurs de recherche et de systèmes de récupération de données. Solr est hautement évolutif et optimisé pour les gros volumes de données, souvent utilisé dans les environnements d'entreprise pour des tâches telles que la recherche sur des sites Web, le commerce électronique et l'analyse du Big Data. Son API de type REST permet une intégration facile avec d'autres systèmes et prend en charge des fonctionnalités telles que la mise en évidence des suggestions de requêtes et la recherche géospatiale. La flexibilité, les performances et le support communautaire de Solr en ont fait une solution leader pour les organisations ayant besoin de fonctionnalités de recherche robustes.
Dans ce guide, nous vous montrerons des instructions étape par étape sur la façon d'installer Apache Solr sur le serveur Debian 12. Vous installerez Apache Solr avec Java OpenJDK 17, le sécuriserez via le plugin BasicAuth, puis apprendrez à créer un index Solr à l'aide de la ligne de commande.
Conditions préalables
Avant de continuer, cochez les éléments suivants :
- Un serveur Debian 12 avec au moins 4 Go de mémoire.
- Un utilisateur non root avec les privilèges d'administrateur sudo.
Installation de Java OpenJDK
Apache Solr est une plate-forme de recherche d'entreprise basée sur Apache Lucene et fonctionnant sur Java JRE (Java Runtime Environment). Pour le moment, Solr nécessite au moins Java JRE (Java Runtime Environment) version 11 et vous utiliserez OpenJDK 17 qui peut être installé à partir du référentiel Debian.
Avant de commencer, exécutez la commande suivante pour mettre à jour et actualiser l'index de votre paquet Debian.
sudo apt update
Exécutez maintenant la commande suivante pour installer Java OpenJDK sur votre machine Debian. Dans Debian 12, le package default-jdk fait référence à Java OpenJDK 17, qu'Apache Solr peut utiliser.
sudo apt install default-jdk
Tapez y pour procéder à l’installation.
Une fois l'installation terminée, vérifiez la version Java en exécutant la commande suivante.
java --version
Le résultat suivant confirme que Java OpenJDK 17 est installé.
Téléchargement et installation d'Apache Solr
Après avoir installé Java OpenJDK, vous allez ensuite télécharger et installer Apache Solr sur votre machine via le script d'installation. À l'heure actuelle, la dernière version d'Apache Solr est la version 9.4. Visitez la page de téléchargement officielle d'Apache Solr pour obtenir des informations sur la dernière version.
Avant de télécharger Apache Solr, installez certaines dépendances en exécutant la commande suivante.
sudo apt install curl lsof bc
Exécutez maintenant la commande curl ci-dessous pour télécharger le package binaire d'Apache Solr. Au moment d'écrire ces lignes, la dernière version d'Apache Solr est la v9.4.0. Une fois téléchargé, le package Apache Solr sera disponible sur solr-9.4.0.tgz.
curl -qO https://downloads.apache.org/solr/solr/9.4.0/solr-9.4.0.tgz
Après cela, exécutez la commande suivante pour extraire le script d'installation d'Apache Solr du fichier solr-9.4.0.tgz. Le script d'installation install_solr_service.sh sera extrait de votre répertoire de travail actuel.
tar xzf solr-9.4.0.tgz solr-9.4.0/bin/install_solr_service.sh --strip-components=2
Ensuite, exécutez la commande suivante pour installer Apache Solr solr-9.4.0.tgz via le script d'installation install_solr_service.sh.
sudo bash ./install_solr_service.sh solr-9.4.0.tgz
Au cours du processus, vous verrez ce qui suit :
À partir de l'image, vous devriez voir l'état détaillé de votre installation d'Apache Solr :
- Le répertoire d'installation par défaut d'Apache Solr est /opt/solr avec le répertoire de données /var/solr.
- Le nouvel utilisateur système solr est créé automatiquement et sera utilisé pour exécuter le processus Apache Solr.
- Un nouveau script de service appelé solr.service est également créé, qui peut être géré via la commande systemctl et service .
Vérifiez maintenant le service solr à l’aide de la commande suivante.
sudo service solr status
La sortie suivante s'affichera, confirmant que le service solr s'exécute en arrière-plan et est démarré via le script de service.
Vous pouvez également utiliser la commande suivante pour redémarrer ou arrêter le service Solr.
sudo service solr restart
sudo service solr stop
Configuration d'Apache Solr
Maintenant que vous avez installé Apache Solr. À l'étape suivante, vous effectuerez les opérations suivantes :
- Configuration du système Debian : vous ajusterez votre machine Debian en augmentant shmmax, nr_hugepages et les limites du système pour le nombre maximum de processus et de fichiers ouverts.
- Configuration de Solr : vous augmenterez la mémoire maximale du tas pour Solr et configurerez une adresse IP locale spécifique en tant qu'hôte Apache Solr.
Commençons.
Configuration du système Debian
Pour optimiser Apache Solr, vous devez augmenter le nombre shmmax, nr_hugepages, le processus max et le fichiers ouverts max sur votre Machine Debian.
Exécutez la commande suivante pour augmenter les paramètres du noyau shmmax et nr_hugepages sur votre machine Debian.
sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages
Ensuite, ouvrez le fichier /etc/security/limits.conf à l'aide de la commande nano editor suivante.
sudo nano /etc/security/limits.conf
Ajoutez la configuration suivante au bas de la ligne. Cela définira le processus maximal et le nombre maximal de fichiers ouverts pour l'utilisateur Solr à 65 000.
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Enregistrez le fichier et quittez l'éditeur lorsque vous avez terminé.
Enfin, vérifiez les ulimits (processus maximum et fichiers ouverts maximum) pour l'utilisateur solr en exécutant la commande suivante.
sudo -H -u solr bash -c "ulimit -aH"
En cas de succès, vous devriez maintenant avoir le processus max ulimit et les fichiers ouverts max pour l'utilisateur solr configurés sur 65000.
Configuration d'Apache Solr
Après avoir apporté des modifications à votre machine Debian, vous allez maintenant modifier la configuration d'Apache Solr, définir la mémoire maximale du tas à 4 Go et exécuter Solr sur une adresse IP locale spécifique 192.168.10.15. fort>.
Ouvrez la configuration Apache Solr par défaut /etc/default/solr.in.sh à l'aide de la commande de l'éditeur nano ci-dessous.
sudo nano /etc/default/solr.in.sh
Ajustez l'option par défaut SOLR_HEAP avec votre mémoire maximale autorisée. Dans cet exemple, vous autoriserez Apache Solr à s'exécuter et à utiliser une mémoire maximale de 4 Go.
SOLR_HEAP="4g"
Ensuite, décommentez les options SOLR_HOST et SOLR_JETTY_HOST et saisissez l'adresse IP de votre serveur. Dans cet exemple, vous exécuterez Apache Solr avec l'adresse IP locale 192.168.10.15.
SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, exécutez la commande suivante pour redémarrer le service solr et appliquer les modifications que vous avez apportées.
sudo service solr restart
Après avoir exécuté la commande, votre Apache Solr s'exécutera sur l'adresse IP de votre serveur 192.168.10.15 et la mémoire maximale du tas sera 4 Go.
Lancez votre navigateur Web et visitez l'adresse IP du serveur suivie du port 8983, tel que http://192.168.10.15:8983/. Vous devriez voir la page du tableau de bord Apache Solr comme celle-ci si tout est fait correctement.
De là, vous pouvez voir que le répertoire d'installation d'Apache Solr /opt/solr s'exécute avec Java OpenJDK 17.
Sécuriser Apache Solr avec le plugin BasicAuth
Dans cette section, vous allez sécuriser Apache Solr en ajoutant l'authentification via le plugin BasicAuth et en créant un nouvel utilisateur Solr. Pour y parvenir, vous devez créer une configuration spécifique, puis définir le module d'authentification et le module d'autorisation pour les utilisateurs Solr.
Créez un nouveau fichier /var/solr/data/security.json à l'aide de la commande de l'éditeur nano suivante. Dans cet exemple, le répertoire de données par défaut pour Apache Solr est /var/solr/data/.
sudo nano /var/solr/data/security.json
Insérez la configuration suivante dans le fichier.
{
"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"}
}
}
Enregistrez et fermez le fichier lorsque vous avez terminé.
En faisant cela, vous sécuriserez Apache Solr via les éléments suivants :
- BasicAuthPlugin pour l'authentification des utilisateurs et créer un nouvel utilisateur solr avec le mot de passe solrRocks.
- RuleBasedAuthorizationPlugin pour l'autorisation et configurez l'utilisateur Solr en tant qu'administrateur pouvant accéder à tous les index de votre installation Apache Solr.
Ensuite, exécutez la commande suivante pour redémarrer le service solr et appliquer les modifications que vous avez apportées.
sudo service solr restart
Revenons maintenant à votre navigateur Web et rechargez l'onglet Apache Solr. Si tout réussit, vous devriez être redirigé vers la page de connexion Solr comme suit.
Connectez-vous avec l'utilisateur solr et le mot de passe SolrRocks.
Si la tentative de connexion réussit, vous devriez voir le tableau de bord Apache Solr sur votre écran.
Création du premier index Apache Solr
À ce stade, vous avez terminé l'installation d'Apache Solr, vous pouvez maintenant créer votre premier index Solr via la ligne de commande. Mais avant cela, vous devez vous assurer que l'authentification par défaut pour Solr est configurée.
Ouvrez le fichier de configuration Solr /etc/default/solr.in.sh à l'aide de la commande de l'éditeur nano suivante.
sudo nano /etc/default/solr.in.sh
Décommentez les lignes suivantes pour configurer l'authentification Solr par défaut via l'authentification de base et saisissez l'utilisateur solr et le mot de passe SolrRocks que vous avez créés.
SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Enregistrez le fichier et quittez l'éditeur lorsque vous avez terminé.
Exécutez maintenant la commande systemctl ci-dessous pour redémarrer le service solr et appliquer les modifications.
sudo service solr restart
Ensuite, exécutez la commande suivante pour créer votre premier index Solr test_core.
su - solr -c "/opt/solr/bin/solr create -c test_core -n TestCore"
Une fois l'index créé, vous verrez le résultat attendu "Créé un nouveau noyau 'test_core'" comme ceci :
Enfin, revenons à votre tableau de bord Apache Solr. Ensuite, sélectionnez test_core dans la section du menu déroulant Core Selector.
Une fois terminé, vous devriez voir des informations détaillées pour l'index test_core comme suit :
Conclusion
Pour conclure, vous avez maintenant terminé étape par étape l'installation d'Apache Solr sur le serveur Debian 12. Vous avez installé Apache Solr avec Java OpenJDK 17 et sécurisé l'installation d'Apache Solr en ajoutant l'authentification via le plugin BasicAuth. De plus, vous avez également appris à créer un index Solr via la ligne de commande. Désormais, vous pouvez tirer parti de votre installation Solr en créant un cluster Solr.