Come installare Apache Solr su un server Ubuntu 24.04
Come installare Apache Solr su un server Ubuntu 24.04
Su questa pagina
- Prerequisiti
- Preparazione del server Ubuntu
- Installazione di Java OpenJDK
- Installazione di Apache Solr
- Configurazione di Apache Solr
- Protezione di Apache Solr con l'autenticazione
- Creazione della prima raccolta in Apache Solr
- Conclusione
Apache Solr è una piattaforma di ricerca open source basata su Apache Lucene, progettata per creare potenti funzionalità di ricerca e indicizzazione delle applicazioni. Fornisce ricerca full-text avanzata, ricerca in base a facet, indicizzazione in tempo reale e ricerca distribuita, il che lo rende una scelta popolare per la creazione di motori di ricerca e sistemi di recupero dati.
Solr è altamente scalabile e ottimizzato per grandi volumi di dati, spesso utilizzato in ambienti aziendali per attività come la ricerca di siti Web, l'e-commerce e l'analisi dei big data. La sua API simile a REST consente una facile integrazione con altri sistemi e supporta funzionalità come l'evidenziazione, i suggerimenti di query e la ricerca geospaziale. La flessibilità, le prestazioni e il supporto della community di Solr lo hanno reso una soluzione leader per le organizzazioni che necessitano di solide funzionalità di ricerca.
In questa guida imparerai come installare Apache Solr sul server Ubuntu 24.04. Oltre a ciò, imparerai anche come proteggere Apache Solr con BasicAuthentication e creare la prima raccolta con la riga di comando solr.
Prerequisiti
Per iniziare con questa guida, assicurati di avere quanto segue:
- Un server Ubuntu 24.04
- Un utente non root con privilegi di amministratore
Preparazione del server Ubuntu
Prima di installare Apache Solr, prepariamo e configuriamo il nostro sistema Ubuntu aumentando shmmax e nr_hugepages nel parametro kernel, quindi aumentando il numero massimo di file e processi aperti predefiniti.
Esegui il comando seguente per aumentare shmmax e nr_hugepages sul tuo server Ubuntu.
sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages
Ora esegui il comando seguente per modificare il file /etc/security/limits.conf.
sudo nano /etc/security/limits.conf
Aumenta il numero massimo di file e processi aperti per l'utente solr con la seguente configurazione.
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Salva il file ed esci dall'editor.
Installazione di Java OpenJDK
Ora che hai configurato il tuo sistema, installiamo Java OpenJDK sul nostro sistema. Apache Solr richiede almeno Java 11 installato sul tuo sistema e per questa guida utilizzeremo il pacchetto default-jdk che offre l'ultima versione stabile di Java OpenJDK.
Innanzitutto, aggiorna l'indice del pacchetto Ubuntu con quanto segue.
sudo apt update
Ora installa il pacchetto default-jdk utilizzando il comando seguente. Immettere Y per confermare l'installazione.
sudo apt install default-jdk
Al termine dell'installazione, controllare la versione di Java con il seguente comando.
java --version
Di seguito puoi vedere che Java 21 è installato.
Installazione di Apache Solr
Ora che il tuo sistema Ubuntu è configurato e Java OpenJDK installato, iniziamo l'installazione di Apache Solr. In questa guida, installerai Apache Solr utilizzando lo script di installazione fornito dal pacchetto Solr.
Per iniziare, esegui il comando seguente per installare strumenti di base come curl, lsof e bc.
sudo apt install curl lsof bc
Ora scarica il pacchetto binario Apache Solr con il comando wget di seguito.
wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download
Rinomina il pacchetto Apache Solr ed estrai lo script di install_solr_service.sh del programma di installazione utilizzando il comando seguente.
mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2
Ora esegui lo script install_solr_service.sh per installare Apache Solr.
sudo bash ./install_solr_service.sh solr-9.7.0.tgz
Di seguito puoi vedere l'installazione dettagliata di Apache Solr.
- La directory di installazione predefinita si trova nella directory /opt/solr.
- Il nuovo utente solr viene creato automaticamente.
- Il nuovo file di servizio solr.service viene creato per la gestione del servizio Apache Solr.
Ora controlla lo stato di solr con il comando seguente. Puoi vedere solr con lo stato attivo (uscito), il che significa che il servizio è in esecuzione, ma systemd non riesce a trovare alcun file da monitorare.
sudo systemctl status solr
Puoi anche controllare le porte aperte sul tuo sistema utilizzando il comando ss di seguito. Apache Solr dovrebbe essere in esecuzione sulla porta 8893.
ss -tulpn
Configurazione di Apache Solr
Ora che Apache Solr è installato, configuriamolo modificando i parametri di Apache Solr all'interno dello script /etc/default/solr.in.sh. Quindi, aumentare l'heap di memoria max predefinito e l'indirizzo IP usato per eseguire Apache Solr.
Aprire il file di configurazione di Solr /etc/default/solr.in.sh utilizzando l'editor vim.
sudo vim /etc/default/solr.in.sh
Modificare l'opzione di SOLR_HEAP predefinita con l'allocazione massima di memoria per Apache Solr. In questo esempio, utilizzeremo 4 GB di RAM.
SOLR_HEAP="4g"
Inserisci il tuo indirizzo IP nelle opzioni SOLR_HOST e SOLR_JETTY_HOST. In questo esempio, Apache Solr verrà eseguito sull'indirizzo IP locale 192.169.10.60.
SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"
Ora esegui il comando systemctl di seguito per riavviare il servizio Apache Solr e applicare le modifiche.
sudo systemctl restart solr
È possibile controllare la porta aperta e l'indirizzo IP utilizzato da Apache Solr con il comando ss di seguito.
ss -tulpn
Protezione di Apache Solr con l'autenticazione
Dopo aver configurato Apache Solr, il passaggio successivo consiste nel proteggere la distribuzione. In questo esempio, utilizzeremo l'autenticazione di base per proteggere Apache Solr. Questo può essere fatto creando un nuovo file /var/solr/data/security.json.
Creare una nuova configurazione /var/solr/data/security.json con l'editor vim.
sudo vim /var/solr/data/security.json
Inserisci la configurazione sottostante per impostare l'autenticazione per Apache Solr e creare un nuovo utente solr con la password solrRocks.
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"realm":"My Solr users",
"forwardCredentials": false
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"all", "role":"admin"}],
"user-role":{"solr":"admin"}
}
}
Salva il file ed esci dall'editor.
Ora esegui il comando systemctl di seguito per riavviare il servizio solr e applicare le modifiche.
sudo systemctl restart solr
Quindi, apri il browser web e visita il http://192.168.10.60:8983/ di installazione di Apache Solr. Verrai reindirizzato alla pagina di accesso di Apache Solr.
Inserisci l'utente solr e la password solrRocks e otterrai la dashboard di Apache Solr.
Creazione della prima raccolta in Apache Solr
A questo punto, Apache Solr è stato configurato e protetto. A questo punto si creerà la prima raccolta in Apache Solr dalla riga di comando.
Aprire nuovamente il file /etc/default/solr.in.sh con l'editor di Vim.
sudo vim /etc/default/solr.in.sh
Decommentare le righe SOLR_AUTH_TYPE e SOLR_AUTHENTICATION_OPTS e lasciare entrambe come predefinite.
SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Salva il file ed esci dall'editor.
Ora esegui il seguente comando per riavviare il servizio Apache Solr.
sudo systemctl restart solr
Quindi, esegui il comando seguente per creare la tua prima raccolta con il nome my_first_index.
su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"
Ora passa alla dashboard di Apache Solr e vedrai la nuova collezione my_first_index è stata creata.
Conclusione
Felicitazioni! Hai completato l'installazione di Apache Solr sul server Ubuntu 24.04. È stato installato con Java OpenJDK 21, configurato per l'esecuzione su un indirizzo IP locale e protetto con BasicAuthentication. Infine, è stata creata la prima raccolta utilizzando la riga di comando Solr.