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 mainCode-Sprache: JavaScript (javascript)

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 sphinxsearchCode-Sprache: Bash (bash)

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

service sphinxsearch startCode-Sprache: Bash (bash)

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/sphinxsearchCode-Sprache: Bash (bash)

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-devCode-Sprache: Bash (bash)

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.gzCode-Sprache: Bash (bash)

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  Code-Sprache: Bash (bash)

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 restartCode-Sprache: Bash (bash)

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert