Blackhold

Nextant: Indexador de ficheros de nextcloud

Posted on desembre 5th, 2017 by admin

Una vez instalado Nextcloud vemos que la interfaz cambia un poco además de que tenemos un montón de aplicaciones disponibles que no teníamos con owncloud.

En antaño había instalado una aplicación para indexar el contenido que hay dentro de los ficheros almacenados en el cloud, pero a partir de alguna de las actualizaciones de owncloud dejó de funcionar, traté de identificar el bug y solucionarlo, pero la cosa se quedó al aire y fuera de mis capacidades, así que simplemente desactivé dicha aplicación. Ahora con Nextcloud vuelve a aparecer una herramienta, basada en solr/java para indexar el contenido de los ficheros. El solr es un viejo conocido (monstruo) en Alfresco, así que vamos a ver como trabaja en la instancia de cloud que tengo en funcionamiento, mucho mas cargada de ficheros y documentación que la que tenía inicialmente en Alfresco… también los años van pasando…

Vamos a ver pues como instalar Nextant

Solr
Primero tendremos que instalar solr como servicio, para ello tendremos que instalar primero java y después solr.

Mi primera pregunta, ¿cuál java? ¿el SE, JRE, JDK? el JDK.

Lo guardamos en /opt por ejemplo y lo descomprimimos, a continuación creamos un link simbólico en alguno de los directorios de ejecución (mirar printenv para ver cuales son)

# cd /opt
# tar xvzf jdk-9.0.1_linux-x64_bin.tar.gz
# cd /usr/local/bin
# ln -s /opt/jdk-9.0.1/bin/java .

Comprobamos que java nos aparece como un programa escribiendo directamente en la terminal java –version

# java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

Siguiente paso descargar solr también en opt e instalarlo. Importante, nextant sólo es compatible con solr6, así que en ésta url encontraremos todas las versiones disponibles de solr.

# cd /opt
# wget -c http://archive.apache.org/dist/lucene/solr/6.6.2/solr-6.6.2.tgz
# tar xvzf solr-6.6.2.tgz
# cd solr-6.6.2/bin
# ./solr-6.6.2/bin/install_solr_service.sh solr-6.6.2.tgz

Nos fijamos si nos suelta algún error y si es que si, miramos de solucionarlo.

Ahora vamos a securizar solr, en principio el solr sólo lo va a usar nextcloud, así que sólo le dejaremos a nextcloud acceder a solr, para ello modificamos el fichero /opt/solr/server/etc/jetty-http.xml y cambiamos el contenido de la línea 36.

# vi /opt/solr/server/etc/jetty-http.xml
 < Set name="host" > < Property name="jetty.host" 
POR
 < Set name="host" > < Property name="jetty.host" default="127.0.0.1" 

Y reiniciamos solr

# service solr restart

Y lo último de solr es generar el core para nextant

# su - solr
$ /opt/solr/bin/solr create -c nextant

Nexant

Ahora vamos a activar la aplicación nextant desde el panel de administración de aplicaciones de nextcloud o directamente por terminal

# su - www-data
$ cd /var/www/nextcloud/
$ ./occ app:enable nextant
nextant enabled

Y ejecutamos la indexación de los ficheros

$ ./occ nextant:index

Es posible que nos diga

$ ./occ nextant:index
nextant v1.0.8
Nextant is not yet configured

En éste caso, tendremos que ir a nextcloud y verificar la configuración en configuración > configuración adicional > abajo del todo. Es muy intuitivo, no necesita mas explicación ;)

Cuando está funcionando volvemos a ejecutar el index.

En mi instancia algunos usuarios tienen muchos ficheros (demasiados según mi entender, pero bueno... usuarios...) y he tenido que modificar un poco nextant indicándole por ejemplo que no indexe los ficheros .eml, ni los ficheros mas grandes de 30Mb, además de aumentar el tiempo de timeout, todo en la interfaz web. Aún así me encontraba que se me paraba el nextant porque solr se quedaba sin memoria, así que he tenido que modificar el fichero /etc/default/solr.in.sh y aumentar la RAM

 (00:02:47) [standby]    Solr memory: 168.8 MB (%34.4)       

Error #21
Is Solr Up and Running ?
# vi /etc/default/solr.in.sh
SOLR_HEAP="4096m"

Y reiniciar solr.

En algunos momentos es posible que nos interese que los ficheros de algun directorio no sean indexados, para que no se indexen, en la raíz del directorio que no queremos indexar, añadiremos un fichero llamado .noindex sin ningún contenido y listos! :) más info.

Leave a Response

« »

guy fawkes