Sphinx comes in various pre-compiled packages (Windows, Red Hat, etc.), so if your operating system has a version already compiled and ready to install, you may just want to install one of those and be done with it. You can find pre-compiled versions as well as source files (if you want to compile your own) here: http://sphinxsearch.com/downloads/ This installation guide is designed for people who want to install/compile from source on a Linux system (and have admin/shell access)... Log into your server's shell as root, and run the following commands (in order, obviously). curl -O http://sphinxsearch.com/files/sphinx-2.0.6-release.tar.gz tar -xzvf sphinx-2.0.6-release.tar.gz cd sphinx-2.0.6-release ./configure make make install mkdir /home/sphinx mkdir /home/sphinx-data mkdir /usr/local/etc There are two parts to Sphinx... the indexer program and the searchd program. Searchd is a daemon that listens for search requests and should always be running. Because of this, it's a good idea to setup a mechanism so it automatically loads when the server boots. If your system supports init.d, you can create a /etc/init.d/searchd file with the following contents: #! /bin/sh # # Written by Shawn Hogan # # Comments to support LSB init script conventions ### BEGIN INIT INFO # Provides: searchd # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop searchd # Description: searchd is the search daemon portion of Sphinx ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/bin/searchd NAME=searchd DESC=searchd PIDFILE=/home/sphinx/$NAME.pid test -x $DAEMON || exit 0 ##test -x $DAEMONBOOTSTRAP || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: " nohup $DAEMON > /dev/null 2>&1 & echo "$NAME." ;; stop) echo -n "Stopping $DESC: " killproc -p $PIDFILE $DAEMON echo "$NAME." rm -f $PIDFILE ;; restart) echo -n "Stopping $DESC: " killproc -p $PIDFILE $DAEMON rm -f $PIDFILE echo -n "Starting $DESC: " $DAEMON 2>&1 & ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart}" >&2 exit 1 ;; esac exit 0 Code (markup): The run the following command from your shell to activate it for the various run-levels: insserv -vd /etc/init.d/searchd The command should give you something along the lines of (which is a good thing): enable service ../searchd -> /etc/init.d/rc2.d/S12searchd enable service ../searchd -> /etc/init.d/rc2.d/K11searchd enable service ../searchd -> /etc/init.d/rc3.d/S12searchd enable service ../searchd -> /etc/init.d/rc3.d/K11searchd enable service ../searchd -> /etc/init.d/rc4.d/S12searchd enable service ../searchd -> /etc/init.d/rc4.d/K11searchd enable service ../searchd -> /etc/init.d/rc5.d/S12searchd enable service ../searchd -> /etc/init.d/rc5.d/K11searchd Code (markup): Now searchd *should* start on it's own when you reboot your server. Go ahead and start the searchd daemon by running the /etc/init.d/searchd start command. If all went as planned, you should be good to go now!
insserv statement does not work on my centos server: # insserv -vd /etc/init.d/searchd -> -bash: insserv: command not found As much as I found out, this program does not work on centos at all. This is what I found to start init.d on centos (I tried to post the link but am not allowed to do that) # chkconfig --level 345 searchd on Not sure if this is right!