GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Elasticsearch en Ubuntu 22.04 con SSL

Cómo instalar Elasticsearch en Ubuntu 22.04 con SSL. Elasticsearch 8 es un potente análisis de datos y búsqueda distribuida en tiempo real escalable. Aquí aprenderá cómo configurar SSL para su instalación de Elasticsearch con el proxy inverso Nginx en Ubuntu 22.04.

Creará un subdominio para su servicio Elasticsearch e instalará el certificado SSL Let's Encrypt gratuito usando Certbot.

Esta configuración se prueba en Google Cloud Platform con Ubuntu 22.04 LTS. Por lo tanto, esta guía funcionará perfectamente en otros proveedores de servicios en la nube como AWS, Azure o cualquier VPS o servidores dedicados.

Requisitos

  • Un servidor con un mínimo de 2 GB de RAM y 2 vCPU
  • Un usuario con privilegios sudo.

Configuración inicial del servidor

Comience por actualizar los paquetes de software del servidor a la última versión disponible.

sudo apt update 
sudo apt upgrade

Configurar subdominio

Asegúrese de usar un subdominio para acceder a su instalación de Elasticsearch.

Vaya a su sección de administración de DNS y cree un nuevo A registro con el nombre que deseas para tu subdominio (por ejemplo search ) y el valor de la dirección IP de su servidor.

Por lo tanto, su subdominio se verá similar al que se muestra a continuación. Si desea configurar su dominio principal, también puede hacerlo.

search.yourdomain.com

Paso 1:Instalar ElasticSearch

Java ya está incluido en el paquete de Elasticsearch, por lo que no desea instalar Java manualmente. Obtenga más información sobre cómo instalar Java en Ubuntu 22.04.

Aquí instalaremos Elasticsearch 8.

Comience importando la clave GPG del repositorio de Elasticsearch.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Agregue el repositorio a la lista de fuentes de su servidor o sistema Ubuntu.

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Actualice la lista de paquetes e instale ElasticSearch.

sudo apt update
sudo apt install elasticsearch

Una vez que se complete la instalación, recibirá la contraseña de superusuario, téngala en cuenta y protéjala.

------------------- Security autoconfiguration information ----------------------

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.

The generated password for the elastic built-in superuser is : houbJ1uivo5b=aVYYPa5

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with 
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with 
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with 
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

---------------------------------------------------------------------------------

El servicio Elasticsearch no se inicia automáticamente después de la instalación, debe ejecutar los siguientes comandos para configurar el servicio Elasticsearch para que se inicie automáticamente usando systemd.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Una vez instalado Elasticsearch, puede restringir el puerto 9200 desde el acceso externo editando el elasticsearch.yml file y descomente el network.host y reemplaza el valor con Internal IP or any IP or localhost .

sudo nano /etc/elasticsearch/elasticsearch.yml 

Entonces se ve así..

network.host: INTERNAL_IP

También puedes usar localhost como host o cualquier dirección IP que desee.

Presiona Ctrl+X seguido de Y y Enter para guardar el archivo y salir.

Ahora inicie y habilite Elasticsearch en el arranque del servidor.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Ahora asegúrese de que su servicio Elasticsearch se esté ejecutando.

sudo systemctl status elasticsearch

Paso 2:Verificar si Elasticsearch funciona

Pruebe su instalación enviando una solicitud HTTPs adjuntando el certificado usando el siguiente comando.

Tome nota de la contraseña que recibió anteriormente, deberá usarla cuando se le solicite.

sudo su
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://INTERNAL_IP:9200

Introduzca la contraseña cuando se le solicite.

Recibirá una respuesta como se muestra a continuación.

{
  "name" : "elasticsearch-vm",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "vGrj3z4rQEWRBUdd9IhZWA",
  "version" : {
    "number" : "8.2.2",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "9876968ef3c745186b94fdabd4483e01499224ef",
    "build_date" : "2022-05-25T15:47:06.259735307Z",
    "build_snapshot" : false,
    "lucene_version" : "9.1.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

Paso 3:Instalar y configurar Nginx para Elasticsearch

Ahora es el momento de instalar y configurar Nginx. Ejecute el siguiente comando para instalar Nginx.

sudo apt install nginx

Ahora puede configurar el proxy inverso Nginx para su Elasticsearch.

Eliminar configuraciones predeterminadas

sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default

Cree un nuevo archivo de configuración de Nginx.

sudo nano /etc/nginx/sites-available/search.conf

Pegue lo siguiente.

Nota:debe usar exactamente el mismo IP o localhost que utilizó en el host de la configuración de Elasticsearch.

server {
     listen [::]:80;
     listen 80;

     server_name search.yourdomain.com;

location / {
     proxy_pass http://INTERNAL_IP:9200;
     proxy_redirect off;
     proxy_read_timeout    90;
     proxy_connect_timeout 90;
     proxy_set_header  X-Real-IP  $remote_addr;
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header  Host $http_host;
} 

Guarde y salga del archivo.

Habilite su configuración creando un enlace simbólico.

sudo ln -s /etc/nginx/sites-available/search.conf /etc/nginx/sites-enabled/search.conf

Paso 4:Instalar Let's Encrypt SSL

HTTPS es un protocolo para la comunicación segura entre un servidor (instancia) y un cliente (navegador web). Debido a la introducción de Let's Encrypt, que proporciona certificados SSL gratuitos, todos adoptan HTTPS y también brindan confianza a sus audiencias.

sudo apt install python3-certbot-nginx

Ahora que hemos instalado Certbot de Let's Encrypt para Ubuntu 22.04, ejecute este comando para recibir sus certificados.

sudo certbot --nginx --agree-tos --no-eff-email --redirect -m [email protected] -d search.domainname.com

Este comando instalará Free SSL, configurará la redirección a HTTPS y reiniciará el servidor Nginx.

Paso 5:Renovación del certificado SSL

Los certificados proporcionados por Let's Encrypt son válidos solo por 90 días, por lo que debe renovarlos con frecuencia. Entonces, probemos la función de renovación usando el siguiente comando.

sudo certbot renew --dry-run

Este comando probará la caducidad del certificado y configurará la función de renovación automática.

Prepárese para un puesto de trabajo como profesional de tecnología de la información con sistema operativo Linux

Conclusión

Ahora ha aprendido cómo instalar Elasticsearch 8 y protegerlo con SSL gratuito de Let's Encrypt en Ubuntu 22.04.

Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.


Linux
  1. Cómo instalar Elasticsearch en Ubuntu 18.04

  2. Cómo instalar Joomla con Apache en Ubuntu 18.04

  3. Cómo instalar Elasticsearch en Ubuntu 20.04

  4. Cómo instalar Zammad Community en ubuntu 20.04

  5. Cómo instalar Docker en Ubuntu 22.04

¿CÓMO INSTALAR NEXTCLOUD EN UBUNTU?

Cómo instalar Asterisk en Ubuntu 20.04

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04 con Nginx

Cómo instalar Ruby On Rails en Ubuntu 20.04 con MySQL, Nginx, Passenger, SSL

Cómo instalar Sendmail en Ubuntu 22.04

Cómo instalar Apache Tomcat 10 en Ubuntu 22.04 con Nginx