Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

How-To install Tomcat 7 and Solr on Centos 5.5

10.24.2011
| 15544 views |
  • submit to reddit
In this how-to we are presenting the steps you have to follow in order to install Tomcat 7 and Solr on a Centos 5.5 machine.  This tutorial was originally posted on TechSpry.com and the author is Gerasimos Athanasopoulos.

Install Java JDK

yum install java-(version)-openjdk
yum install java-(version)-openjdk-devel

where (version) must be a valid version of the JDK.

Install Tomcat 7

cd /usr/shared/
wget http://apache.cc.uoc.gr/tomcat/tomcat-7/v7.0.22/bin/apache-tomcat-7.0.22.tar.gz
tar -zxvf apache-tomcat-7.0.22.tar.gz
rm apache-tomcat-7.0.22.tar.gz

You can find the version to download from the binary distribution HERE.

Next you must install tomcat native by downloading the source from here:

cd ~
mkdir installers && cd installers
wget http://apache.cc.uoc.gr//tomcat/tomcat-connectors/native/1.1.22/source/tomcat-native-1.1.22-src.tar.gz
tar -zxvf tomcat-native-1.1.22-src.tar.gz
rm tomcat-native-1.1.22-src.tar.gz
cd tomcat-native-1.1.22-src/jni/native
./configure --with-apr=/usr/bin/apr-1-config --with-java-home=****

**** must be the directory where the java jdk is e.g. /usr/lib/jvm/java-1.6.0-openjdk.x86_64.
make
make install

Next open up the catalina.sh (where it is probably located at /usr/share/apache-tomcat-7.0.22/bin/catalina.sh) and put export LD_LIBRARY_PATH="/usr/local/apr/lib" at the start of the file.

Finally change Tomcat default listening port by editing the /usr/share/apache-tomcat-7.0.22/conf/server.xml
and changing <Connector port="8989" to 8983 which is Solr's default port.

Install Solr

First download Solr by visiting HERE and choosing the closest mirror and finding solr. An example path is (note that Solr is in 3.1.0 version right now, please adjust version to fit your needs) http://apache.forthnet.gr//lucene/solr/3.1.0/apache-solr-3.1.0.tgz.

cd ~/installers
wget http://apache.forthnet.gr//lucene/solr/3.1.0/apache-solr-3.1.0.tgz
tar xzvf apache-solr-3.1.0.tgz
mv apache-solr-3.1.0/example/solr /opt/solr
mv apache-solr-3.1.0/dist/apache-solr-3.1.0.war /opt/solr/
cp apache-solr-3.1.0/client/ruby/solr-ruby/solr/conf/schema.xml /opt/solr/conf/

Next edit the /opt/solr/conf/solrconfig.xml and change the dataDir to ${solr.data.dir:/opt/solr/data}.
Next we are creating the solr.xml for Tomcat

cd /usr/share/apache-tomcat-7.0.22/conf/
mkdir Catalina
mkdir Catalina/solr
mkdir Catalina/solr/localhost
vim sorl.xml

and add the following to this file:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/opt/solr/apache-solr-3.1.0.war" debug="0" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/opt/solr" override="true"/>
</Context>

Finally we want to make tomcat a service and make it boot on startup. For this we create an init.d script say /etc/init.d/tomcat and put the following script inside

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-7.0.22

case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0

*Note* Edit the file if necessary and change JAVA_HOME and CATALINA_HOME. Now we make the service by /sbin/chkconfig tomcat on to start on boot and start the service by

/etc/init.d/tomcat start

 

or by

service tomcat start

Now if you visit http://127.0.0.1:8983 you should see Tomcat’s index page and in http://127.0.0.1:8983/solr Solr’s index page (given no firewall blocking this port).

About the Author:
Gerasimos Athanasopoulos – a.k.a. Gerry

Gerry was born and raised in Athens, Greece. Having a strong background in Mathematics from an early age he chose to study Physics at the Kapodistrian University of Athens. He became interested in the theory of Special Relativity and in the theory of General Relativity. He is the main editor of the biggest part of the book

Special Relativity: An Introduction with 200 Problems and Solutions. He recently became fan of the Ruby programming language and since then he didn’t stop studying and writing applications in Ruby and Ruby on Rails. He is currently employed as a full time Ruby on Rails developer at mynextcar.gr – one of the best Greek web services. When he doesn’t code he watches movies (mostly zombie/post apocalyptic), goes out to bars and drink fairly amounts of alcohol and plays French billiard.

 

Comments

Juan Macias replied on Wed, 2011/11/02 - 2:22am

I believe there is a non relevant typo in the content of the post, when we are creating the solr.xml for tomcat. Regards.

vim sorl.xml

Robert Craft replied on Thu, 2012/01/26 - 5:55am

Also we can used archive files to install it without yum command. Currently I have got a chance to install Java and JBoss on Cent OS. I have tried yum command and then uninstalled it and also installed it by extracting it. You efforts are good and its a very nice article indeed.

Spring Security

majid Latif replied on Tue, 2013/03/19 - 9:26am

Hi,

Thank you for this tutorial, I am new in Lunix, trying to install Tomcat and Solr in Redhat, I see that you installed the binary tomcat , then you said :

Next you must install tomcat native by downloading the source

Is this necessary to install tomcat native by downloading the source ?

Thanks, your help is appreciated.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.