Come installare Apache Solr su Debian e Search API in Drupal 7

Come installare Apache Solr su Debian e Search API in Drupal 7

EDIT 8/11/2015: Questa guida è stata aggiornata per Apache Solr 5.x su Debian 8 anche per la modalità multicore.

In questa breve guida spiegherò passo passo come installare Apache Solr in ambiente GNU/Linux, in particolare usando la distribuzione Debian 6. Apache Solr sarà quindi usato come backend per il modulo Search API di Drupal 7. Apache Solr e Search API sono una soluzione ottimale per l'implementazione di funzionalità come la cosiddetta faceted search e ricerche full text. Sappiamo infatti che il motore di ricerca interno di Drupal non è molto sofisticato ed è a malapena sufficiente per siti di piccole o medie dimensioni.

Installazione di Apache Solr su Debian

Per prima cosa è necessario installare Tomcat 6 attraverso il quale potrà funzionare la piattaforma di ricerca Apache Solr. Tomcat 6 è disponibile nei repository Debian e quindi basta un semplice apt-get per installarlo assieme a tutte le sue dipendenze:

apt-get install tomcat6 tomcat6-admin

Successivamente va installato il pacchetto di Apache Solr. Al momento Search API supporta la versione 1.4.x che dovrà essere scaricato manualmente da uno dei mirror. La versione più recente è la 1.4.1, il nome del file da scaricare sarà quindi apache-solr-1.4.1.tgz. Dopo aver scaricato il file basterà decomprimerlo:

tar xvfz apache-solr-1.4.1.tgz

A questo punto bisogna copiare alcuni file nella directory /var/lib/tomcat6/. Più precisamente:

  • il file apache-solr-1.4.1.war (che si trova nella sottodirectory dist) va copiato in /var/lib/tomcat6/webapps/, solitamente è consigliabile rinominarlo in solr.war;
  • la directory solr/ (che si trova nella sottodirectory example/) va invece copiata in /var/lib/tomcat6/.

Infine vanno aggiornati i permessi della directory appena copiata:

chown -R tomcat6:tomcat6 /var/lib/tomcat6/solr

Installazione Search API con backend Apache Solr per Drupal 7

I moduli da scaricare ed installare per usare le funzionalità offerte da Apache Solr in Drupal 7 sono:

  • Search API
  • Search API Solr search

Dopo averli scaricati e scompattati come ogni altro modulo Drupal, sono necessarie alcune operazioni aggiuntive.

Configurazione di Apache Solr per Drupal e Search API

Il modulo Search API Solr search (search_api_solr) contiene due file di configurazione per Apache Solr che vanno copiati in /var/lib/tomcat6/solr/conf/ sostituendo quelli esistenti. Si tratta di due file con estensione xml, ovvero: schema.xml e solrconfig.xml.

A questo punto si può (ri)avviare Tomcat con il comando:

/etc/init.d/tomcat6 restart

Installazione libreria PHP per Apache Solr (SolrPhpClient)

Search API Solr search ha bisogno della libreria SolrPhpClient per poter comunicare con il servizio Apache Solr. Ci sono diverse versioni della libreria, attualmente è consigliato usare la versione r60.

In una installazione standard Drupal il pacchetto va scompattato in sites/all/libraries/SolrPhpClient.

Attivazione moduli per Drupal 7

Ora tutte le dipendenze ed i requisiti sono soddisfatti, non rimane altro che abilitare i moduli Search API e Search API Solr search.