GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Elasticsearch su Ubuntu 22.04 con SSL

Come installare Elasticsearch su Ubuntu 22.04 con SSL. Elasticsearch 8 è una potente ricerca distribuita scalabile in tempo reale e analisi dei dati. Qui imparerai come configurare SSL per la tua installazione Elasticsearch con proxy inverso Nginx su Ubuntu 22.04.

Creerai un sottodominio per il tuo servizio Elasticsearch e installerai il certificato SSL Let's Encrypt gratuito utilizzando Certbot.

Questa configurazione è testata su Google Cloud Platform con Ubuntu 22.04 LTS. Quindi questa guida funzionerà perfettamente su altri provider di servizi cloud come AWS, Azure o qualsiasi VPS o server dedicato.

Prerequisiti

  • Un server con minimo 2 GB di RAM e 2 vCPU
  • Un utente con privilegi sudo.

Configurazione iniziale del server

Inizia aggiornando i pacchetti software del server all'ultima versione disponibile.

sudo apt update 
sudo apt upgrade

Configura sottodominio

Assicurati di utilizzare un sottodominio per accedere alla tua installazione di Elasticsearch.

Vai alla tua sezione di gestione DNS e crea un nuovo A registra con il nome che desideri per il tuo sottodominio (ad esempio search ) e il valore dell'indirizzo IP del tuo server.

Quindi il tuo sottodominio sarà simile a quello qui sotto. Se desideri configurare il tuo dominio principale puoi farlo anche tu.

search.yourdomain.com

Passaggio 1:installa ElasticSearch

Java è già incluso nel pacchetto Elasticsearch, quindi non vuoi installare Java manualmente. Ulteriori informazioni sull'installazione di Java su Ubuntu 22.04.

Qui installeremo Elasticsearch 8.

Inizia importando la chiave GPG del repository Elasticsearch.

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

Aggiungi il repository all'elenco delle fonti del tuo server 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

Aggiorna l'elenco dei pacchetti e installa ElasticSearch.

sudo apt update
sudo apt install elasticsearch

Una volta completata l'installazione, riceverai la password del super utente, tienilo presente e proteggila.

------------------- 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'.

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

Il servizio Elasticsearch non viene avviato automaticamente al momento dell'installazione, è necessario eseguire i comandi seguenti per configurare il servizio Elasticsearch in modo che si avvii automaticamente utilizzando systemd.

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

Una volta installato Elasticsearch, puoi limitare la porta 9200 dall'esterno, modificando il elasticsearch.yml file e decommenta il network.host e sostituisci il valore con Internal IP or any IP or localhost .

sudo nano /etc/elasticsearch/elasticsearch.yml 

Quindi sembra così..

network.host: INTERNAL_IP

Puoi anche usare localhost come host o qualsiasi indirizzo IP desideri.

Premi Ctrl+X seguito da Y e Enter per salvare il file ed uscire.

Ora avvia e abilita Elasticsearch all'avvio del server.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Ora assicurati che il tuo servizio Elasticsearch sia in esecuzione.

sudo systemctl status elasticsearch

Fase 2:verifica se Elasticsearch funziona

Verifica la tua installazione inviando una richiesta HTTPs allegando il certificato utilizzando il comando seguente.

Prendi nota della password che hai ricevuto in precedenza, dovrai usarla quando richiesto.

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

Inserisci la password quando richiesto.

Riceverai una risposta come mostrato di seguito.

{
  "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"
}

Fase 3:installa e configura Nginx per Elasticsearch

Ora è il momento di installare e configurare Nginx. Esegui il comando seguente per installare Nginx.

sudo apt install nginx

Ora puoi configurare il proxy inverso Nginx da Elasticsearch.

Rimuovi le configurazioni predefinite

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

Crea un nuovo file di configurazione Nginx.

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

Incolla quanto segue.

Nota:devi utilizzare esattamente lo stesso IP o localhost che hai utilizzato nella configurazione host di 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;
} 

Salva ed esci dal file.

Abilita la tua configurazione creando un link simbolico.

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

Fase 4:installa Let's Encrypt SSL

HTTPS è un protocollo per la comunicazione sicura tra un server (istanza) e un client (browser web). Grazie all'introduzione di Let's Encrypt, che fornisce certificati SSL gratuiti, HTTPS è adottato da tutti e fornisce anche fiducia al tuo pubblico.

sudo apt install python3-certbot-nginx

Ora abbiamo installato Certbot di Let's Encrypt per Ubuntu 22.04, esegui questo comando per ricevere i tuoi certificati.

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

Questo comando installerà Free SSL, configurerà il reindirizzamento a HTTPS e riavvierà il server Nginx.

Fase 5:rinnovo del certificato SSL

I certificati forniti da Let's Encrypt sono validi solo per 90 giorni, quindi è necessario rinnovarli spesso. Quindi, testiamo la funzionalità di rinnovo utilizzando il seguente comando.

sudo certbot renew --dry-run

Questo comando verificherà la scadenza del certificato e configura la funzione di rinnovo automatico.

Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux

Conclusione

Ora hai imparato come installare Elasticsearch 8 e proteggerlo con Let's Encrypt free ssl su Ubuntu 22.04.

Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.


Linux
  1. Come installare Elasticsearch su Ubuntu 18.04

  2. Come installare Joomla con Apache su Ubuntu 18.04

  3. Come installare Elasticsearch su Ubuntu 20.04

  4. Come installare Zammad Community in Ubuntu 20.04

  5. Come installare Docker su Ubuntu 22.04

COME INSTALLARE NEXTCLOUD SU UBUNTU?

Come installare Asterisk in Ubuntu 20.04

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Ruby On Rails su Ubuntu 20.04 con MySQL, Nginx, Passenger, SSL

Come installare Sendmail su Ubuntu 22.04

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx