Installation in ubuntu 18.04/22.04 giving me 404 error while accessing the war file

Hi Team,

I am trying to install v0.8.23-hotfix1 using the war file i followed the Ubuntu 18.04 for both ubuntu 18 and 22, but i am not able to get it working. every time i am getting 404 error

Please help me solve this

CATALINA LOGS
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
23-Jul-2024 06:52:04.840 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.91
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jul 2 2024 12:35:51 UTC
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.91.0
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.15.0-213-generic
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
23-Jul-2024 06:52:04.844 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/zulu8-ca-amd64/jre
23-Jul-2024 06:52:04.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_422-b05
23-Jul-2024 06:52:04.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Azul Systems, Inc.
23-Jul-2024 06:52:04.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /opt/apache-tomcat-9.0.91
23-Jul-2024 06:52:04.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /opt/apache-tomcat-9.0.91
23-Jul-2024 06:52:04.845 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms128m
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx256m
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:MaxPermSize=128m
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseParallelGC
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat
23-Jul-2024 06:52:04.846 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp
23-Jul-2024 06:52:04.847 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: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
23-Jul-2024 06:52:05.054 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
23-Jul-2024 06:52:05.065 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [360] milliseconds
23-Jul-2024 06:52:05.084 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
23-Jul-2024 06:52:05.084 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.91]
23-Jul-2024 06:52:05.115 INFO [main] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/opt/apache-tomcat-9.0.91/webapps/openboxes.war]
23-Jul-2024 06:52:09.076 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.
Using configuration locations [classpath:openboxes-config.properties, classpath:openboxes-config.groovy, file:/opt/tomcat/.grails/openboxes-config.properties, file:/opt/tomcat/.grails/openboxes-config.groovy] [production]
Unable to load specified config location classpath:openboxes-config.properties : class path resource [openboxes-config.properties] cannot be opened because it does not exist
Unable to load specified config location classpath:openboxes-config.groovy : class path resource [openboxes-config.groovy] cannot be opened because it does not exist
Unable to load specified config location file:/opt/tomcat/.grails/openboxes-config.groovy : /opt/tomcat/.grails/openboxes-config.groovy (No such file or directory)
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: stacktrace.log (Permission denied)
	at java.io.FileOutputStream.open0(Native Method)
	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
	at org.apache.log4j.FileAppender.setFile(FileAppender.java:282)
	at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:166)
	at org.apache.log4j.spi.OptionHandler$activateOptions.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
	at org.codehaus.groovy.grails.plugins.logging.Log4jConfig.createFullstackTraceAppender(Log4jConfig.groovy:177)
	at org.codehaus.groovy.grails.plugins.logging.Log4jConfig.this$2$createFullstackTraceAppender(Log4jConfig.groovy)
	at org.codehaus.groovy.grails.plugins.logging.Log4jConfig$this$2$createFullstackTraceAppender.callCurrent(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
	at org.codehaus.groovy.grails.plugins.logging.Log4jConfig.configure(Log4jConfig.groovy:145)
	at org.codehaus.groovy.grails.web.util.Log4jConfigListener.contextInitialized(Log4jConfigListener.java:62)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4007)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4448)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:603)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1014)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1866)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:816)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1584)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:312)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
	at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:385)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:332)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:721)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:211)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:878)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:735)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
2024-07-23 06:52:09,944 [main] INFO  context.ContextLoader  - Root WebApplicationContext: initialization started
2024-07-23 06:52:09,957 [main] INFO  support.XmlWebApplicationContext  - Refreshing Root WebApplicationContext: startup date [Tue Jul 23 06:52:09 UTC 2024]; root of context hierarchy
2024-07-23 06:52:09,980 [main] INFO  xml.XmlBeanDefinitionReader  - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
2024-07-23 06:52:10,136 [main] INFO  support.DefaultListableBeanFactory  - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6f167307: defining beans [grailsApplication,pluginManager,grailsConfigurator,grailsResourceLoader,grailsResourceHolder,characterEncodingFilter]; root of factory hierarchy

Thanks for posting this!

I was just getting ready to respond to your email from yesterday, and I was going to ask you to post to the community forum (i.e., here). So thank you for reading my mind.

Explanation

Ok, so right now you’re trying to install a version of OpenBoxes (0.8.x) that depends on Java 7 and Tomcat 7. The error you’ve encountered (although it’s not present in the log) basically says that v0.8.x is not compatible with the dependencies you have installed i.e. Java 8, Tomcat 9.

Solution

The good news is that you just need to download and deploy the latest unofficial release.

Backstory

About 6 months ago we finished development on a version of OpenBoxes (0.9.x) that depends on Java 8 and Tomcat 8 or 9. I am in the process of rewriting all of our documentation for an official 0.9.x release. Once that is complete, we’ll update docs.openboxes.com and officially publish the latest 0.9.x WAR to the releases page.

Back to the Solution

Until then, you are welcome to use a stable 0.9.2 release candidate, which should be officially released next week.

Disclaimer

Please DO NOT deploy 0.9.x to your system if you are currently using a version of 0.8.x. We will publish a migration guide (due next week) that will provide step-by-step instructions for upgrading from 0.8.x to 0.9.x either on a new VM (recommended) or an existing VM (not recommended).

Ignoring this warning may lead to significant frustration. Other symptoms may include data loss, anxiety, and nausea. Please always backup your database before performing upgrades.

Lastly, OpenBoxes will be providing a paid upgrade service for users who aren’t comfortable performing the migration themselves or who encounter issues during the migration process.

To deploy the unofficial 0.9.x version of the application to your environment

  1. Stop Tomcat 9
  2. Delete webapps/openboxes.war
  3. Go to our release build plan OpenBoxes - ☆ obnavstage ← release 161: Artifacts - PIH Bamboo
  4. Download the Latest WAR artifact
  5. Copy this file (openboxes.war) to webapps
  6. Start Tomcat 9
  7. Profit

Love,

OpenBoxes Support

@jmiranda
Thanks a lot for the quick replay by following your steps the app worked but ran into an issue with the rcaptcha issue, which i guess can be solved by adding

openboxes.signup.recaptcha.enabled = false

if not let me know what steps to be taken as i am working on new setup using Ubuntu server 22.04 i was wondering if i can use MySQL 8 or MariaDB 10 there are lots of challenges when switching operating system.

NOTE:
few personal words
i really appreciate the way you answer its so cool and i was reading your post for other users as well thanks again and its a great community

Hi,
I am able to set up in ubuntu 18.04, java 8, tomcat 9.0.91, mysql 5.7.42.
but i tried with Ubuntu 22.04, java 8, tomcat 9.0.91, mysql 8 this didt work
i used the unofficial package you shared above.

let be know if there is any extra step needed to be done

Thanks

but ran into an issue with the rcaptcha issue, which i guess can be solved by adding

Can you include a stacktrace and/or screenshot with demonstrating the issue?

which i guess can be solved by adding

  openboxes.signup.recaptcha.enabled = false

Yes, that seems like the right approach. I’m just surprised you need to do that. It should be disabled by default. I’ll check the config on our production servers to see if they explicitly set that config property. If it’s not set to false by default then that would be a bug, so I’ll create a ticket for that when I get a chance.

if not let me know what steps to be taken as i am working on new setup using Ubuntu server 22.04 i was wondering if i can use MySQL 8 or MariaDB 10

I should have a beta version of these instructions published to docs.openboxes.com by the end of the week. I have installed on Ubuntu 22.04 with both MySQL 8 and MariaDB 10. If you’re encountering a specific issue, post the stracktrace here.

i really appreciate the way you answer its so cool and i was reading your post for other users as well thanks again and its a great community

Thank you for the kind words. I really appreciate it.

There’s one issue that I’m aware of with MySQL 8 …

The solution is to ensure you follow the installation instructions carefully, creating the database with the correct charset i.e. utf8 (which currently defaults to utf8mb3 in MySQL 8).

In the future, we may need to change the instructions to explicitly use utf8mb3 explicitly OR figure out a way to trim the index key size.

i used the unofficial package you shared above.

That’s fine for Ubuntu 18.04, but for OpenBoxes 0.9.x on Ubuntu 22.04 you should use the official packages.

Thanks for the update and i will post the screen shots as soon as i finish the testing

Thanks