Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Necesitaba hacer algunas pruebas con Apache Solr 4.6.0 en Debian Wheezy así que lo instale y configure con Tomcat 7. Los pasos son muy sencillos.

OBS:

  • Usamos Debian Wheezy de 64 bits.
  • Asumo que se tiene openjdk-7-jre. sudo aptitude install openjdk-7-jre

Descargamos la última versión de Apache Solr, en este caso sería la versión 4.6.0
Entramos a la consola y descargamos la versión 4.6.0 de Apache Solr.
wget -c http://apache.claz.org/lucene/solr/4.6.0/solr-4.6.0.tgz

Ahora descargamos tomcat:
sudo aptitude update
sudo aptitude install tomcat7

Una vez descargado, lo descomprimimos:
tar xzvf /home/proyectosbeta/solr-4.6.0.tgz

Volvemos a entrar a la consola y escribimos:
sudo mkdir /opt/solr
sudo cp -R /home/proyectosbeta/solr-4.6.0/example/solr/* /opt/solr
sudo cp -R /home/proyectosbeta/solr-4.6.0/example/webapps/solr.war /opt/solr
sudo cp -R /home/proyectosbeta/solr-4.6.0/example/lib/ext/* /usr/share/tomcat7/lib
sudo cp -R /home/proyectosbeta/solr-4.6.0/example/resources/log4j.properties /usr/share/tomcat7/lib

OBS:

  • La carpeta recién creada(/opt/solr) es para poner el proyecto Apache Solr para que Tomcat lo use.

Editamos el dataDir en el archivo de configuración de Apache Solr /opt/solr/collection1/conf/solrconfig.xml.
Escribimos en la consola:
sudo nano /opt/solr/collection1/conf/solrconfig.xml

Buscamos la linea donde esta <dataDir>, y agregamos como esta abajo.
<dataDir>${solr.data.dir:/opt/solr/data}</dataDir>

Guardamos (Control + o), y luego lo cerramos (Control + x).
Ahora debemos de crear una carpeta donde se van a guardar los datos y tenemos que darle permisos. Escribimos en la consola:
sudo mkdir /opt/solr/data
sudo chown tomcat7 /opt/solr/data
sudo mkdir /opt/solr/logs
sudo chown tomcat7 /opt/solr/logs/

Volvemos a escribir en la consola:
sudo nano /usr/share/tomcat7/lib/log4j.properties

Donde dice solr.log, cambiamos por:
solr.log=/opt/solr/logs/

Guardamos (Control + o), y luego lo cerramos (Control + x).
Configuramos un nuevo contexto en el servidor Tomcat que apunta a nuestros archivos de Solr. Escribimos en la consola:
sudo nano /etc/tomcat7/Catalina/localhost/solr.xml

Y agregamos lo siguiente:
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/opt/solr/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/opt/solr" override="true"/>
</Context>

Guardamos (Control + o), y luego lo cerramos (Control + x).

Volvemos a entrar a la consola y escribimos lo siguiente:
sudo nano /opt/solr/collection1/conf/solrconfig.xml

Buscamos donde dice <lib dir=»../../../contrib/extraction/lib» regex=».*\.jar» /> y comentamos todo ese bloque. Sería algo similar a lo siguiente:
<!--
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
//-->

Ahora reemplazamos por lo siguiente:
<lib dir="/home/proyectosbeta/solr-4.6.0/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="/home/proyectosbeta/solr-4.6.0/dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="/home/proyectosbeta/solr-4.6.0/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="/home/proyectosbeta/solr-4.6.0/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="/home/proyectosbeta/solr-4.6.0/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="/home/proyectosbeta/solr-4.6.0/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="/home/proyectosbeta/solr-4.6.0/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="/home/proyectosbeta/solr-4.6.0/dist/" regex="solr-velocity-\d.*\.jar" />

OBS:

  • /home/proyectosbeta/solr-4.6.0/ es la ruta donde esta el apache solr que hemos descomprimido. Deberías de colocar la ruta donde se encuentra lo que habias descomprimido.

Guardamos (Control + o), y luego lo cerramos (Control + x).
Ahora debemos de reiniciar Tomcat. Escribimos en la consola:
sudo service tomcat7 restart

Entramos a nuestro navegador favorito y escribimos:
http://192.168.0.3:8080/solr

OBS:

  • En mi caso la IP de mi máquina es 192.168.0.3; ustedes tendrían que colocar la suya, o sino el famoso localhost.
Apache Solr 4.6.0 en Debian Wheezy
Apache Solr 4.6.0 en Debian Wheezy

Comments

  1. Hello,

    Thanks for your doc. I have a question, i want multi cores, not just collection1 , i don’t understand the procedure to declare cores, and where i hace to declare the in conf files ?

    Have you an idea ?

    Thanks

    1. Hello,

      I fixed my problem with the multicore files in examples.

      So everything is working so good

      Thank you for your very very good documentation !

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *