How to Install Solr in Tomcat?
solr, tomcat6, windows
Solution
It got solved for me by on a different forum, here are the steps I followed:
- Extract solr431 package. In my case I did in "E:\solr-4.3.1\example\solr"
- Now copied solr dir from extracted package (E:\solr-4.3.1\example\solr) into TOMCAT_HOME dir. In my case TOMCAT_HOME dir is pointed to E:\Apache\Tomcat 6.0.
- I can refer now SOLR_HOME as " E:\Apache\Tomcat 6.0\solr" (please remember this)
- Copy the solr.war file from extracted package to SOLR HOME dir i.e E:\Apache\Tomcat 6.0\solr. This is required to create the context. As I donot want to pass this as JAVA OPTS
- Also copy solr.war file into TOMCAT_HOME\webapps for deployment purpose
If you start tomcat you will get errors as mentioned by Shawn. S0 you need to copy all the 5 jar files from solr extracted package ( E:\solr-4.3.1\example\lib\ext ) to TOMCAT_HOME\lib dir:
- jul-to-slf4j-1.6.6,
- jcl-over-slf4j-1.6.6,
- slf4j-log4j12-1.6.6,
- slf4j-api-1.6.6,
- log4j-1.2.16
Also copy the log4js.properties file from E:\solr-4.3.1\example\resources dir to TOMCAT_HOME\lib dir.
- Now if you start the tomcat you wont having any problem.
Problem
I've put the file `apache-solr-3.5.0.war` in folder `C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps`. A folder "apache-solr-3.5.0" is created automatically. And when I go to: `http://localhost:8080/apache-solr-3.5.0/ `. I can see the message "Welcome to Solr!". Now, when I do the exact same with the file `solr-4.3.1.war` in the folder `C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps` A folder `solr-4.3.1` is created automatically. But now when I go to: ``` http://localhost:8080/solr-4.3.1/ OR to http://localhost:8080/solr-4.3.1/admin.html ``` I see the error: HTTP Status 404 - type Status report Message: description The requested resource is not available. Apache Tomcat/6.0.37 What am I missing? Update: This is shown in the Tomcat console window: ``` INFO: Solr home set to 'solr/' 12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader <init> INFO: Solr home set to 'solr\.\' 12-jul-2013 18:27:36 org.apache.solr.common.SolrException log SEVERE: java.lang.RuntimeException: Can't find resource 'solrconfig.xml' in class sath or 'solr\.\conf/', cwd=C:\Program Files\Apache Software Foundation\Tomcat 6.0 at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoad er.java:268) 12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0 12-jul-2013 18:27:36 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() done 12-jul-2013 18:27:36 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() 12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home defaulted to 'solr/' (could not find system property or JNDI) 12-jul-2013 18:27:36 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() done 12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 12-jul-2013 18:27:36 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: solr home defaulted to 'solr/' (could not find system property or JNDI) 12-jul-2013 18:27:36 org.apache.solr.servlet.SolrUpdateServlet init INFO: SolrUpdateServlet.init() done 12-jul-2013 18:27:36 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive solr-4.3.1.war 12-jul-2013 18:27:36 org.apache.catalina.core.StandardContext start SEVERE: Error filterStart 12-jul-2013 18:27:36 org.apache.catalina.core.StandardContext start SEVERE: Context [/solr-4.3.1] startup failed due to previous errors 12-jul-2013 18:27:36 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 12-jul-2013 18:27:36 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 12-jul-2013 18:27:36 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 12-jul-2013 18:27:36 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/56 config=null 12-jul-2013 18:27:36 org.apache.catalina.startup.Catalina start INFO: Server startup in 880 ms ``` My unpacked Solr folder contains these folders: ``` css img js META-INF tpl WEB-INF ``` Update After adding this to my environment variables: ``` JAVA_OPTS = $JAVA_OPTS -Dsolr.solr.home=C:/Databases/solr-4.3.1/example/solr ``` I get these 2 errors after startup: ``` SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE_43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24,LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34,LUCENE_35, LUCENE_CURRENT] or a string in format 'V.V' SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jars. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext directory. For other containers, the corresponding directory should be used. ``` Full log: ``` SEVERE: org.apache.solr.common.SolrException: Invalid luceneMatchVersion 'LUCENE _43', valid values are: [LUCENE_20, LUCENE_21, LUCENE_22, LUCENE_23, LUCENE_24, LUCENE_29, LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34, LUCENE_35, LUC ENE_CURRENT] or a string in format 'V.V' at org.apache.solr.core.Config.parseLuceneVersionString(Config.java:353) 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: user.dir=C:\Program Files\Apache Software Foundation\Tomcat 6.0 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() done 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrServlet init INFO: SolrServlet.init() done 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: No /solr/home in JNDI 13-jul-2013 13:46:02 org.apache.solr.core.SolrResourceLoader locateSolrHome INFO: using system property solr.solr.home: C:\Databases\solr-4.3.1\exam ple\solr 13-jul-2013 13:46:02 org.apache.solr.servlet.SolrUpdateServlet init INFO: SolrUpdateServlet.init() done 13-jul-2013 13:46:02 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive solr-4.3.1.war 13-jul-2013 13:46:03 org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter SolrRequestFilter org.apache.solr.common.SolrException: Could not find necessary SLF4j logging jar s. If using Jetty, the SLF4j logging jars need to go in the jetty lib/ext direct ory. For other containers, the corresponding directory should be used. For more information, see: http://wiki.apache.org/solr/SolrLogging ``` UPDATE 3 I'm now getting a "HTTP Status 503 - Server is shutting down" error. ``` 14-jul-2013 14:21:57 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin;C:\Windows\Sun\Java\bin;C:\Windo ws\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Li ve;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\ system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShe ll\v1.0\;C:\Program Files\TortoiseSVN\bin;c:\msxsl;C:\Program Files (x86)\Window s Live\Shared;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program File s (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110 \Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Prog ram Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQ L Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL S erver\110\DTS\Binn\;C:\Program Files (x86)\Java\jre6\bin;C:\Program Files\Java\j re631\bin;. 14-jul-2013 14:21:57 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 14-jul-2013 14:21:57 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 283 ms 14-jul-2013 14:21:57 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 14-jul-2013 14:21:57 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.37 14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 14-jul-2013 14:21:57 org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive solr-4.3.1.war log4j:WARN No appenders could be found for logger (org.apache.solr.servlet.SolrD ispatchFilter). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more in fo. 14-jul-2013 14:21:58 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 14-jul-2013 14:21:58 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 14-jul-2013 14:21:58 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 14-jul-2013 14:21:58 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/55 config=null 14-jul-2013 14:21:58 org.apache.catalina.startup.Catalina start INFO: Server startup in 719 ms ``` I read something on this error here, but after adding my `logging.properties`.