PDF de programación - Instalación y configuración de SPHINX en Debian

Imágen de pdf Instalación y configuración de SPHINX en Debian

Instalación y configuración de SPHINX en Debiangráfica de visualizaciones

Publicado el 11 de Agosto del 2020
427 visualizaciones desde el 11 de Agosto del 2020
72,1 KB
4 paginas
Creado hace 14a (11/06/2009)
Instalacion y configuración de SPHINX en Debian

No existen (o al menos, yo no he encontrado) paquetes precompilados para Debian (.deb), por lo
que vamos a generarlos nosotros a partir de su código fuente.

Siempre es preferible generar paquetes .deb, ya que así podremos instalarlos y desinstalarlos
limpiamente usando apt o dpkg.

Primero, descargamos el tar.gz con la última versión del código fuente de la web oficial del
proyecto, que en este momento es la 0.9.8.1: http://www.sphinxsearch.com/downloads.html

cd /tmp
wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz

Descomprimimos el archivo en el directorio de fuentes de nuestro sistema (/usr/src)

cd /usr/src
tar xvzf /tmp/sphinx-0.9.8.1.tar.gz

Después, preparamos el paquete para la compilación, especificando si queremos SPHINX con
soporte para MySQL, PostgreSQL o ambos, e indicando el directorio donde queremos instalarlo (en
mi caso, en /opt/sphinx):

cd /usr/src/sphinx-0.9.8.1
./configure --with-pgsql --with-mysql --prefix=/opt/sphinx/

Si ésto falla, normalmente será porque no tenemos instalados todos los paquetes necesarios.
En principio, debería bastar con éstos paquetes para compilar Sphinx con soporte para MySQL y
PostgreSQL:

– build-essential
– librerias de desarrollo de MySQL (libmysql++-dev)
– librerías de desarrollo de PostgreSQL (postgresql-dev)

Una vez preparado el paquete para la compilación, lo compilamos:

make

Y una vez compilado, en lugar de instalarlo, generamos el paquete .deb con ayuda del programa
checkinstall (si lo tienes, instálalo! Jejejee), simplemente tecleando:

checkinstall

Lo cual generará un archivo .deb, que podremos instalar fácilmente con dpkg:

dpkg -i sphinx_0.9.8.1-1_i386.deb

Este proceso hará, entre otras cosas, que tengamos 3 binarios de Sphinx instalados en nuestro
sistema. Hay algunos mas, pero los que nos interesan son solo estos 3:

– indexer: Este programa es el que generará los índices de búsqueda de nuestras bases de

datos.

– search: El programa que realizará las búsquedas en los índices generados.
– searchd: Un demonio que permitirá consultas remotas desde la API o desde otras máquinas

Ahora, crearemos el usuario que ejecutará el programa:

adduser --system --home /opt/sphinx --uid 999 --disabled-password --disabled-login sphinx

Después, creamos algunos directorios más para los logs, el pid, etc:

mkdir /opt/sphinx/log
mkdir /opt/sphinx/run

Descargamos el código del script de start/stop de Sphinx, programado por Klaus:

wget http://www.klaus.gr/pub/sphinx
mv sphinx /etc/init.d/
chmod 755 /etc/init.d/sphinx

Miramos cuál es nuestro runlevel actual, y hacemos enlaces al script desde el runlevel indicado:

/sbin/runlevel | cut -b 3
ln -s /etc/init.d/sphinx /etc/rc2.d/S92sphinx
chown -R sphinx:root /var/sphinx

Copiamos el archivo de configuracion de ejemplo de Sphinx, y lo editamos:

cd /opt/sphinx/etc
cp -p sphinx.conf.dist sphinx.conf

Hay información sobre la configuración en la web oficial de Sphinx, y aquí:
http://www.compuglobalhipermega.net/mysql/ejemplo-rfc-sphinx/

Una vez que hayamos configurado el archivo, lanzamos sphinx:

/etc/init.d/sphinx start

Y listo... ya tenemos nuestro demonio searchd corriendo...

Para acceder a él y poder realizar búsquedas en los índices desde, por ejemplo PHP, necesitamos
compilar la extensión de PECL para acceder a Sphinx desde PHP.

Para compilar dicha extensión, necesitamos compilar previamente la librería libsphinxclient, que se
encuentra en el subdirectorio api/libsphinxclient del codigo fuente de Sphinx.

Accedemos a dicho directorio, y compilamos la librería:

cd /usr/src/sphinx-0.9.8.1/api/libsphinxclient
CXXCPP="gcc -E"
./configure –prefix=/opt/sphinx
make
make install

Ya tenemos la librería lista... ahora, descargamos la librería PECL de Sphinx para PHP:
Podemos descargarla: http://pecl.php.net/package/sphinx/

cd /tmp
wget http://pecl.php.net/get/sphinx-1.0.0.tgz
cd /usr/src
tar xvzf /tmp/sphinx-1.0.0.tgz
mv sphinx-1.0.0 sphinx-pecl-1.0.0
cd sphinx-pecl-1.0.0

Si no tenemos phpize, lo instalamos:

apt-get install php5-dev

Usamos phpize y compilamos la librería:

phpize5
./configure –with-sphinx=/opt/sphinx
make

Generamos de nuevo el paquete .deb con checkinstall, y lo instalamos con dpkg:

checkinstall
dpkg -i sphinx-pecl_1.0.0-1_i386.deb

Y por último, añadimos añadir un archivo sphinx.ini en /etc/php5/conf.d/ con estas lineas, para
habilitar la librería:

[sphinx]
extension=sphinx.so

Reiniciamos el servidor web, y ya podremos trabajar con Sphinx desde PHP!

Referencias:
http://www.compuglobalhipermega.net/mysql/instalacion-configuracion-sphinx/
http://www.compuglobalhipermega.net/mysql/ejemplo-rfc-sphinx/
http://www.sphinxsearch.com/forum/view.html?id=367
http://asiermarques.com/2009/06/10/instalar-extension-pecl-de-sphinx-para-php-en-debian

BhEaN – Insane Productions 2009
Siéntete libre de divulgar este manual si lo consideras útil, siempre que cites la fuente/autor del mismo.
  • Links de descarga
http://lwp-l.com/pdf18051

Comentarios de: Instalación y configuración de SPHINX en Debian (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad