Installation Configuration

How to configure Mango

July 9th, 2021


mango.properties file

Most of your common installation options can be edited in the mango.properties file. Open this file with any text editor to modify it's contents

The "#" character at the front of a line means the line is commented out and only used as text.

NOTE: With the release of Mango 4.0.0 some of the variable names have changed. Below is a table showing these changes.

New Environment Variable Legacy Environment Variable Description Default
mango_paths_home MA_HOME The Mango installation directory. It is usually not necessary to manually. Auto-determined by where the code is running fromspecify this.
mango_paths_data N/A Path to the directory where Mango will store its variable data. $mango_paths_home
mango_config MA_ENV_PROPERTIES Path to mango.properties configuration file (previously env.properties) $mango_paths_data/mango.properties

The paths which Mango will now look for its configuration file are -

  1. $mango_config

  2. $MA_ENV_PROPERTIES (legacy environment variable)

  3. $mango_paths_data/mango.properties

  4. $mango_paths_data/env.properties

  5. /mango.properties ( is the Mango user’s home directory, also supported on Windows)

  6. $mango_paths_home/env.properties (legacy location)

  7. $mango_paths_home/overrides/properties/env.properties (legacy location)

If the file does not exist at any of these locations the file will be created (with all lines commented out) at one of the following locations -

  1. $mango_config (if environment variable is set)

  2. $MA_ENV_PROPERTIES (if environment variable is set)

  3. $mango_paths_data/mango.properties (if mango_paths_data environment variable is set)

  4. ~/mango.properties (if user has a home directory)

  5. Finally fail with an error message


Web Port Settings

By default the web port is 8080 but you can change it here before starting Mango.

# The port at which Mango Automation will listen for browser connections
web.port=8080
# The host interface to which Mango Automation will bind and listen for
new connections
#  0.0.0.0 is the special interface that will force a bind to all
available interfaces web.host=0.0.0.0

SSL Settings

# SSL control
ssl.on=false
ssl.port=8443
ssl.keystore.location=/location/to/keystore/file.jks
ssl.keystore.password=changeit
ssl.key.password=changeit

Server Configuration for SSL

Generate a keystore:

  • Navigate to your /jdk home/bin/keytool.exe file (your operating system may differ! Sometimes ../lib/security/keytool)

Note: “changeit” is the default password for the java keystore

Run command:

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 365 -keysize 1024
  1. ANSWER SUBSEQUENT QUESTIONS
  2. What is your first and last name?
  3. What is the name of your organizational unit?
  4. What is the name of your organization?
  5. What is the name of your City or Locality?
  6. What is the name of your State or Province?
  7. What is the two-letter country code for this unit?
  8. Keep key password the same as the keystore password (do not enter another password).
  9. Point Mango to the keystore.
  10. Move keystore.jks (created in the same folder as the keystore executable) to your /mango home/overrides directory.
  11. Edit mango.properties in /mango home/overrides/properties under the section ìSSL controlî to have the following lines: - ssl.on=true - ssl.port=443 (or another available port) - ssl.keystore.location=[YOUR FULL MANGO PATH HERE]/overrides/keystore.jks - ssl.keystore.password=[PASSWORD FROM 1B HERE]
  12. Start Mango
  13. Access your instance now at https://[YOUR URL HERE]

Example Settings for Windows computers: ssl.keystore.location=C:/Mango/overrides/properties/keystore.jks


Database Settings

There are 3 main types of databases that Mango can use: H2 (default), Derby (legacy systems), and MySQL for larger systems.

You can easily set the desired database by commenting out the setting of the database you do not want with a # and un-commenting the database settings you want to use.

H2

# Default database settings, NOTE that on windows this must be an absolute path
db.type=h2
db.url=jdbc:h2:${ma.home}/databases/mah2
db.location=${ma.home}/databases/mah2
db.port=8081
db.username=
db.password=
#For web console
db.web.start=false
db.web.port=8091

Derby

Technically Mango still supports the use of a Derby Database but it's not recommended. If you have an old system you can upgrade your Derby database to either H2 or MySQL and receive a lot of benefits. See the Database Conversion page.

MySQL

To use MySQL as your default database you must first create a blank database/schema and a user with full permissions to the database. Comment out the H2 and/or Derby sections in the mango.properties file. Fill in your url, username, and passwords. Mango will create all the tables and indexes it needs on startup.

# MySQL database settings. Your MySQL instance must already be running and configured before this can be used.
db.type=mysql
db.url=jdbc:mysql://localhost/<your mysql schema name>
db.username=<your mysql username>
db.password=<your mysql password>

Copyright © 2024 Radix IoT, LLC.