Sphinx mit PHP Extension unter Debian Jessie installieren

Die Such-Engine Sphinx wurde aus dem Main-Repository von Debian Jessie ohne Angabe von Gründen entfernt. Wie es dennoch installiert werden kann und wie man die PHP Extension einrichtet zeige ich in diesem Artikel.

Das Paket sphinxsearch suchen wir unter Debian 8 vergeblich, da es nicht existiert. Glücklicherweise steht Sphinx aber als Backport zur Verfügung, wodurch wir uns das kompilieren sparen können. Um es zu installieren öffnen wir zunächst die Datei /etc/apt/sources.list und fügen die folgende Zeile hinzu:

deb http://http.debian.net/debian jessie-backports main

Nun kann Apt auch auf die Backports zugreifen. Nach einem Update der Paket-Listen können wir Sphinx daher ganz einfach installieren:

aptitude update  
aptitude install sphinxsearch

Nachdem wir die Sphinx-Konfiguration in der Datei /etc/sphinxsearch/sphinx.conf gesetzt haben können wir Sphinx starten:

service sphinxsearch start

Wenn wir noch möchten, dass Sphinx beim Systemstart gestartet wird, müssen wir noch den folgenden Befehl ausführen:

echo "START=yes" > /etc/default/sphinxsearch

PHP Extension Installieren

Bei der PHP Extension kommen wir nicht drumherum diese selbst zu kompilieren, da es kein existierendes Package gibt. Zuerst installieren wir php5-dev, da es alle Tools bietet, die wir zum kompilieren brauchen:

aptitude install php5-dev

Anschließend laden wir den Sourcecode von Sphinx runter und entpacken ihn. Wichtig ist hierbei darauf zu achten, dass die Version des Sourcecodes mit unserer installierten Sphinx Version übereinstimmt, da die Extension sich sonst weigert mit Sphinx zusammenzuarbeiten. Als dieser Artikel verfasst wurde, war die aktuelle Version 2.2.9. Um herauszfinden welche Version installiert ist, können wir searchd ohne Parameter eingeben. Auf der Releases Seite können wir dann die passende Version zum Downloaden auswählen.

wget http://sphinxsearch.com/files/sphinx-2.2.9-release.tar.gz  
tar -xvzf sphinx-2.2.9-release.tar.gz

Als nächstes kompilieren wir die Extension und installieren diese mit PECL. Bei der Aufforderung, die erscheint, können wir getrost Enter drücken:

cd sphinx-2.2.9-release/api/libsphinxclient/  
./configure  
make  
make install  
pecl install sphinx  

Zum Schluss teilen wir PHP mit, dass es diese Extension benutzen soll. Wenn wir PHP-FPM benutzen geht dies so:

echo "extension=sphinx.so" > /etc/php5/fpm/conf.d/sphinx.ini  
service php5-fpm restart

Jetzt sollte Sphinx fertig installiert sein und einwandfrei mit PHP zusammenarbeiten.

Kommentare