CROWD installation with 404 error
Asked by Won Je Choi:

Trying to evaluate CROWD to sign-in to JIRA and Confluence using Azure o365 SSO.

It is a fresh installation with 3.1.1 ver in our AWS environment.

Getting following error, if attach /crowd in the url.

HTTP Status 404 -- Not Found {#toc-hId-1767530778}
--------------------------------------------------

*** ** * ** ***

**Type** Status Report

**Message** /crowd/console/

**Description** The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

*** ** * ** ***

### Apache Tomcat/8.5.20 {#toc-hId--981139688}

Crowd-home directory is empty, but I was able to get following error from crowd-installation directory:

22-Dec-2017 16:54:37.095 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file

22-Dec-2017 16:54:37.095 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal Context \[/openidserver\] startup failed due to previous errors


Answers:
author: Bruno Vincent
body: Hi [@Won Je Choi](/t5/user/viewprofilepage/user-id/339395)

It's really hard to say without seeing the full log (*apache-tomcat/logs/catalina.out*) but here are some basic things you should probably check:

1. Make sure that you installed a full JDK 8 (JRE is not enough and Java 9 is not supported yet) and that you set a JAVA_HOME environment variable pointing at it.
2. Make sure that the *crowd.home* property in *crowd-webapp/WEB-INF/classes/crowd-init.properties* points to an existing folder and that the user running Crowd has all rights on that very folder

comments: author: Won Je Choi
body: Thank you


author: Won Je Choi
body: which user runs Crowd? [@Bruno Vincent](/t5/user/viewprofilepage/user-id/853568) kind of confused after setting up JIRA and Confluece because I know that owner of JIRA directories has to be JIRA and Confluece for Confluence. Is it going to be crowd for running Crowd too? thank you!


author: Bruno Vincent
body: The OS user that you used to run the *start_crowd* script.

Anyway:

*Unsupported major.minor version 52.0*

Your JDK version is the problem here. Install JDK 8 and make sure that JAVA_HOME is pointing at it.


author: Bruno Vincent
body: It can be any user you want. It's actually a common practice to name it crowd but it's really up to you!

You might want to take a look at this page as I assume you're running Linux: <https://confluence.atlassian.com/crowd/setting-crowd-to-run-automatically-and-use-an-unprivileged-system-user-on-unix-211649189.html>


author: Won Je Choi
body: Thank you! [@Bruno Vincent](/t5/user/viewprofilepage/user-id/853568) I was able to get to the page where I configure Database, but not getting this error...Could not connect to the database: org.postgresql.util.PSQLException: The connection attempt failed.

I followed the instruction from: <https://confluence.atlassian.com/crowd/postgresql-4030906.html>

and filled in with all the correct information... do you know what the problem would be? Thank you so much!


author: Bruno Vincent
body: Again, you'll probably get more info in *catalina.out*. If you're absolutely sure about the database name and the database user credentials, I suspect some network problem (bad or unresolvable hostname? bad port? maybe some firewall blocking the connection to your database).


author: Mark Konwinski
body: Having a similar issue. Mine is upgrading from Crowd 2.7.2 to 3.1.1. I start Crowd and can see the process running, but Tomcat throws a 404. From the catalina.out

22-Dec-2017 14:44:18.669 INFO \[main\] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: \[/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib\]  
22-Dec-2017 14:44:19.147 INFO \[main\] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler \["http-nio-8095"\]  
22-Dec-2017 14:44:19.261 INFO \[main\] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read  
22-Dec-2017 14:44:19.264 INFO \[main\] org.apache.catalina.startup.Catalina.load Initialization processed in 2298 ms  
22-Dec-2017 14:44:19.312 INFO \[main\] org.apache.catalina.core.StandardService.startInternal Starting service \[Catalina\]  
22-Dec-2017 14:44:19.317 INFO \[main\] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.20  
22-Dec-2017 14:44:19.433 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/openidclient.xml\]  
22-Dec-2017 14:44:30.189 INFO \[localhost-startStop-1\] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.  
2017-12-22 14:44:31,995 localhost-startStop-1 WARN \[web.context.support.XmlWebApplicationContext\] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class \[com.atlassian.crowd.openid.client.util.ProxiableConsumerManagerFactory\] for bean with name 'consumerManager' defined in class path resource \[applicationContext-OpenIDClient.xml\]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: com/atlassian/crowd/openid/client/util/ProxiableConsumerManagerFactory : Unsupported major.minor version 52.0 (unable to load class \[com.atlassian.crowd.openid.client.util.ProxiableConsumerManagerFactory\])  
2017-12-22 14:44:32,051 localhost-startStop-1 ERROR \[springframework.web.context.ContextLoader\] Context initialization failed  
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class \[com.atlassian.crowd.openid.client.util.ProxiableConsumerManagerFactory\] for bean with name 'consumerManager' defined in class path resource \[applicationContext-OpenIDClient.xml\]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: com/atlassian/crowd/openid/client/util/ProxiableConsumerManagerFactory : Unsupported major.minor version 52.0 (unable to load class \[com.atlassian.crowd.openid.client.util.ProxiableConsumerManagerFactory\])  
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1388)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:684)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:640)  
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:609)  
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1484)  
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1007)  
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:741)  
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)  
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)  
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)  
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)  
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)  
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745)  
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)  
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)  
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)  
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)  
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)  
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1842)  
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)  
at java.util.concurrent.FutureTask.run(FutureTask.java:262)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)  
at java.lang.Thread.run(Thread.java:748)  
Caused by: java.lang.UnsupportedClassVersionError: com/atlassian/crowd/openid/client/util/ProxiableConsumerManagerFactory : Unsupported major.minor version 52.0 (unable to load class \[com.atlassian.crowd.openid.client.util.ProxiableConsumerManagerFactory\])  
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2280)  
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811)  
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)  
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)  
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)  
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:401)  
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1432)  
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1377)  
... 24 more  
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...  
22-Dec-2017 14:44:32.812 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file  
22-Dec-2017 14:44:32.847 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal Context \[/openidclient\] startup failed due to previous errors  
22-Dec-2017 14:44:32.890 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/openidclient.xml\] has finished in \[13,457\] ms  
22-Dec-2017 14:44:32.891 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/openidserver.xml\]  
22-Dec-2017 14:44:40.393 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file  
22-Dec-2017 14:44:40.394 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.StandardContext.startInternal Context \[/openidserver\] startup failed due to previous errors  
22-Dec-2017 14:44:40.408 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/openidserver.xml\] has finished in \[7,517\] ms  
22-Dec-2017 14:44:40.412 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/crowd.xml\]  
22-Dec-2017 14:44:41.306 SEVERE \[localhost-startStop-1\] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:  
org.apache.catalina.LifecycleException: Failed to start component \[StandardEngine\[Catalina\].StandardHost\[localhost\].StandardContext\[/crowd\]\]  
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)  
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)  
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)  
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)  
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)  
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1842)  
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)  
at java.util.concurrent.FutureTask.run(FutureTask.java:262)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)  
at java.lang.Thread.run(Thread.java:748)  
Caused by: java.lang.UnsupportedClassVersionError: com/atlassian/crowd/console/logging/CrowdHomeLogAppender : Unsupported major.minor version 52.0 (unable to load class \[com.atlassian.crowd.console.logging.CrowdHomeLogAppender\])  
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2280)  
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811)  
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)  
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)  
at java.lang.Class.forName0(Native Method)  
at java.lang.Class.forName(Class.java:195)  
at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)  
at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:327)  
at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:124)  
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:785)  
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)  
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648)  
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514)  
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)  
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)  
at org.apache.log4j.LogManager.\<clinit\>(LogManager.java:127)  
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:64)  
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:285)  
at org.slf4j.bridge.SLF4JBridgeHandler.getSLF4JLogger(SLF4JBridgeHandler.java:204)  
at org.slf4j.bridge.SLF4JBridgeHandler.publish(SLF4JBridgeHandler.java:291)  
at java.util.logging.Logger.log(Logger.java:616)  
at java.util.logging.Logger.doLog(Logger.java:641)  
at java.util.logging.Logger.logp(Logger.java:757)  
at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:179)  
at org.apache.juli.logging.DirectJDKLog.debug(DirectJDKLog.java:102)  
at org.apache.tomcat.util.digester.Digester.addRuleSet(Digester.java:1590)  
at org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(DigesterFactory.java:174)  
at org.apache.tomcat.util.descriptor.web.WebXmlParser.\<init\>(WebXmlParser.java:60)  
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1104)  
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:775)  
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)  
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)  
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5105)  
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
... 10 more

22-Dec-2017 14:44:41.307 SEVERE \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/crowd.xml\]  
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component \[StandardEngine\[Catalina\].StandardHost\[localhost\].StandardContext\[/crowd\]\]  
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:756)  
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)  
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)  
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)  
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1842)  
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)  
at java.util.concurrent.FutureTask.run(FutureTask.java:262)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)  
at java.lang.Thread.run(Thread.java:748)

22-Dec-2017 14:44:41.307 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor \[/opt/atlassian/crowd/3.1.1/apache-tomcat/conf/Catalina/localhost/crowd.xml\] has finished in \[895\] ms  
22-Dec-2017 14:44:41.308 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory \[/opt/atlassian/crowd/3.1.1/apache-tomcat/webapps/ROOT\]  
22-Dec-2017 14:44:41.813 INFO \[localhost-startStop-1\] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory \[/opt/atlassian/crowd/3.1.1/apache-tomcat/webapps/ROOT\] has finished in \[505\] ms  
22-Dec-2017 14:44:41.844 INFO \[main\] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler \["http-nio-8095"\]  
22-Dec-2017 14:44:41.896 INFO \[main\] org.apache.catalina.startup.Catalina.start Server startup in 22631 ms


author: Won Je Choi
body: I checked everything and it seems like everything is configured properly. thank you so much!


author: Won Je Choi
body: [@Bruno Vincent](/t5/user/viewprofilepage/user-id/853568) fyi, I also have copied the postgresql driver following instruction from <https://confluence.atlassian.com/crowd/postgresql-4030906.html> which did not work :(


author: Bruno Vincent
body: Hi [@Won Je Choi](/t5/user/viewprofilepage/user-id/339395)

This does not look like a driver problem, otherwise you would get a *ClassNotFoundException* . The problem is that Crowd cannot connect to your database, so you should double check the connection settings with your DBA. You might also want to run a simple *nc* from your Crowd server to check that the database server is actually listening on the provided port:

```
$ nc <db_hostname> <db_port>
```


author: Won Je Choi
body: Hi [@Bruno Vincent](/t5/user/viewprofilepage/user-id/853568)

I have done the same thing as when I set up JIRA and Confluence and they are connected to the same database. Is there a certain crowd config file that I have to configure?


author: Won Je Choi
body: [@Bruno Vincent](/t5/user/viewprofilepage/user-id/853568)Yes, you were right! I was missing a security group...thank you so much!


author: Won Je Choi
body: I can get to this page if I don't add /crowd in the url![Screen Shot 2017-12-22 at 12.03.51 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/11520i4241D709FE796AEB/image-size/large?v=v2&px=999 "Screen Shot 2017-12-22 at 12.03.51 PM.png")