Question: I am setting up a vanila DHIS2 local server on my personal WINDOWS 11 laptop.
I installed Java version 21.0.2.0
I installed postgresql 16.1
Tomcat 9.0.85
DHIS2 40/dhis2-stable-latest.war
My apache tomcat is working properly.
But when i access localhost:8080/dhis2 i keep getting the error
The requested resource [/dhis2] is not available
I have checked all my environment variables are set correctly. Multiple times
The log file catalina gives an error
30-Jan-2024 08:28:15.074 SEVERE [main] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\dhis2.war]
dhis.conf is mentioned below. username: postgres with no password
Based on 2 days i spent trouble shooting i think i have narrowed it down to
either versions mismatch
or wrong configuration of dhis.conf file
Can someone please help me with this?
dhis.conf
# ----------------------------------------------------------------------
# Database connection
# ----------------------------------------------------------------------
# JDBC driver class
connection.driver_class = org.postgresql.Driver
# Database connection URL (assuming the database is running on localhost and default port)
connection.url = jdbc:postgresql://localhost:5432/dhis2
# Database username
connection.username = postgres
# Database password (set this if your database has a password)
connection.password =
# ----------------------------------------------------------------------
# Server
# ----------------------------------------------------------------------
# Enable secure settings if deployed on HTTPS, default 'off', can be 'on'
# server.https = on
# Server base URL (uncomment and set this if accessing DHIS2 through a specific URL)
# server.base.url = https://yourserver.com
Please provide a copy of your dhis.log or catalina.out file from when you start the server to when the error occurs. There is simply not enough information from the snippet above to provide any context.
i am unable to upload cuz m a new user but here it is catalina
31-Jan-2024 13:02:07.677 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.85
31-Jan-2024 13:02:07.681 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jan 5 2024 08:28:07 UTC
31-Jan-2024 13:02:07.682 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.85.0
31-Jan-2024 13:02:07.682 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 11
31-Jan-2024 13:02:07.683 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 10.0
31-Jan-2024 13:02:07.683 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
31-Jan-2024 13:02:07.683 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files\Java\jdk-21
31-Jan-2024 13:02:07.683 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 21.0.2+13-LTS-58
31-Jan-2024 13:02:07.683 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
31-Jan-2024 13:02:07.684 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85
31-Jan-2024 13:02:07.684 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85
31-Jan-2024 13:02:07.696 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
31-Jan-2024 13:02:07.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
31-Jan-2024 13:02:07.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
31-Jan-2024 13:02:07.697 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
31-Jan-2024 13:02:07.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
31-Jan-2024 13:02:07.698 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\conf\logging.properties
31-Jan-2024 13:02:07.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
31-Jan-2024 13:02:07.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
31-Jan-2024 13:02:07.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
31-Jan-2024 13:02:07.699 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
31-Jan-2024 13:02:07.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85
31-Jan-2024 13:02:07.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85
31-Jan-2024 13:02:07.700 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\temp
31-Jan-2024 13:02:07.712 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Program Files\Java\jdk-21\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Python311\Scripts;C:\Python311;C:\Program Files\Oculus\Support\oculus-runtime;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\HP\IdrsOCR_15.2.10.1114;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\ProgramData\chocolatey\bin;C:\Program Files\nodejs;C:\Program Files\dotnet;C:\Program Files\Java\jdk-21\bin;C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\bin;C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\lib;C:\Users\matha\AppData\Local\Microsoft\WindowsApps;C:\Users\matha\AppData\Roaming\npm;.]
31-Jan-2024 13:02:08.201 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-8080”]
31-Jan-2024 13:02:08.225 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [764] milliseconds
31-Jan-2024 13:02:08.276 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
31-Jan-2024 13:02:08.276 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.85]
31-Jan-2024 13:02:08.307 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\dhis2.war]
31-Jan-2024 13:02:26.313 INFO [main] 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.
31-Jan-2024 13:02:28.212 SEVERE [main] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\dhis2.war]
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:661)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1025)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1919)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:826)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:476)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1619)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:345)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:794)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:248)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/dhis2]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:419)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:186)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)
… 35 more
Caused by: java.lang.IllegalStateException: Properties could not be loaded
at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.loadDhisConf(DefaultDhisConfigurationProvider.java:297)
at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.init(DefaultDhisConfigurationProvider.java:102)
at org.hisp.dhis.webapi.servlet.DhisWebApiWebAppInitializer.getConfig(DhisWebApiWebAppInitializer.java:87)
at org.hisp.dhis.webapi.servlet.DhisWebApiWebAppInitializer.onStartup(DhisWebApiWebAppInitializer.java:57)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4904)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
… 36 more
Caused by: org.hisp.dhis.external.location.LocationManagerException: File C:\Users\matha\DHIS2_HOME\dhis.conf cannot be read
at org.hisp.dhis.external.location.DefaultLocationManager.getFileForReading(DefaultLocationManager.java:203)
at org.hisp.dhis.external.location.DefaultLocationManager.getInputStream(DefaultLocationManager.java:177)
at org.hisp.dhis.external.location.DefaultLocationManager.getInputStream(DefaultLocationManager.java:171)
at org.hisp.dhis.external.conf.DefaultDhisConfigurationProvider.loadDhisConf(DefaultDhisConfigurationProvider.java:289)
… 42 more
31-Jan-2024 13:02:28.218 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\dhis2.war] has finished in [19,910] ms
31-Jan-2024 13:02:28.221 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\helloworld.war]
31-Jan-2024 13:02:28.350 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\helloworld.war] has finished in [129] ms
31-Jan-2024 13:02:28.352 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\docs]
31-Jan-2024 13:02:28.413 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\docs] has finished in [61] ms
31-Jan-2024 13:02:28.414 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\examples]
31-Jan-2024 13:02:29.086 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\examples] has finished in [673] ms
31-Jan-2024 13:02:29.087 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\host-manager]
31-Jan-2024 13:02:29.161 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\host-manager] has finished in [74] ms
31-Jan-2024 13:02:29.163 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\manager]
31-Jan-2024 13:02:29.228 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\manager] has finished in [65] ms
31-Jan-2024 13:02:29.230 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\ROOT]
31-Jan-2024 13:02:29.264 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Users\matha\apache-tomcat-9.0.85\apache-tomcat-9.0.85\webapps\ROOT] has finished in [35] ms
31-Jan-2024 13:02:29.270 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http-nio-8080”]
31-Jan-2024 13:02:29.313 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [21086] milliseconds
@SpanishEyez well, from the error it seems pretty clear that the user which is running Tomcat cannot access that file. Here is the relevant line of source code in DHIS2:
if (!canReadFile(file)) {
throw new LocationManagerException("File " + file.getAbsolutePath() + " cannot be read");
}
So again, its really clear that the server cannot read the file. Have you tried running Tomcat as the administrator?