16.5. Instalación de Sphinx

16.5.1. Dependencias
16.5.2. Bajar y compilar
16.5.3. Creación de usuario y grupo
16.5.4. El demon Sphinx
16.5.5. Configuración
16.5.6. Indexación de los documentos

Sphinx es el indexador de la base de datos usada por Locum e Insurge.

16.5.1. Dependencias

No existe paquete Debian para Sphinx así que tendrá que compilar el código fuente directamente:

# apt-get install g++ make libmysql++-dev

16.5.2. Bajar y compilar

$ wget http://sphinxsearch.com/downloads/sphinx-0.9.8.tar.gz
$ tar zxvf sphinx-0.9.8.tar.gz
$ cd sphinx-0.9.8
$ ./configure --prefix=/usr/local/sphinx
$ make
# make install
# mkdir /usr/local/sphinx
# mkdir /usr/local/sphinx/lib
# cp api/sphinxapi.php /usr/local/sphinx/lib/
$ rm -R sphinx-0.9.8*

16.5.3. Creación de usuario y grupo

Creación de un usuario Sphinx y cambio de propietario:

# adduser sphinx
# addgroup sphinx
# usermod -G sphinx sphinx
# mkdir /usr/local/sphinx/var/run
# chown -R sphinx.sphinx /usr/local/sphinx/var

16.5.4. El demon Sphinx

Descargar:

# cd /etc/init.d
# wget http://www.thesocialopac.net/sites/thesocialopac.net/files/sphinx
# chmod +x /etc/init.d/sphinx

Add Sphinx to the default boot services:

# update-rc.d sphinx defaults

16.5.5. Configuración

Copiar el archivo de configuración suministrado en el código fuente de Sphinx ante de cambiar:

# cp /usr/local/lib/locum/sphinx/sphinx.conf /usr/local/sphinx/etc/
# sed 's/locum_db_user/scas_user/g' /usr/local/sphinx/etc/sphinx.conf > tmpfile;
mv tmpfile /usr/local/sphinx/etc/sphinx.conf
# sed 's/locum_db_pass/scas_pass/g' /usr/local/sphinx/etc/sphinx.conf > tmpfile; mv tmpfile /usr/local/sphinx/etc/sphinx.conf

And if you personalize the name of the database:

# sed 's/scas/MY_DB/g' /usr/local/sphinx/etc/sphinx.conf > tmpfile; mv tmpfile /usr/local/sphinx/etc/sphinx.conf

16.5.6. Indexación de los documentos

La indexación es necesaria si desea utilizar las funciones de búsqueda de SOPAC.

Primero debe completar la tabla del índice de Insurge

# chmod +x /usr/local/lib/insurge/tools/update-index.php
$ /usr/local/lib/insurge/tools/update-index.php

A continuación, iniciar la indexación de Sphinx

$ /usr/local/sphinx/bin/indexer --all

Finally, we must start the daemon:

# /etc/init.d/sphinx start

When the daemon is running, you can update the index with:

$ /usr/local/sphinx/bin/indexer --all --rotate