GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat Elasticsearch na Ubuntu 22.04 s SSL

Jak nainstalovat Elasticsearch na Ubuntu 22.04 s SSL. Elasticsearch 8 je výkonné škálovatelné distribuované vyhledávání a analýza dat v reálném čase. Zde se dozvíte, jak nakonfigurovat SSL pro vaši instalaci Elasticsearch pomocí reverzního proxy Nginx na Ubuntu 22.04.

Vytvoříte si subdoménu pro svou službu Elasticsearch a nainstalujete bezplatný certifikát Let’s Encrypt SSL pomocí Certbota.

Toto nastavení je testováno na Google Cloud Platform se systémem Ubuntu 22.04 LTS. Tato příručka tedy bude perfektně fungovat na jiných poskytovatelích cloudových služeb, jako je AWS, Azure nebo jakékoli VPS nebo dedikované servery.

Předpoklady

  • Server s minimálně 2 GB RAM a 2vCPU
  • Uživatel s právy sudo.

Počáteční nastavení serveru

Začněte aktualizací softwarových balíčků serveru na nejnovější dostupnou verzi.

sudo apt update 
sudo apt upgrade

Konfigurovat subdoménu

Ujistěte se, že pro přístup k instalaci Elasticsearch používáte subdoménu.

Přejděte do sekce správy DNS a vytvořte nový A záznam s názvem, který si přejete pro svou subdoménu (například search ) a hodnotu IP adresy vašeho serveru.

Vaše subdoména tedy bude vypadat podobně jako ta níže. Pokud chcete nakonfigurovat svou hlavní doménu, můžete to udělat také.

search.yourdomain.com

Krok 1:Nainstalujte ElasticSearch

Java je již součástí balíčku Elasticsearch, takže nemusíte Javu instalovat ručně. Přečtěte si další informace o instalaci Javy na Ubuntu 22.04.

Zde nainstalujeme Elasticsearch 8.

Začněte importem klíče GPG úložiště Elasticsearch.

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

Přidejte úložiště do seznamu zdrojů vašeho serveru nebo systému 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

Aktualizujte seznam balíčků a nainstalujte ElasticSearch.

sudo apt update
sudo apt install elasticsearch

Po dokončení instalace obdržíte heslo superuživatele, poznamenejte si ho a zabezpečte jej.

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

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

Služba Elasticsearch se po instalaci nespouští automaticky, ke konfiguraci služby Elasticsearch tak, aby se automaticky spouštěla ​​pomocí systemd, musíte provést níže uvedené příkazy.

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

Jakmile je Elasticsearch nainstalováno, můžete omezit port 9200 z vnějšího přístupu úpravou elasticsearch.yml file a odkomentujte network.host a nahraďte hodnotu Internal IP or any IP or localhost .

sudo nano /etc/elasticsearch/elasticsearch.yml 

Takže to vypadá takto..

network.host: INTERNAL_IP

Můžete také použít localhost jako hostitele nebo libovolné IP adresy.

Stiskněte Ctrl+X následuje Y a Enter pro uložení souboru a ukončení.

Nyní spusťte a povolte Elasticsearch při spouštění serveru.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Nyní se ujistěte, že vaše služba Elasticsearch běží.

sudo systemctl status elasticsearch

Krok 2:Ověřte, zda Elasticsearch funguje

Otestujte svou instalaci odesláním požadavku HTTPs připojením certifikátu pomocí níže uvedeného příkazu.

Poznamenejte si heslo, které jste obdrželi dříve, budete jej muset použít, až budete vyzváni.

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

Na výzvu zadejte heslo.

Obdržíte odpověď, jak je uvedeno níže.

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

Krok 3:Nainstalujte a nakonfigurujte Nginx pro Elasticsearch

Nyní je čas nainstalovat a nakonfigurovat Nginx. Spusťte níže uvedený příkaz a nainstalujte Nginx.

sudo apt install nginx

Nyní můžete nakonfigurovat reverzní proxy Nginx pro vaše Elasticsearch.

Odebrat výchozí konfigurace

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

Vytvořte nový konfigurační soubor Nginx.

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

Vložte následující.

Poznámka:Musíte použít přesně stejný IP nebo localhost které jste použili v hostiteli konfigurace 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;
} 

Uložte a ukončete soubor.

Povolte konfiguraci vytvořením symbolického odkazu.

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

Krok 4:Instalace Let’s Encrypt SSL

HTTPS je protokol pro zabezpečenou komunikaci mezi serverem (instance) a klientem (webovým prohlížečem). Díky zavedení Let’s Encrypt, který poskytuje bezplatné certifikáty SSL, si HTTPS osvojí všichni a také poskytuje důvěru vašemu publiku.

sudo apt install python3-certbot-nginx

Nyní jsme nainstalovali Certbot by Let’s Encrypt pro Ubuntu 22.04, spusťte tento příkaz, abyste získali své certifikáty.

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

Tento příkaz nainstaluje bezplatné SSL, nakonfiguruje přesměrování na HTTPS a restartuje server Nginx.

Krok 5:Obnovení certifikátu SSL

Certifikáty poskytované Let’s Encrypt jsou platné pouze 90 dní, takže je musíte často obnovovat. Pojďme tedy otestovat funkci obnovení pomocí následujícího příkazu.

sudo certbot renew --dry-run

Tento příkaz otestuje vypršení platnosti certifikátu a nakonfiguruje funkci automatického obnovení.

Připravte se na roli odborníka na informační technologie s operačním systémem Linux

Závěr

Nyní jste se naučili, jak nainstalovat Elasticsearch 8 a zabezpečit jej pomocí bezplatného ssl Let’s Encrypt na Ubuntu 22.04.

Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím komentář níže.


Linux
  1. Jak nainstalovat Elasticsearch na Ubuntu 18.04

  2. Jak nainstalovat komunitu Zammad v ubuntu 20.04

  3. Jak nainstalovat Docker na Ubuntu 22.04

  1. Jak nainstalovat Joomla s Apache na Ubuntu 18.04

  2. Jak nainstalovat Elasticsearch na Ubuntu 20.04

  3. Jak nainstalovat WordPress 5.x s Nginx na Ubuntu 18.04 / Ubuntu 16.04

  1. Jak nainstalovat ELK Stack na Ubuntu 18.04

  2. Jak nainstalovat ElastAlert s Elasticsearch na Ubuntu

  3. Jak nainstalovat NextCloud na Ubuntu 20.04 s Apache