Skip to content

Instantly share code, notes, and snippets.

@sebas5384
Forked from vumaasha/install_solr_in_jetty_9.sh
Last active December 25, 2015 06:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebas5384/6929676 to your computer and use it in GitHub Desktop.
Save sebas5384/6929676 to your computer and use it in GitHub Desktop.
#!/bin/sh
# set the configuration variables below, before running the script
# get the solr nightly build download link from https://builds.apache.org/job/Solr-Artifacts-4.x/lastSuccessfulBuild/artifact/solr/package/
JETTY_URL="http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.0.6.v20130930.tar.gz&r=1"
JETTY_HOME="/opt/jetty"
JAVA='/usr/bin/java'
JETTY_PORT=8983
JETTY_HOST=127.0.0.1
SOLR_URL="http://www.eu.apache.org/dist/lucene/solr/4.5.0/solr-4.5.0.tgz"
SOLR_HOME="/opt/solr"
JAVA_OPTIONS="-Xms16M -Xmx64M -XX:MaxPermSize=32M"
while getopts ":isr" opt; do
case $opt in
i)install=1;;
s)start=1;;
r)remove=1;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done
check_for_error() {
if [ $? -ne 0 ]; then
echo $1
exit 2
fi
}
if [ ! -z $install ]; then
echo "installing solr in jetty..."
#download jetty
cd /tmp
mkdir jetty
cd jetty
wget "$JETTY_URL"
mv download* jetty.tar.gz
tar -xvf jetty.tar.gz
mv jetty-distribution* jetty
# create jetty home if does not exist
if [ ! -d $JETTY_HOME ]; then
mkdir $JETTY_HOME
check_for_error "unable to create jetty home. exiting.."
fi
cp -r jetty/* $JETTY_HOME
# add a jetty user if not exists
grep -q ^jetty /etc/passwd
if [ $? -ne 0 ]; then
useradd jetty -U -s /bin/false
check_for_error "unable to add jetty user. exiting.."
fi
chown -R jetty:jetty $JETTY_HOME
# create jetty configuration
cp $JETTY_HOME/bin/jetty.sh /etc/init.d/jetty
echo "JAVA=$JAVA" > /etc/default/jetty
echo "JETTY_HOME=$JETTY_HOME" >> /etc/default/jetty
echo "JETTY_HOST=$JETTY_HOST" >> /etc/default/jetty
echo "JETTY_ARGS=jetty.port=$JETTY_PORT" >> /etc/default/jetty
echo "JETTY_USER=jetty" >> /etc/default/jetty
# starting jetty service
if [ ! -z $start ] ; then
service jetty start
service jetty check
fi
# registering jetty service to start on boot automatically
update-rc.d jetty defaults
# remove unsecure content demo apps
cd $JETTY_HOME/webapps
rm -rf test.d/ test.war test.xml async-rest.war
cd $JETTY_HOME
rm -rf webapps.demo
# installing solr
mkdir /tmp/solr
cd /tmp/solr
wget $SOLR_URL
tar -xvf solr-4.*
cd solr-4.*
# create solr home if not exists
if [ ! -d $SOLR_HOME ]; then
mkdir $SOLR_HOME
check_for_error "Unable to create solr home. exiting..."
fi
cp dist/solr-4.*war $JETTY_HOME/webapps/solr.war
cp example/lib/ext/* $JETTY_HOME/lib/ext
mkdir $SOLR_HOME/cores
mkdir $SOLR_HOME/cores/core0
cp -r example/solr/* $SOLR_HOME/cores/core0
cp -r dist $SOLR_HOME
cp -r contrib $SOLR_HOME
echo JAVA_OPTIONS='"-Dsolr.solr.home='$SOLR_HOME'/cores/core0 '$JAVA_OPTIONS'"' >> /etc/default/jetty
chown -R jetty:jetty $SOLR_HOME
if [ ! -z $start ] ; then
service jetty restart
fi
#clean up tempfiles
rm -rf /tmp/jetty
rm -rf /tmp/solr
echo "Status of jetty....."
service jetty check
exit 0
elif [ ! -z $remove ]; then
echo "unistallting solr and jetty..."
service jetty stop
update-rc.d -f jetty remove
cd $JETTY_HOME
rm -rf *
cd $SOLR_HOME
rm -rf *
exit 0
fi
cat << EOF
Usage:
-i = install
-s = start
-r = uninstall
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment