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

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

service sphinxsearch start
Code-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/sphinxsearch
Code-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-dev
Code-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.gz
Code-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 restart
Code-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.