Standalone Install on Headless Debian

Hi Team!

I am new to the community, I’ll try not to be too needy :stuck_out_tongue_winking_eye:

I am trying to run the Reference Application 2.10.0, Standalone Edition on a stock Debian instance at Google Cloud Platform. I downloaded and unzipped referenceapplication-standalone-2.10.0.zip.

The machine has no monitor so I run:

java -jar openmrs-standalone.jar -commandline

I see a ton of java messages on the console, tracebacks - I am not an experienced java developer but am psyched to learn :).

tail looks like:

<blockquotcaused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.openmrs.module.appframework.service.AppFrameworkServic e] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.f actory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1308) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1054) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.jav a:533) … 30 more May 14, 2020 8:14:49 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler [“http-bio-8081”] [Running - Tomcat Port:8081 MySQL Port:3316] Type: exit - to quit, stop - to stop the server, browser - to launch a new browser instance.

Tomcat seems to be running though when I point a browser at 8081 I get 404s for any pages I try like / or /openMRS

What is the best way for me to debug further?

Any help is very much appreciated.

In the extracted standalone folder, copy the contents of the log file from /tomcat/logs and paste them at pastebin.com

Hi Daniel!

the log file is quite large, here is more of the tail of it:

https://pastebin.com/enxbSJYs

Run it again using Java 8

Hi Daniel and team, I built a new instance and took the time to learn about installing different java versions. I see:

carty@openmrs:~/openmrs$ java -version java version “1.8.0_251” Java™ SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot™ 64-Bit Server VM (build 25.251-b08, mixed mode)

openmrs startup is much cleaner now, seems to be mostly warnings, here’s the beginning of the log file: https://pastebin.com/hWMzYm6K

here’s the end of the log file: https://pastebin.com/R5YDhxfZ

When I go to 8081 there is a web server but I get 404s for say / or /openmrs

there don’t appear to me e.g. firewall issues, I can talk to the web server at 8081 with telnet and I see the same 404s.

I will keep debugging, any advice appreciated.

Hi team,

I am still having trouble with my install.

To back up a bit … my goal is to have reference app and back end running on an instance at google cloud platform. I suspect we’ll primarily use the API but I’d love to able to run the reference front end to lean the app and data model.

I think we’re an ideal candidate for the stanadalone app edition, I downloaded: referenceapplication-standalone-2.10.0.zip

Here is perhaps the catch, I’d really like to be running a recent server config as I’ll be running other stuff and would love to avoid hellish version conflicts.

The current GCP stock Debian release e.g. is 10 (Buster) the standard java install is 11. I was unable to get the install running, Daniel was kind enough to suggest I try java 8. I tried that, the log is cleaner, but I still see no pages at port 8081, although I do get 404s server seems to be running.

tomcat log file from the java 8 run is too big for pastebin, one can download it here: https://cloud.google.com/storage/docs/access-public-data/itsmyhealth-public/2020-5-16.log

I can telnet to port 8081, tomcat responds, but gives me 404s for any pages.

I have very little tomcat experience, I am happy to learn anything. If I recall “real” tomcat has a management console at 8080, I did not see that.

Would it be a useful exercise to install “real” tomcat and feed it the openmrs-standalone.war in /openmrs/tomcat/webapps?

If so I’d really like to use current versions of java and tomcat, does that make sense? If I run into issues I am happy to stick with it and report bugs if it would be helpful. Also I promise if we get me up and running I will help update the wiki, maybe start a cloud install section?

I really really appreciate your help team,

-Carty

If you want to use the current version of Java, then you would need to use the snapshot version of the OpenMRS platform. Major Spring, Hibernate upgrade, and support for latest Java

oh very cool, on it

openmrs.war built 5/17 loaded fine on Debian 10/openJDK 11/Tomcat 9 which is the current defaults for Buster, awesome, thank you Daniel

I’d like to be useful updating the wiki with regard to install stuff, what is the best way to proceed? Start a thread in slack with proposed changes? Something more formal?

@carty i like your attitude of immediately getting involved to improve our documentation. :smile:

No need to be formal in any way. Just go ahead and update the wiki pages. They are watched and hence automatically reviewed by the community.