TL;DR per chi volesse la strada più semplice è lanciare da terminale sudo apt-get install solr-jetty
. Di seguito invece trovate degli appunti su come mi sono trovato a fare la cosa manualmente.
Per prima cosa assicuratevi di avere jetty (v. 9) installato sulla vostra macchina: sudo apt-get install jetty
oppure qui
Quindi scaricate l’ultima versione di solr (v. 4.6) ed estraetela da qualche parte. Quello che ci servirà concretamente è la cartella example.
Personalmente tengo la mia istanza di solr dentro la cartella /srv/
ma potreste metterla dove volete (es. /opt/
).
$ cp -r example /srv/$ cd /srv/$ mv example solr
L’esempio contiene già una cartella multicore dove inserire i vari core. Ogni volta che andremo a creare un nuovo core, dovremo creare manualmente la cartella e i file di configurazione. Ad esempio date un’occhiata a /multicore/core0/conf/schema.xml
e /multicore/core0/conf/solrconfig.xml
.
Per assicurarvi che tutto sia ok, avviate solr lanciando dalla cartella: $ java -jar start.jar
. Jetty si preoccuperà di avviare l’interfaccia di amministrazione di solr all’indirizzo http://localhost:8983/solr/.
Eseguire solr all’avvio
La cosa interessante è creare uno script per lanciare solr a piacimento. Ho usato questo suggerimento.
Per prima cosa creiamo uno script di avvio: $ sudo vim solr-start.sh
che conterrà solo
#!/bin/bashjava -server -Xms128M -Xmx1024M -Dsolr.solr.home=/srv/solr/multicore -Djetty.home=/srv/solr -jar /srv/solr/start.jar
allo stesso modo possiamo creare lo script $ sudo vim solr-stop.sh
in cui inserire
#!/bin/bashpid=`ps aux | grep solr | awk '{print $2}'`kill -9 $pid
Rendiamoli entrambi eseguibili, quindi entriamo nella cartella /etc/init.d/
e creiamo lo script $ sudo vim solr
, che conterrà
#!/bin/bash### BEGIN INIT INFO# Provides: solr# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start daemon at boot time# Description: Enable service provided by daemon.### END INIT INFOcase $1 in start) echo "Starting Solr" /bin/bash /srv/solr/solr-start.sh ;; stop) echo "Stopping solr" /bin/bash /srv/solr/solr-stop.sh ;; restart) echo "Restarting solr" /bin/bash /srv/solr/solr-stop.sh /bin/bash /srv/solr/solr-start.sh ;;esacexit 0
Ovvero tutte le istruzioni necessarie ad avviare e chiudere solr. La prima parte del file l’ho presa dalla pagina che spiega come creare script d’avvio.
Alla fine possiamo aggiungere lo script all’avvio della macchina con il comando $ sudo update-rc.d solr defaults
.
Aggiornamento
Dopo aver fatto quanto scritto qui sopra (nota: era più un promemoria che altro), apache
non si avviava più. Ecco sapevatelo. Non sono riuscito a capire come mai e mi sono risolto a rimuovere l’avvio automatico di solr
per ripristinare il funzionamento di apache
.
Come al solito sono solo un niubbo (a.k.a. newbie).