Installing Lucene/Solr on CentOS 6

By Andres Jaimes

This time we are going to install Solr, the super text search platform on CentOS. The installation process requires a couple extra libraries in order to work: Apache Commons Logging and SLF4J.  

Installing Java

yum install java
java -version

You must have at least version 1.6 in order to run Solr. If you got Java 1.5, I recommend you to follow this tutorial to get version 1.6.

Installing Tomcat

yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps
chkconfig tomcat6 on
service tomcat6 start 

Use a web browser to check it is working correctly.


If you cannot connect, check your firewall rules

iptables -vnL --line-numbers 

and make the necessary changes (Check these iptables snippets).

Ok, let’s go on. Add the following lines between the <tomcat-users> tag in /etc/tomcat6/tomcat-users.xml to add a manager role to your server:

<role rolename="manager" />
<role rolename="admin" />
<user username="AUserName" password="ASuperSecretPassword" roles="manager,admin" />

Important: Make sure to change the previous username and password!

Restart Tomcat

service tomcat6 restart   

Installing Apache Commons Loggins Download Apache Commons Logging from to your home directory.

Untar your file and copy the required files to your tomcat library folder:

tar zxf commons-logging-1.1.3.tar.gz
cd commons-loggins-1.1.3
cp commons-logging-*.jar /usr/share/tomcat6/lib   

Installing SLF4J Download the latest version from to your home directory. Untar your file and copy the required files to your tomcat library folder:

tar zxf slf4j-1.7.5.tar.gz
cd slf4j-1.7.5
cp slf4j-*.jar /usr/share/tomcat6/lib

Update: Latest versions include a couple Android files (slf4j-android-1.7.7.jar and slf4j-android-1.7.7-sources.jar). Do not copy them. They will be read by tomcat preventing Solr to start.  

Installing Solr (Finally!) Download Solr from the Apache website to your home directory: 

Uncompress it:

tar zxf ~/solr-4.5.1.tar.gz 

Copy (and rename) the included Solr war file (solr.war) to your Tomcat apps folder:

cp ~/solr-4.5.1/dist/solr-4.5.1.war /usr/share/tomcat6/webapps/solr.war 

Now it’s time to create the folder that will keep your Solr index and documents. We also have to copy a basic Solr structure into it. Fortunately, Solr comes with a predefined structure and includes preconfigured files in it. You have to make sure that there is plenty of space wherever you place this folder, since it can grow a lot. By the way, you can place this folder out of your Tomcat webapps folder. In my case, I have decided to put it in /home/solr. So, let’s do it:

mkdir /home/solr
cp -R ~/solr-4.5.1/example/solr/* /home/solr
chown -R tomcat /home/solr 

Restart Tomcat.

service tomcat6 restart

Solr is not ready yet, however this last time we restarted Tomcat it unpackaged the solr.war file. We need to edit a file inside that unpackaged directory structure. Edit your Solr web.xml file to let it know where your solar directory is located:

nano /usr/share/tomcat6/webapps/solr/WEB-INF/web.xml 

Look for the following code and edit it (don’t forget to remove the comment markers!):


Ok… so, restart Tomcat

service tomcat6 restart 

On your web browser go to:


If everything is ok, your Solr instance should be ready to go.



I recommend you to completely stop and start Tomcat over and over and take a look at:

tail /var/log/tomcat6/catalina.out 

If you do not restart Tomcat each time, errors will not be logged to the catalina.out file.