Installazione software · 11 min read · Sep 12, 2025

Come installare OpenSearch su Ubuntu 24.04

OpenSearch è un progetto guidato dalla comunità di Amazon e un fork di Elasticsearch e Kibana. È un motore di ricerca e una suite di analisi completamente open-source con funzionalità ricche e innovative. I principali componenti del progetto OpenSearch sono OpenSearch (un fork di Elasticsearch) e OpenSearch Dashboards (un fork di Kibana). Entrambi i componenti forniscono funzionalità come sicurezza aziendale, avvisi, apprendimento automatico, SQL, gestione dello stato degli indici e altro ancora.

Questa guida ti mostrerà come installare OpenSearch e OpenSearch Dashboard sul server Ubuntu 24.04. Inoltre, proteggerai OpenSearch con certificati TLS e abiliterai l’autenticazione con nome utente e password.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

  • Un server Ubuntu 24.04 con almeno 8GB di RAM
  • Un utente non root con diritti di amministratore sul server

Aggiunta del repository OpenSearch

Per iniziare, devi aggiungere i repository di OpenSearch e OpenSearch Dashboard al tuo sistema. In questo esempio, utilizzeremo l’ultima versione stabile di OpenSearch.

Per prima cosa, esegui il comando qui sotto per installare i pacchetti di base sul tuo sistema Ubuntu.

sudo apt install lsb-release ca-certificates curl gnupg2 -y

Scarica la chiave GPG per il repository OpenSearch con il seguente comando.

curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

Aggiungi i repository per OpenSearch e OpenSearch Dashboard al tuo sistema con il comando qui sotto. In questo esempio, utilizzerai la versione stabile OpenSearch 2.x.

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list  

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.list

Infine, esegui il comando ‘ apt ‘ qui sotto per aggiornare l’indice dei pacchetti e recuperare le nuove informazioni sui pacchetti OpenSearch.

sudo apt update

Installazione di OpenSearch e OpenSearch Dashboard

Dopo aver aggiunto il repository OpenSearch, installerai OpenSearch e OpenSearch Dashboard tramite il gestore di pacchetti APT. Poi, avvierai entrambi i servizi tramite l’utilità ‘ systemctl ‘.

Prima di installare OpenSearch, esegui il comando qui sotto per generare una password casuale per l’installazione di OpenSearch. Assicurati di copiare l’output e includere lettere maiuscole, numeri e simboli.

sudo openssl rand -hex 16

Ora esegui il comando qui sotto per installare i pacchetti ‘ opensearch ‘ e ‘ opensearch-dashboard ‘. Assicurati di cambiare ‘ OPENSEARCH_INITIAL_ADMIN_PASSWORD ‘ e digita ‘ Y ‘ per confermare l’installazione.

sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=B07e_af7e9f8fe12e@85ab797ddc1f174Dapt-get install opensearch opensearch-dashboard

Dopo che l’installazione è terminata, esegui il comando ‘ systemctl ‘ qui sotto per ricaricare il gestore systemd e applicare i nuovi file di servizio.

sudo systemctl daemon-reload

Ora puoi avviare, abilitare e verificare OpenSearch con il comando qui sotto.

sudo systemctl enable --now opensearch  
sudo systemctl status opensearch

Puoi vedere qui sotto che OpenSearch è in esecuzione.

controlla opensearch

Infine, ora puoi avviare, abilitare e verificare il servizio OpenSearch Dashboard utilizzando il seguente comando.

sudo systemctl enable --now opensearch-dashboards  
sudo systemctl status opensearch-dashboards

Nell’output seguente, puoi vedere che il servizio ‘ opensearch-dashboards ‘ è in esecuzione.

controlla il dashboard di opensearch

Configurazione di OpenSearch

Con OpenSearch installato, configurerai l’installazione tramite il file ‘ /etc/opensearch/opensearch.yml ‘. Aumenterai anche la dimensione massima predefinita della JVM (Java Virtual Memory) per OpenSearch secondo necessità.

Apri la configurazione predefinita di OpenSearch ‘ /etc/opensearch/opensearch.yml ‘ con l’editor ‘ nano ‘.

sudo nano /etc/opensearch/opensearch.yml

Cambia le seguenti configurazioni di OpenSearch:

    • Cambia l’opzione ‘ network.host ‘ con il tuo indirizzo IP locale
    • Aggiungi il ‘ discovery.type ‘ come ‘ single-node ‘ per eseguire OpenSearch in modalità singola
    • Imposta il ‘ plugins.security.disabled ‘ su ‘ false
# Bind OpenSearch to the correct network interface. Use 0.0.0.0  
# to include all available interfaces or specify an IP address  
# assigned to a specific interface.  
network.host: 192.168.10.60  
  
# Unless you have already configured a cluster, you should set  
# discovery.type to single-node, or the bootstrap checks will  
# fail when you try to start the service.  
discovery.type: single-node  
  
# If you previously disabled the security plugin in opensearch.yml,  
# be sure to re-enable it. Otherwise you can skip this setting.  
plugins.security.disabled: false

Salva il file ed esci dall’editor quando hai finito.

Successivamente, apri la configurazione JVM (Java Virtual Machine) ‘ /etc/opensearch/jvm.options ‘ con l’editor ‘ nano ‘.

sudo nano /etc/opensearch/jvm.options

Aumenta la memoria massima predefinita per OpenSearch secondo necessità. Il valore predefinito è ‘ 1GB ‘.

-Xms2g  
-Xmx2g

Salva ed esci dal file.

Infine, esegui il seguente comando ‘ systemctl ‘ per riavviare ‘ opensearch ‘ e applicare le tue modifiche. Con questo, OpenSearch sarà in esecuzione su un indirizzo IP locale in modalità singola.

sudo systemctl restart opensearch

Proteggere OpenSearch con certificati TLS/SSL

Ora che hai configurato OpenSearch, dovrai impostare la sicurezza di OpenSearch tramite certificati SSL/TLS. In questa sezione, disabiliterai i certificati demo e poi genererai certificati root, certificati admin e certificati host/server.

Prima di generare i certificati SSL, elimina i certificati demo da OpenSearch utilizzando il comando qui sotto.

rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}

Modifica la configurazione di OpenSearch ‘ /etc/opensearch/opensearch.yml ‘ con l’editor ‘ nano ‘.

sudo nano /etc/opensearch/opensearch.yml

Commenta la configurazione di sicurezza ‘ demo ‘ per OpenSearch come segue.

disabilita demo

Salva il file ed esci dall’editor.

Ora crea una nuova directory ‘ /etc/opensearch/certs ‘ e spostati al suo interno. Questa directory sarà utilizzata per memorizzare i nuovi certificati per OpenSearch.

mkdir -p /etc/opensearch/certs; cd /etc/opensearch/certs

Generazione di certificati root

Per prima cosa, esegui il comando qui sotto per generare certificati root che saranno utilizzati per firmare i tuoi altri certificati come i certificati server e client.

openssl genrsa -out root-ca-key.pem 2048

Ora esegui il seguente comando per generare un certificato root dalla tua chiave privata. Assicurati di cambiare l’opzione ‘ -subj ‘ con i dettagli del tuo server.

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

Generazione di certificati admin

Crea una nuova chiave privata per il tuo certificato admin con il seguente comando.

openssl genrsa -out admin-key-temp.pem 2048

Converti la tua chiave admin nel formato PKCS8 utilizzando il comando qui sotto.

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

Successivamente, crea una nuova richiesta di certificato di firma (CSR) per il certificato admin con il comando qui sotto.

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

Ora esegui il seguente comando per firmare il tuo nuovo certificato di richiesta admin (CSR) con il certificato root.

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Generazione di certificati host o server

Genera la chiave privata per i tuoi host/server OpenSearch e converti il certificato nel formato PKCS8.

openssl genrsa -out ubuntu24-key-temp.pem 2048  
openssl pkcs8 -inform PEM -outform PEM -in ubuntu24-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out ubuntu24-key.PEM

Ora esegui il seguente comando per generare una richiesta di certificato (CSR) per il tuo host. Il CN o Common Name dovrebbe corrispondere al fqdn del tuo server host e non al nome host. In questo esempio, il fqdn per il server è ‘ ubuntu24.howtoforge.local ‘.

openssl req -new -key ubuntu24-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ubuntu24.howtoforge.local" -out ubuntu24.csr

Successivamente, esegui il comando qui sotto per creare un nuovo file di estensione che contiene il DNS del tuo host/server.

echo 'subjectAltName=DNS:ubuntu24.howtoforge.local' > ubuntu24.ext

Infine, esegui il seguente comando per firmare il certificato host/server con il certificato root e includere il file di estensione che hai creato in precedenza.

openssl x509 -req -in ubuntu24.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out ubuntu24.pem -days 730 -extfile ubuntu24.ext

Impostazione dei certificati

Elimina i certificati temporanei, CSR (richieste di certificato) per l’admin e l’host, e il file di estensione con il seguente comando.

rm *temp.pem *csr *ext  
ls

Ora converti il certificato ‘ root-ca.pem ‘ nel file ‘ root-ca.crt ‘ con il comando qui sotto.

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

Dopo di che, copia il certificato ‘ root-ca.crt ‘ nella directory ‘ /usr/local/share/ca-certificates ‘ e carica il tuo certificato root sul server.

sudo cp root-ca.crt /usr/local/share/ca-certificates  
sudo update-ca-certificates

aggiungi root ca

Infine, esegui il seguente comando per impostare i permessi e la proprietà corretti dei file e delle directory dei certificati.

sudo chown -R opensearch:opensearch /etc/opensearch/certs  
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem  
sudo chmod 0600 /etc/opensearch/certs/*.crt

Aggiunta di certificati a OpenSearch

Dopo aver generato i certificati TLS per OpenSearch, devi aggiungere una nuova configurazione al file ‘ opensearch.yml ‘. In questo caso, aggiungerai una nuova configurazione al ‘opensearch.yml’ tramite lo script bash.

Prima di aggiungere i certificati al tuo server OpenSearch, esegui il comando qui sotto per eseguire il backup del file ‘ opensearch.yml ‘ e impostare il tuo server fqdn.

sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.orig  
sudo hostnamectl set-hostname ubuntu24.howtoforge.local

Ora crea un nuovo file ‘ add-cert.sh ‘ con l’editor ‘ nano ‘.

nano add-cert.sh

Inserisci le seguenti configurazioni nel file. Con questo, aggiungerai nuove configurazioni al file di configurazione di OpenSearch ‘ opensearch.yml

#! /bin/bash  
  
# Prima di eseguire questo script, assicurati di sostituire il CN nel  
# nome distinto del nodo con un vero record DNS A.  
  
echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml  
echo " - 'CN=ubuntu24.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml  
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.yml

Salva il file ed esci dall’editor quando hai finito.

Ora rendi il file ‘ add-cert.sh ‘ eseguibile ed eseguilo con il seguente comando. Nuove configurazioni saranno aggiunte al file ‘opensearch.yml’.

chmod +x add-cert.sh  
./add-cert.sh

aggiungi nuova configurazione

Proteggere OpenSearch con autenticazione tramite password

A questo punto, hai configurato OpenSearch con certificati SSL/TLS, e nel passo successivo, imposterai l’autenticazione tramite password per OpenSearch. Imposterai due utenti che saranno utilizzati per accedere a OpenSearch e integrarsi con OpenSearch Dashboard.

Vai alla directory ‘ /usr/share/opensearch/plugins/opensearch-security/tools ‘ ed esegui lo script ‘ hash.sh ‘ per generare una nuova password per OpenSearch. Esegui ‘ hash.sh ‘ due volte per generare due password per OpenSearch e OpenSearch Dashboard. Assicurati anche di copiare la password generata sul tuo appunto.

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Ora apri il file ‘ /etc/opensearch/opensearch-security/internal_users.yml ‘ con l’editor ‘ nano ‘.

sudo nano /etc/opensearch/opensearch-security/internal_users.yml

Cambia l’hash della password per l’utente ‘ admin ‘ e ‘ kibanaserver ‘ con la tua password precedente. L’utente ‘ admin ‘ sarà utilizzato per accedere a OpenSearch Dashboard, l’utente ‘ kibanaserver ‘ sarà utilizzato per connettersi tra OpenSearch e OpenSearch Dashboard.

admin:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
backend_roles:  
- "admin"  
description: "Utente admin"  
  
kibanaserver:  
hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"  
reserved: true  
description: "Utente demo OpenSearch Dashboards"

Salva il file ed esci dall’editor quando hai finito.

Ora esegui il comando qui sotto per riavviare il servizio ‘ opensearch ‘ e applicare le tue modifiche.

sudo systemctl restart opensearch

Una volta riavviato OpenSearch, esegui il comando qui sotto per applicare i tuoi certificati SSL a OpenSearch.

cd /usr/share/opensearch/plugins/opensearch-security/tools  
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.10.60 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv

Se tutto va bene, vedrai un output simile a questo:

aggiungi certificati

Infine, esegui il comando ‘ curl ‘ qui sotto per verificare l’autenticazione al server OpenSearch.

curl https://192.168.10.60:9200 -u admin:password -k  
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k

Quando avrai successo, potrai accedere a OpenSearch con il tuo nome utente e password tramite il protocollo HTTPS.

accesso opensearch

Configurazione di OpenSearch Dashboard

Dopo che l’autenticazione tramite password è stata configurata, imposterai OpenSearch Dashboard modificando il file ‘ opensearch-dashboard,yml ‘.

Apri la configurazione per OpenSearch Dashboard ‘ /etc/opensearch-dashboards/opensearch-dashboard.yml ‘ con l’editor ‘ nano ‘.

sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml

Inserisci il tuo indirizzo IP locale nell’opzione ‘ server.host ‘ come segue:

server.host: "192.168.10.60"

Assicurati di cambiare l’host di OpenSearch, il nome utente e la password con le tue informazioni.

opensearch.hosts: ["https://192.168.10.60:9200"]  
opensearch.ssl.verificationMode: none  
opensearch.username: kibanaserver  
opensearch.password: kibanapass

Salva il file ed esci dall’editor.

Ora esegui il comando ‘ systemctl ‘ qui sotto per riavviare OpenSearch Dashboard e applicare le tue modifiche. Con questo, OpenSearch Dashboard dovrebbe essere connesso a OpenSearch.

sudo systemctl restart opensearch-dashboards

Successivamente, apri il tuo browser web e visita http://192.168.10.60:5601. Se la tua installazione è riuscita, vedrai la pagina di accesso di OpenSearch Dashboard.

Inserisci il tuo utente admin e la password, quindi fai clic su ‘ Accedi ‘.

login

Una volta effettuato l’accesso, seleziona ‘ Aggiungi dati ‘ per aggiungere nuovi dati o fai clic sull’opzione ‘ Esplora da solo ‘.

esplora da solo

Per garantire la connessione tra OpenSearch e OpenSearch Dashboard, devi controllare lo stato di OpenSearch dal dashboard.

Nella sezione ‘ Gestione ‘, fai clic su ‘ Strumenti di sviluppo ‘.

strumenti di sviluppo

All’interno della sezione console, inserisci ‘ GET / ‘ e fai clic sul pulsante di riproduzione. Se la tua connessione a OpenSearch e OpenSearch Dashboard è riuscita, vedrai la seguente pagina.

query

Conclusione

Congratulazioni! Hai installato OpenSearch e OpenSearch Dashboard sul server Ubuntu 24.04. OpenSearch è in esecuzione in modalità singola e l’installazione è protetta con HTTPS. Infine, hai anche configurato l’autenticazione per OpenSearch e integrato OpenSearch con OpenSearch Dashboard.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.