GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie Elasticsearch auf Ubuntu 22.04 mit SSL

So installieren Sie Elasticsearch auf Ubuntu 22.04 mit SSL. Elasticsearch 8 ist eine leistungsstarke, skalierbare, verteilte Suche und Datenanalyse in Echtzeit. Hier erfahren Sie, wie Sie SSL für Ihre Elasticsearch-Installation mit Nginx-Reverse-Proxy unter Ubuntu 22.04 konfigurieren.

Sie erstellen eine Subdomain für Ihren Elasticsearch-Dienst und installieren das kostenlose Let’s Encrypt SSL-Zertifikat mit Certbot.

Dieses Setup wurde auf der Google Cloud Platform mit Ubuntu 22.04 LTS getestet. Dieser Leitfaden funktioniert also perfekt auf anderen Cloud-Service-Anbietern wie AWS, Azure oder allen VPS oder dedizierten Servern.

Voraussetzungen

  • Ein Server mit mindestens 2 GB RAM und 2 vCPU
  • Ein Benutzer mit sudo-Berechtigungen.

Ersteinrichtung des Servers

Beginnen Sie damit, die Server-Softwarepakete auf die neueste verfügbare Version zu aktualisieren.

sudo apt update 
sudo apt upgrade

Unterdomäne konfigurieren

Stellen Sie sicher, dass Sie eine Subdomain verwenden, um auf Ihre Elasticsearch-Installation zuzugreifen.

Gehen Sie zu Ihrem DNS-Verwaltungsbereich und erstellen Sie einen neuen A Eintrag mit dem gewünschten Namen für Ihre Subdomain (zum Beispiel search ) und Wert Ihrer Server-IP-Adresse.

Ihre Subdomain sieht also ähnlich aus wie die untenstehende. Wenn Sie Ihre Hauptdomäne konfigurieren möchten, können Sie dies ebenfalls tun.

search.yourdomain.com

Schritt 1:ElasticSearch installieren

Java ist bereits im Elasticsearch-Paket enthalten, sodass Sie Java nicht manuell installieren möchten. Erfahren Sie mehr über die Installation von Java unter Ubuntu 22.04.

Hier installieren wir Elasticsearch 8.

Beginnen Sie mit dem Importieren des GPG-Schlüssels des Elasticsearch-Repositorys.

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

Fügen Sie das Repository zur Quellenliste Ihres Ubuntu-Servers oder -Systems hinzu.

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

Aktualisieren Sie die Paketliste und installieren Sie ElasticSearch.

sudo apt update
sudo apt install elasticsearch

Sobald die Installation abgeschlossen ist, erhalten Sie das Superuser-Passwort, bitte notieren Sie es und sichern Sie es.

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

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

Der Elasticsearch-Dienst wird bei der Installation nicht automatisch gestartet. Sie müssen die folgenden Befehle ausführen, um den Elasticsearch-Dienst so zu konfigurieren, dass er automatisch mit systemd gestartet wird.

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

Sobald Elasticsearch installiert ist, können Sie Port 9200 einschränken von außen zugänglich, indem Sie elasticsearch.yml file bearbeiten und kommentieren Sie network.host aus und ersetzen Sie den Wert durch Internal IP or any IP or localhost .

sudo nano /etc/elasticsearch/elasticsearch.yml 

So sieht es also aus...

network.host: INTERNAL_IP

Sie können auch localhost verwenden als Host oder eine beliebige IP-Adresse, die Sie wünschen.

Drücken Sie Ctrl+X gefolgt von Y und Enter um die Datei zu speichern und zu beenden.

Starten und aktivieren Sie nun Elasticsearch beim Serverstart.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Stellen Sie nun sicher, dass Ihr Elasticsearch-Dienst ausgeführt wird.

sudo systemctl status elasticsearch

Schritt 2:Überprüfen Sie, ob Elasticsearch funktioniert

Testen Sie Ihre Installation, indem Sie eine HTTPs-Anforderung senden, indem Sie das Zertifikat mit dem folgenden Befehl anhängen.

Notieren Sie sich das Passwort, das Sie zuvor erhalten haben, Sie müssen es verwenden, wenn Sie dazu aufgefordert werden.

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

Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden.

Sie erhalten eine Antwort wie unten gezeigt.

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

Schritt 3:Installieren und konfigurieren Sie Nginx für Elasticsearch

Jetzt ist es an der Zeit, Nginx zu installieren und zu konfigurieren. Führen Sie den folgenden Befehl aus, um Nginx zu installieren.

sudo apt install nginx

Jetzt können Sie den Nginx-Reverse-Proxy für Ihre Elasticsearch konfigurieren.

Standardkonfigurationen entfernen

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

Erstellen Sie eine neue Nginx-Konfigurationsdatei.

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

Fügen Sie Folgendes ein.

Hinweis:Sie müssen genau denselben IP verwenden oder localhost die Sie im Host der Elasticsearch-Konfiguration verwendet haben.

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;
} 

Speichern und beenden Sie die Datei.

Aktivieren Sie Ihre Konfiguration, indem Sie einen symbolischen Link erstellen.

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

Schritt 4:Let’s Encrypt SSL installieren

HTTPS ist ein Protokoll zur sicheren Kommunikation zwischen einem Server (Instanz) und einem Client (Webbrowser). Aufgrund der Einführung von Let’s Encrypt, das kostenlose SSL-Zertifikate bereitstellt, wird HTTPS von allen angenommen und schafft auch Vertrauen für Ihr Publikum.

sudo apt install python3-certbot-nginx

Jetzt haben wir Certbot von Let’s Encrypt für Ubuntu 22.04 installiert, führen Sie diesen Befehl aus, um Ihre Zertifikate zu erhalten.

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

Dieser Befehl installiert Free SSL, konfiguriert die Umleitung zu HTTPS und startet den Nginx-Server neu.

Schritt 5:SSL-Zertifikat erneuern

Von Let’s Encrypt bereitgestellte Zertifikate sind nur 90 Tage gültig, sodass Sie sie häufig erneuern müssen. Testen wir also die Erneuerungsfunktion mit dem folgenden Befehl.

sudo certbot renew --dry-run

Dieser Befehl testet den Ablauf des Zertifikats und konfiguriert die automatische Verlängerungsfunktion.

Bereiten Sie sich auf eine Rolle als Information Technology Professional vor mit Linux-Betriebssystem

Schlussfolgerung

Jetzt haben Sie gelernt, wie Sie Elasticsearch 8 installieren und mit Let’s Encrypt free ssl unter Ubuntu 22.04 sichern.

Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So installieren Sie Elasticsearch unter Ubuntu 18.04

  2. So installieren Sie Joomla mit Apache unter Ubuntu 18.04

  3. So installieren Sie Elasticsearch unter Ubuntu 20.04

  4. So installieren Sie die Zammad-Community in Ubuntu 20.04

  5. So installieren Sie Docker unter Ubuntu 22.04

WIE INSTALLIERE ICH NEXTCLOUD AUF UBUNTU?

So installieren Sie Asterisk in Ubuntu 20.04

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Ruby On Rails unter Ubuntu 20.04 mit MySQL, Nginx, Passenger, SSL

So installieren Sie Sendmail unter Ubuntu 22.04

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx