Skip to content

Instantly share code, notes, and snippets.

@hingstarne
Last active December 12, 2015 03:28
Show Gist options
  • Select an option

  • Save hingstarne/4706935 to your computer and use it in GitHub Desktop.

Select an option

Save hingstarne/4706935 to your computer and use it in GitHub Desktop.
Create a single server solr4 Installation on a debian like system After Installation it will respond under http://myserver:8080/solr4
#!/bin/bash
#
# Script to install a single server solr4 on a debian like system
# Copyright (C) 2013 Arne-Kristian Hingst - All Rights Reserved
# Permission to copy and modify is granted under the eupl license
# http://ec.europa.eu/idabc/servlets/Docbb6d.pdf?id=31979
# Last revised 02/05/2013
#
# Get distributor id
distributorId=$(/usr/bin/lsb_release -i -s)
if [ $distributorId == "Debian" ] || [ $distributorId == "Ubuntu" ];
then
# Create necessary directories
mkdir -p /var/lib/solr4
mkdir -p /usr/share/solr4
mkdir -p /etc/solr4
# Download and extract solr4
cd /usr/src
wget http://mirror.synyx.de/apache/lucene/solr/4.1.0/solr-4.1.0.tgz
tar xf solr-4.1.0.tgz
cp solr-4.1.0/dist/solr-4.1.0.war /usr/share/solr4/solr4.war
# Ensure an installed tomcat
aptitude -y install tomcat6
# Add solr options to jvm
sed -i -e 's/JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"/SOLR_OPTS="-DhostPort=8080"\nJAVA_OPTS="-Djava.awt.headless=true -Xmx512m -XX:+UseConcMarkSweepGC ${SOLR_OPTS}"/g' /etc/default/tomcat6
# Copy example core
cp -r solr-4.1.0/example/solr/collection1 /var/lib/solr4/example
mkdir /var/lib/solr4/example/data
# Create solr.xml
cat > /usr/share/solr4/solr.xml <<EOF
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
<cores adminPath="/admin/cores" hostPort="8080" hostContext="solr4">
<core schema="schema.xml" instanceDir="/var/lib/solr4/example/" name="example" config="solrconfig.xml" />
</cores>
</solr>
EOF
ln -s /usr/share/solr4/solr.xml /etc/solr4/solr.xml
# Create context.xml for tomcat6
cat > /etc/solr4/context.xml <<EOF
<Context docBase="/usr/share/solr4/solr4.war" debug="0" crossContext="true" path="/solr4" >
<Environment name="solr/home" type="java.lang.String" value="/usr/share/solr4" override="true"/>
</Context>
EOF
ln -s /etc/solr4/context.xml /etc/tomcat6/Catalina/localhost/solr4.xml
# Set user for solr files
chown -R tomcat6:tomcat6 /var/lib/solr4
chown -R tomcat6:tomcat6 /usr/share/solr4
chown -R tomcat6:tomcat6 /etc/solr4
# Restart tomcat6 service
service tomcat6 restart
else
echo "Unsupported operatingsystem\nWill now exit"
exit 2
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment