Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, dynamic clustering, database integration, and rich document (e.g., Word, PDF) handling. I use this on OpenSUSE and Debian (minor tweaks on Debian, just paths to correct but it's almost the same). Packages from 4 of March 2011.
Install Drupal. And use ISPConfig 2.
Use this .htacess file in the root of your Drupal installation:
RewriteEngine on
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
#RewriteCond %{REQUEST_URI} !=/favicon.ico
Alter the .htacess file in /web/sites/default/files and comment:
#SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
#Options None
Install Drupal. This tutorial doesn't cover full Drupal installation.
Log in as root or sudo as you wish.
Install some dependencies Drupal needs:
pecl install uploadprogress
pecl install json
pecl install apc
pecl install -n solr-beta
Also install Java 1.5 (gives error if 1.6) on your server. (This tutorial doesn't cover Java installation.)
Open your php.ini...
nano -w /etc/php5/apache2/php.ini
... and paste the following extensions uploadprogress, apc and solr so the extensions load with PHP:
; Directory in which the loadable extensions (modules) reside.
extension_dir = /usr/lib64/php5/extensions
extension=uploadprogress.so
extension=apc.so
extension=solr.so
Save your file and restart webserver:
/etc/init.d/apache2 restartcd /tmp
wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/lucene/solr/1.4.1/apache-solr-1.4.1.zip
unzip apache-solr-1.4.1.zip
mv apache-solr-1.4.1 apache-solr
cp -r apache-solr /usr/share/apache-solr
Copy configuration from your Drupal installation, in my case /srv/www/web11/web:
cp /srv/www/web11/web/sites/all/modules/apachesolr/solrconfig.xml /usr/share/apache-solr/example/solr/conf/solrconfig.xml
cp /srv/www/web11/web/sites/all/modules/apachesolr/schema.xml /usr/share/apache-solr/example/solr/conf/schema.xmlcd apache-solr/example
java -jar start.jar
In your browser, test it (remember to open in ISPConfig firewall port 8983):
http://yourwebsite.com:8983/solr/admin/
TEST OK!
ctrl+c in your terminal and apache-solr ends... But never mind.
Let's make a start script so it starts solr when system boots:
nano -w /etc/init.d/solr
And paste this script:
#!/bin/sh -e
# Starts, stops, and restarts solr
SOLR_DIR="/usr/share/apache-solr/example"
JAVA_OPTIONS="-Xmx1024m -DSTOP.PORT=8079 -DSTOP.KEY=stopkey -jar start.jar"
LOG_FILE="/var/log/solr.log"
JAVA="/usr/bin/java"
case $1 in
start)
echo "Starting Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS 2> $LOG_FILE &
;;
stop)
echo "Stopping Solr"
cd $SOLR_DIR
$JAVA $JAVA_OPTIONS --stop
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac
Make it executable:
chmod a+rx /etc/init.d/solr
Check what is booting:
chkconfig --list
Oh no! solr is not booting. Of course not!
chkconfig --add solr
Then try to stop it:
service solr stop
Oh. It's not working? Let's try to start it:
service solr start
Test on your browser.
http://yourdomain.com:8983/solr/admin/
It's ALIVE! apache-solr, search on steroids!
Now you can reboot your server, too, and see apache-solr working. :)
View the original article here
This post was made using the
Auto Blogging Software from
WebMagnates.org This line will not appear when posts are made after activating the software to full version.