Install Mango on DigitalOcean
-
Hi all,
I'm using Mango to monitor power usage of my apartment and my house. In the past, I installed Mango on my Windows PC but recently I decided to try it on Ubuntu.
I followed the instruction and successfully installed Mango on Ubuntu 18.04 on a virtual machine, running on my Windows PC easily like installing AdoptOpenJDK, execute the install script, answer some questions and everything goes very well.
Now I tried to install the software on Ubuntu 18.04 with same step but after starting the command "systemctl start mango" I still cannot access the webpage at all. Is there anything I can test to find out the problem?mango@mango-alpha:~$ systemctl status mango ◠mango.service - Mango Automation Loaded: loaded (/opt/mango/overrides/mango.service; enabled; vendor preset: e Active: active (running) since Mon 2020-06-29 22:42:28 +07; 5s ago Process: 26159 ExecStart=/opt/mango/bin/start-mango.sh (code=exited, status=0/ Main PID: 26169 (java) Tasks: 14 (limit: 2361) CGroup: /system.slice/mango.service └─26169 /usr/lib/jvm/adoptopenjdk-14-hotspot-amd64/bin/java -server - Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: /opt/mango/bin/start-mango.sh Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: MA_HOME is /opt/mango Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: Starting Mango Automation Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: Mango Automation started with lines 1-13/13 (END)...skipping... ◠mango.service - Mango Automation Loaded: loaded (/opt/mango/overrides/mango.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-29 22:42:28 +07; 5s ago Process: 26159 ExecStart=/opt/mango/bin/start-mango.sh (code=exited, status=0/SUCCESS) Main PID: 26169 (java) Tasks: 14 (limit: 2361) CGroup: /system.slice/mango.service └─26169 /usr/lib/jvm/adoptopenjdk-14-hotspot-amd64/bin/java -server -Dma.home=/opt/mango com.serotonin.m2m2.Main Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: /opt/mango/bin/start-mango.sh: 11: /opt/mango/bin/start-mango.sh: dirname: Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: MA_HOME is /opt/mango Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: Starting Mango Automation Jun 29 22:42:28 mango-alpha start-mango.sh[26159]: Mango Automation started with process ID: 26169
-
"I still cannot access the webpage at all"
Please provide exact details regarding this:
Are you trying to access http://localhost:8080 or just http://localhost ?
Are there any errors in your ma.log file ?
I normally runtail -f /opt/mango/logs/ma.log
after I start the service until I am able to log in.Edit:
Have you opened ports etc on the digital ocean portal ? -
@craigweb said in Install Mango on DigitalOcean:
tail -f /opt/mango/logs/ma.log
Thank you for your reply. I always try localhost:8080. I also try your command and there is something wrong so the software was terminated.
mango@mango-alpha:~$ tail -f /opt/mango/logs/ma.log INFO 2020-06-29T23:22:13,491 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'twilio', v3.7.0 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,498 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'pointLinks', v3.7.1 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,504 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'graphicalViews', v3.7.0 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,509 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'mangoNoSqlDatabase', v3.7.1 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,518 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'egauge', v3.7.0 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,522 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'vmstat', v3.7.0 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,527 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'Haystack', v3.7.0 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,533 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'cloudConnect', v3.7.1 by Infinite Automation Systems Inc. INFO 2020-06-29T23:22:13,535 (com.serotonin.m2m2.util.DocumentationManifest.parseManifestFile:60) - Documentation manifest file not found: /opt/mango/web/modules/cloudConnect/web/dox/manifest.xml INFO 2020-06-29T23:22:13,539 (com.serotonin.m2m2.Main.loadModules:650) - Loading module 'internal', v3.7.0 by Infinite Automation Systems Inc. ERROR 2020-06-29T23:22:15,747 (com.serotonin.m2m2.Main.main:162) - Error during initialization java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:443 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.server.Server.doStart(Server.java:385) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) ~[jetty-util-9.4.23.v20191118.jar:9.4.23.v20191118] at com.serotonin.m2m2.Lifecycle.webServerInitialize(Lifecycle.java:1042) ~[ma-priv-3.7.7.jar:?] at com.serotonin.m2m2.Lifecycle.initialize(Lifecycle.java:221) ~[ma-priv-3.7.7.jar:?] at com.serotonin.m2m2.Main.main(Main.java:159) ~[ma-priv-3.7.7.jar:?] Caused by: java.net.BindException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[?:?] at sun.nio.ch.Net.bind(Net.java:479) ~[?:?] at sun.nio.ch.Net.bind(Net.java:468) ~[?:?] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:220) ~[?:?] at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:88) ~[?:?] at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342) ~[jetty-server-9.4.23.v20191118.jar:9.4.23.v20191118] ... 9 more INFO 2020-06-29T23:22:15,747 (com.serotonin.m2m2.Lifecycle.terminate:400) - Mango Lifecycle terminating... ERROR 2020-06-29T23:22:15,782 (com.serotonin.m2m2.Lifecycle.terminate:478) - com.serotonin.provider.InputStreamEPollProvider com.serotonin.provider.ProviderNotFoundException: com.serotonin.provider.InputStreamEPollProvider at com.serotonin.provider.Providers.get(Providers.java:30) ~[mango-3.7.7.jar:?] at com.serotonin.provider.Providers.get(Providers.java:20) ~[mango-3.7.7.jar:?] at com.serotonin.m2m2.Lifecycle.terminate(Lifecycle.java:473) ~[ma-priv-3.7.7.jar:?] at com.serotonin.m2m2.Main.main(Main.java:163) ~[ma-priv-3.7.7.jar:?] ERROR 2020-06-29T23:22:15,782 (com.serotonin.m2m2.Lifecycle.terminate:486) - com.serotonin.provider.ProcessEPollProvider com.serotonin.provider.ProviderNotFoundException: com.serotonin.provider.ProcessEPollProvider at com.serotonin.provider.Providers.get(Providers.java:30) ~[mango-3.7.7.jar:?] at com.serotonin.provider.Providers.get(Providers.java:20) ~[mango-3.7.7.jar:?] at com.serotonin.m2m2.Lifecycle.terminate(Lifecycle.java:481) ~[ma-priv-3.7.7.jar:?] at com.serotonin.m2m2.Main.main(Main.java:163) ~[ma-priv-3.7.7.jar:?] INFO 2020-06-29T23:22:15,783 (com.serotonin.m2m2.Lifecycle.terminate:550) - Mango Lifecycle terminated.
-
you need root privileges to bind to ports below 1024. Since this is on digital ocean you would not want that. You should leave it on port 8433 and setup some persistent IP tables.
Check out these links:
https://o7planning.org/en/11363/redirecting-port-80-443-on-ubuntu-server-using-iptables
https://www.digitalocean.com/community/tutorials/iptables-essentials-common-firewall-rules-and-commands