Skip to main content
Skip table of contents

Automatic Update - Linux

The Navixy platform update process typically consists of three parts: updating the database, updating Java service files, and updating web service files. It is important to follow the update instruction carefully and make sure that each part of the update is completed successfully, and no errors are encountered along the way.

If any errors or other difficulties occur during the update process, please contact Navixy technical support immediately. Started and incomplete upgrades may cause the platform to malfunction or become unavailable.

Checking prerequisites

Before installing, please make sure that your system meets the following prerequisites:

  1. Java Development Kit 17 
    Starting from April 2022, the platform deprecated version 11.

  2. MySQL 8.0 
    Starting from March 2024, the platform deprecated MySQL 5.7. This version reached its EOL and is no longer supported.

Non-compliance with the required software will result in the new version of the platform being unable to start. However, a preliminary update of prerequisites will keep the platform functional.

Beginning of the update

Extract a platform distribution package received from Navixy, typically it is a .tar.gz file.

CODE
tar -zxvf $PACKAGENAME

(where $PACKAGENAME is the name of tar.gz file)

It will be extracted to /navixy-package directory, containing all the platform files in it. Hereinafter this will be the main directory of the distribution.

Automated update

For instances hosted on Linux servers, an automated update solution is available. It is strongly recommended to use the update.sh script. It performs a step-by-step update of the database and application files, and you do not need to make any internal operations manually.

Run the update.sh script from the /navixy-package directory. If your platform is hosted on two servers, run the script on the application server (where Java services run).

CODE
root@server:/home/navixy-package# ./update.sh

The script will start with a database update. If the database is on a separate server, the script will take the connection data from the Java services' configuration.

After the database update (which may take a while), the script will update the platform system files.

If your instance hasn't been updated in a while, you may see the following message during the update:

It seems Navixy services is not under systemd control. Do you want to create systemd services (runit services will be removed)? (y/n)

It is recommended that you answer affirmatively. The point is that we deprecated runit method of starting services, and now use systemd for this purpose. The script will do everything for you. However, if you answer no for some reason, it will not crash the system, and runit will keep working. You can switch to systemd on the next update.

Database update (optional)

You can perform database upgdate separately from the rest of the platform if needed. To do this, run the update-db.sh script from the /navixy-package directory. This can be done either on the database server (localhost) or from another server, specifying the host address. After running the script, you will see the following dialog:

CODE
Enter mysql host [localhost]:
Enter mysql port [3306]:
Enter mysql user name [root]:
Updating Navixy db..
Enter password:

Default parameters are shown in square brackets. If they are the same as the actual ones (update is made within database server), you do not need to input anything - just press Enter. If you want to specify a different host, a custom port, or a different user, fill the appropriate parameters.

If anything is not working properly after the update, try restarting the platform services using restart-navixy script. Additionally, clear your browser data, or check the issues in incognito mode.


Manual update

Automated update of a platform deployed on Linux is a proven working solution and it is highly recommended to use it. Therefore, the following information is for your information only, and for cases of special non-standard installations.

Database update

Open navixy-package/db directory and execute updates.sql file with the following command:

CODE
mysql -uroot -p$ROOTPASSWORD google < updates.sql

(where $ROOTPASSWORD is MySQL root password)

Delete updates.sql and google.sql from db folder.

This must be done not to override the database on the next step.

CODE
rm updates.sql
rm google.sql

Make sure these files are removed, and then execute all the other sql files.

CODE
cat *.sql | mysql -uroot -p$ROOTPASSWORD google

Java services update

Updating the Java services simply means replacing the files in the service directories under /home/java. These directories are:

  • api-server

  • sms-server

  • tcp-server

Find the corresponding directories in navixy-package. You need to replace all the files except config.properties and db.properties in the conf folders. Compare the existing config.properties files with the ones from new distributive. If you see any new parameters - add them to the existing config.

Web services update

Proceed to /var/www directory. Replace all files in panel-v2 and pro-ui directories with files from the corresponding directories of the distribution package. This will not corrupt any settings, as the configuration files in the package are named as example, and will not overwrite the existing ones.

Compare these files:

  • panel-v2/Config.js,

  • pro-ui/PConfig.js

  • pro-ui/static/app_config.js

with the examples in distribution package.

If you see any new parameters, add them.

Final steps

Restart Navixy java services. Typically this is done by this command:

CODE
restart-navixy

Verify that the services have restarted successfully and are running for at least one minute. This indicates that the update process is complete.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.