{{tag>software application elasticsearch installation elk}}
====== Installer la pile logicielle elasticsearch ======
Plusieurs méthodes d'installation sont disponibles sur le site officiel, on reprend ici la méthode d'installation sur une debian like.
===== Installation des nodes =====
==== Installation du node initial ====
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
==== Configuration du node ====
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
#
...
==== Configuration du service ====
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
==== Vérifier l'état du node ====
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).
===== Regénérer un certificat =====
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 [[https://www.elastic.co/guide/en/elasticsearch/reference/current/certutil.html|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.
===== Références =====
* [[https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html|Installer la pile logicielle elasticsearch (elastic.co)]]
* [[https://www.elastic.co/guide/en/elasticsearch/reference/8.14/install-elasticsearch.html]]
* [[https://www.elastic.co/guide/en/elasticsearch/reference/8.14/deb.html]]
* [[https://www.elastic.co/guide/en/elastic-stack/current/installing-stack-demo-self.html]]
* [[https://www.elastic.co/guide/en/elastic-stack/current/install-stack-demo-secure.html]]