Server software environment
- Debian GNU/Linux Stretch (hereinafter Linux) 64 bit
- Windows Server 2008/2012/2016 (hereinafter Windows) 64 bit
Besides, you will need the following environment (it is all provided under GNU or similar licenses and you do not need to spend money on it):
- Java SE Development Kit (JDK) 11 by Oracle or openjdk-11-jre-headless from debian repos
- MySQL Server version 5.7
- NGINX 1.2 and later (If you wish to use image previews in task forms, nginx must have image filter module)
- Servers (except MySQL server) must have access to the Internet and have static ip address.
- Installation process requires root access (Unix systems) or administrative user (Windows). During the installation of databases engines you need to be granted with MySQL’s root access.
- For HTTP services we recommend to use domain names, e.g. for API – api.domain.tld, for User interface – my.domain.tld and panel.domain.tld for Admin panel. TLD means any top level domain (com, net, edu, etc).
- High-speed and reliable internet connection at least 10 Mbit/s
- Monitoring system that you like. It is not required but recommended
- Recommended filesystem is ext4
- For sending email from localhost you should have got an configured MTA (Mail transfer agent), e.g. Postfix
- It is also possible to send email through another services, e.g. gmail, but in that case email “from” field substitution won’t work
- Service Runit (http://smarden.org/runit/) is used instead standard Unix System V init scrips
The following inbound ports must be opened on the server:
- 80 TCP – HTTP communication
- 443 TCP – HTTPS communication. If you don’t plan to use HTTPS this is not necessary
- 8383 TCP – Websocket, necessary for the GPRS air console
- 4779, 6994, 7669, 7677, 7685, 7761 and ranges 46982-47000 and 47650-47780 TCP/UDP – for tracker communications
In addition the following outbound ports needs to be open:
- Ports 443 and 32233 to auth.navixy.com host – Necessary for license authorization
- Port 123 to public network, or to selected NTP server – For time synchronization (correct time is critical for platform functioning)