Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

  • 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
    
    

  • Hi @tungthanh500

    "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 run tail -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