Plusieurs méthodes d'installation sont disponibles sur le site officiel, on reprend ici la méthode d'installation sur une debian like.
Importer la clé GPG utilisée pour la signature des paquets :
apt-get install gpg wget -qO - "https://artifacts.elastic.co/GPG-KEY-elasticsearch" | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
#Installer le paquet pour les mises a jour via HTTPS apt-get install apt-transport-https # Ajouter le dépot elasticsearch echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list # Installer l'application à partir du dépot apt-get update apt-get install elasticsearch
Une partition dédiée aux données de l'application est montée sur le répertoire /srv/elasticsearch
# Création des dossiers data et log mkdir /srv/elasticsearch/{data,log} # Restriction des droits d'accès chown elasticsearch:elasticsearch /srv/elasticsearch/{data,log} chmod u+rwx,g+rs-w,o-rwx /srv/elasticsearch/{data,log}
Modifier les valeurs des variables path.data
et path.log
dans le fichier de configuration /etc/elasticsearch/elasticsearch.yml
.
...
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /srv/elasticsearch/data
#
# Path to log files:
#
path.logs: /srv/elasticsearch/log
#
...
Pour démarrer automatiquement le service elasticsearch au démarrage de l’hôte :
systemctl daemon-reload
systemctl enable elasticsearch.service
Pour démarrer le service :
systemctl start elasticsearch.service
Lors du premier démarrage du service, un mot de passe est définit pour le super utilisateur “elastic”. Le mot de passe sera nécessaire notamment pour interroger l'API.
Il peut être facilement redéfinit si besoin :
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Pour vérifier le bon fonctionnement du node (localement d'abord) avec curl :
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:"secret-passwod" https://localhost:9200
Depuis une machine distante, il faudra copier le certificat de l'autorité de certification ( /etc/elasticsearch/certs/http_ca.crt).
Si le nom d’hôte est modifié ou après avoir activer des interfaces supplémentaires, il faut regénérer un certificat avec le champ SAN mis à jour.
elasticsearch intègre un outil facilitant la génération des certificats elasticsearch-certutil :
# Pour regénérer un certificat SSL autosigné /usr/share/elasticsearch/bin/elasticsearch-certutil cert --self-signed # Pour générer la CSR à transmettre à un autorité de certification tierce /usr/share/elasticsearch/bin/elasticsearch-certutil http
Une archive est générée, il faut mettre à jour la configuration pour utiliser le nouveau certificat.