This guide describes Navixy On-Premise platform installation using automated scripts.
This type of installation is designed for and supported only on Ubuntu 20 and 22.
First, you need to have the following before you start the installation:
- A server (or servers) meeting all the hardware requirements
- Registered domain names that you will use for your Navixy instance
- Navixy platform package obtained from Navixy team (typically from tech support or your account manager)
- License key, normally provided along with the platform build
If you are performing the automatic installation, you do not actually need to care about the software pre-requisites, as they will be installed and configured along with the platform.
Basic installation
The following steps depend on whether you are going to have an all-in-one server (small instance) or the instance with the separate servers for the application and the database (big instance with over 1000 devices).
Please select a tab corresponding to your installation type.
First, unpack the platform build you received from the Navixy team. This is usually a tar.gz archive. Go to the directory with the archive and run the following command for unpacking it (of course replace PACKAGE_NAME
with the actual file name):
tar -zxvf PACKAGE_NAME.tar.gz
The archive will be extracted to navixy-package directory.
Then, open this directory and run the install.sh script from it.
./install.sh
You will be asked to select the server role for further deployment.
You need to select Single server - all services in one server.
Be careful not to click other options as they are supposed to be used for two-server deployment.

The script will begin with a system and software check.
You will see that the software is being installed, including Java and MySQL.
You will see a request to restart MySQL, confirm this by entering 1
. Next, you will be asked to confirm databases initialization, answer positive again by entering y
.

MySQL will ask you to specify the root password. It is not mandatory for the platform so you can leave it blank. If you specify any, be sure to rememder it.
Next, the script will create databases and the DB user navixy with random password. This will be the main user for the platform services to interact with the database. However, you do not need to remember its password as it will be automatically inserted into the configuration files. After this is done, the script will populate the database with system tables.

After the database initialization, the script will do the following:
- Create user for Java services (backend)
- Make the Java services directories and populate them with the required files
- Copy and configure web components (frontend)
- Copy runit scripts required for running Java services
- Configure Java services

At this point, the basic platform installation is complete.
Now, you need to perform the platform configuration using the ./configure.sh script.
First, you need the platform build received from the Navixy team. This is usually a tar.gz archive. Upload and unpack the archive to both servers.
To perform unpacking, go to the directory with the archive and run the following command (of course replace PACKAGE_NAME
with the actual file name):
tar -zxvf PACKAGE_NAME.tar.gz
The archive will be extracted to navixy-package directory.
The following installation must be done first on the database server and second on the application server.
Database server
Open navixy-package directory and run the install.sh script from it.
./install.sh
You will be asked to select the server role for further deployment.
Select #2 SQL server.

The script will begin with a system and software check. You will see that MySQL is being installed and configured.
You will see a request to restart MySQL, confirm this by entering 1
. Next, you will be asked to confirm databases initialization, answer positive again by entering y
.

MySQL will ask you to specify the root password. It is not mandatory for the platform so you can leave it blank. If you specify any, be sure to remember it.
Next, the script will create databases and the DB user navixy with random password. This will be the main user for the platform services to interact with the database.

The script will then populate the database with system tables.
After the database initialization, you will see the following information regarding the database server:
- Username: navixy - this is the DB user specified in system configs for the database interaction.
- Password: random - the password for navixy user.
- IP address: your DB server actual address.

Be sure to save these values, as you will need them during the application server installation.
Application server
Open navixy-package directory and run the install.sh script from it.
./install.sh
You will be asked to select the server role for further deployment.
Select #3 Application server.

The script will download and install Java, Nginx and other pre-requisites to run the platform. This will be done automatically and does not require your attention.
After all the pre-requisites are installed, the script will ask you for SQL server user password. This is navixy user password that you obtained after installing the database. Use Shift+Insert
to paste it from the clipboard.

You will then be prompted for the IP address of your database server. Enter it.

The script will make sure that the IP is valid.
You will then be asked to confirm the platform installation on your server.
Do this by typing y
and pressing Enter
.

the script will do the following:
- Create user for Java services (backend)
- Make the Java services directories and populate them with the required files
- Copy and configure web components (frontend)
- Copy runit scripts required for running Java services
- Configure Java services
At this point, the basic platform installation is complete.
Now, you need to perform the platform configuration using the ./configure.sh script.
Configuration wizard
After you run the ./configure.sh script, you will see the configuration wizard menu:

At this stage, you need to perform the basic configuration to run the system correctly. To do this, you will need to do the following:
- Specify domain names;
- Apply the license key;
- Install certificates for domains.
Domain names
First of all, you need to configure domain names. They are crucial to the system, since they are specified in almost all configuration files.
By this time, you should have registered third-level domains for API service, admin panel and user interface.
Select #1 Domain name settings in the configuration wizard.
You will see the only option #1 Change domain names, select it.

You will be offered to configure the base domain name.
Here you need to specify your second-level domain. In our example it is mywebsite.com.

After that, you need to sequentially specify domain names for API, admin panel and user interface. Be careful - here you specify only third-level domain names, without specifying the second and top levels.



Once all domains are specified, the wizard will show you the results of your configuration.

If you see that any of the domains are specified incorrectly, you can run the wizard again to specify the correct values.
License key
You receive the license key (fingerprint) from Navixy team.
Select the option #5 License key settings in the configuration menu.
The wizard will show you two options:

Select #1 Change license key.
You will see a warning not to change the key for no reason. Press OK to proceed.

Next, you will be offered to input the license key.
Since a license key is a bunch of different characters, it can be quite difficult to enter manually. If you are using an SSH client to connect to the server, you can paste the key from a clipboard. To do this, use Shift+Insert
combination. Alternatively, you can hold Shift
and use mouse right click
.

After the key is applied, you will be offered to restart the platform services. Do it by entering the following command:
restart-navixy
It will restart the platform Java services (backend), and after this the license check will be initialized.
SSL certificates
The platform during the automatic installation is initially configured to use HTTPS in all URLs. Therefore, once the platform is deployed, you need to install SSL-certificates for your domains.
Run the configuration wizard and select #8 SSL certificate settings.

The next menu will contain a single option - install SSL certificates. Proceed with this.

You will see a warning that you will need a registered DNS record and a public IP address. Confirm to continue.

The script will ask you whether you are going to use free Letsencrypt SSL certificates, or you want to use your own certificates.
Select Yes to install free auto-prolonged SSL certificates for your domains.

The script will install the software needed to issue the certificate. You will need to accept the terms of service - enter y
.

Next, you will be prompted to select domains for which to install certificates. It is recommended that you do this for all domains at once. To do this, you do not need to specify anything, just leave the field empty and press Enter
.

Certificates are now issued and installed, and your domains are SSL-protected. You no longer need to worry about certificates, as the installed software will automatically renew them.
Installation is done
Now you can login to the admin panel using domain name you have specified during the installation. Default login is 'admin' and password is 'admin'.
To make additional settings, you can again use the configuration wizard and run its other options.
If you have any questions regarding the installation or configuration of the product, please contact Navixy technical support at [email protected]