Installing Sphinx on Linux/Unix/Mac OS 
Note:
You may need to make some adjustments depending on the flavor of your unix system.
Install Sphinx
1Login as root
2Download Sphinx. Sphinx is available through its official Web site at http://sphinxsearch.com/downloads (Our minimum required version is 2.1.1-beta)
3unpack the package
4cd sphinx-<version>
5./configure --enable-id64 --prefix=/usr/local/sphinx
6make
7Did you get Error 127 during step 5? Install gcc-c++ using the following command and then repeat step 5.
  • yum install gcc-c++
  • OR For Debian and Ubuntu flavors of *nix:
    sudo apt-get install gcc
8make install
9Did you get dependency errors with steps 5 or 7? Install mysql-devel using the following command and then repeat steps 5 and 7.
  • yum install mysql-devel
  • OR For Debian and Ubuntu flavors of *nix:
    sudo apt-get install libmysqlclient-dev
10Create the following directories in your sphinx install (/usr/local/sphinx/): log & data
  • mkdir /usr/local/sphinx/log
  • mkdir /usr/local/sphinx/data
Configure Sphinx for vBulletin
1Upload the contents of the upload folder to the vbulletin root directory.
2At the end of your vBulletin core/includes/config.php file, add the following:
/*
 * Sphinx configuration parameters
 */
$config['Misc']['sphinx_host']        = '127.0.0.1';
$config['Misc']['sphinx_port']        = '9306';
$config['Misc']['sphinx_path']        = '/usr/local/sphinx'; //no trailing slash
$config['Misc']['sphinx_config']    = $config['Misc']['sphinx_path'] . '/etc/vbulletin-sphinx.php';
3Upload vbulletin-sphinx.php to /usr/local/sphinx/etc/ .
4Update the first line in vbulletin-sphinx.php to match your php installation path
5Change $myforumroot in vbulletin-sphinx.php to the exact forum root (Example: /home/vbulletin/public_html).
6Set vbulletin-sphinx.php file to executable using:
chmod +x /usr/local/sphinx/etc/vbulletin-sphinx.php
7Change directory to your sphinx folder using:
cd /usr/local/sphinx
8Start the daemon using:
/usr/local/sphinx/bin/searchd --config /usr/local/sphinx/etc/vbulletin-sphinx.php
9Ignore the worning about 'vbulletin_disk' index, it will be created once you ran the indexer.
10To verify your Sphinx is working you can enter: ps ax | grep search[d]
11If the above returned something such as: /usr/local/sphinx/bin/searchd --config... the daemon is running.
12Go to your AdminCP->Options->Search Type. In the drop down, select Sphinx Search, then hit go.
That is it! Sphinx should now be working correctly on your board.
Note:
Note: Do not upload your vbulletin-sphinx.php to a web accessible URL. Doing so would give away your database details. If you follow these exact instructions, it will not be in a web accessible URL.
Warning:
If you adjust any of your config.php credentials you will need to restart your Sphinx daemon.
User Contributed Notes: Installing Sphinx on Linux/Unix/Mac OS Add a Comment
PerOla 14th Apr 2016, 03:22am
I spoke to the staff att Sphinx and they said in the handbook text it misses one thing which is to start it as a service. This is what they wrote:
"Sphinx is a system-wide service, similar with MySQL database. It shouldn't be installed in the web-root. Also, from vBulletin guide what I see is missing it's adding it as service ( to start at boot in case server restarts)."
PerOla 14th Apr 2016, 03:22am
This is more info I got from the sphinx team about installing sphinx:
Let me know what VB says, if there's some quick code change, we can do it.
Also to know: their guide is a bit incomplete.
They say Sphinx should be started with:
/locationto/bin/searchd -c /localionto/etc/vbulletin-sphinx.php
However, the admin interface runs for full reindexing:
/locationto/bin/indexer -c /localionto/etc/vbulletin_sphinx.conf --rotate --all I think they do this because of compatibility with Windows, you can't run scripted configs (like on linux).
So if any change is done to vbulletin-sphinx.php , after that it should be ran:
php vbulletin-sphinx.php > vbulletin_sphinx.conf

The /locationto/ is /usr/local/sphinx

And another important thing: searchd needs to run under the 'www-data' user ( the web user). This is needed for full reindexing from the VB Admin, otherwise it will give a permission error (however partial reindexing works, because it inserts/replace data in the RealTime index).
Add a Comment