We now have a simplified way of installing the LIPI indoor positioning software using our new CLI Tool. This is a comprehensive document and is divided into 5 parts as shown below.
...
Note: To install LIPI for DNA Spaces please refer to https://mazemap.atlassian.net/wiki/spaces/MCSH/pages/981762065/HOW+TO+INSTALL+THE+NEW+AND+IMPROVED+LIPI+for+DNA+Spaces
PREREQUISITES for the LIPI Installation
Requirements for the LIPI server
Can be virtual or physical, does not matter.
No OVA currently available, one of the supported OSes needs to be installed.
Supported Operating systems: Newest stable Ubuntu or Debian.
Server/Virtual Machine(VM) specs: Tested to work with single Core VM with 3.5 GB Ram and 7 GB HDD.
Requirements for the network
Open port 443 from LIPI server to CMX (https for API).
Open port 443 from all wireless clients to LIPI (https for position requests).
Traffic from Wireless Clients to LIPI must not pass through NAT.
Requirements for the CMX
If the lipi is to be configured to use DNA-Spaces (MazeMap Cloud Positioning) then ignore this part of the doc
...
You will be asked to type in a username and password for the user - use the same username and password as you used for the GUI user.
Dependencies
In order to upgrade the LIPI you will need the following:
SSH access to the LIPI server.
Access to CMX GUI (browser) and CLI (terminal).
A device that is connected to the WiFi network that is used for positioning purposes. This requires you being on site at the campus and using public wifi network
Pre-installed java in the server openjdk-8-jre-headless
Access to Map Editor in MazeMap https://admin.mazemap.com/
LIPI 4.0.2 software update tool that can be downloaded from here: https://storage.mazemap.com/lipi/latest/lipi
Information the customer has to send to MazeMap
Private IP-address of the LIPI server (The one WiFi clients will connect to the LIPI with; in IPv4 or IPv6 formats). Used to set up DNS Record showing domain name *.mazepos.com
Public IP address/es range/s for all WIFI-clients (the NAT-devices' IP-address if in use). Used for network configuration setup
CMX Software version (we only support version 10.2 or later versions)
Now we are ready to Install the LIPI
Table of Contents | ||
---|---|---|
|
I. Installing the LIPI CLI Tool
Download the CLI Tool
Code Block |
---|
wget -O lipi https://storage.mazemap.com/lipi/latest/lipi |
...
Code Block |
---|
Saving config: OK Installing cron: OK Setup complete |
II. Usage commands
Download and install latest LIPI
(requires MazeMap API key and internet access)
...
Code Block |
---|
... Waiting for LIPI to start (up to 30 sec): ....OK Saving config: OK |
Run status check
Code Block | ||
---|---|---|
| ||
lipi --status |
...
Code Block |
---|
Checking lipi installation... OK Running shallow health checks... OK Running deep health checks... OK Status: healthy ... |
Run status check, and report to MazeMap
(requires MazeMap API key and internet access)
Code Block | ||
---|---|---|
| ||
lipi --status report |
List available LIPI versions
(requires MazeMap API key and internet access)
Code Block | ||
---|---|---|
| ||
lipi --list-available |
Download and install specific version of LIPI
(requires MazeMap API key and internet access)
Code Block | ||
---|---|---|
| ||
lipi --install 1.0.1 |
Install from local source
Code Block | ||
---|---|---|
| ||
lipi \ --install 1.0.1 \ --lipi-path /path/to/lipi.zip \ --config-path /path/to/config.json |
Install from MazeMap, using custom configuration file
Code Block | ||
---|---|---|
| ||
lipi \ --install latest \ --config-path /path/to/config.json |
Update config of running LIPI
(requires MazeMap API key and internet access)
Code Block | ||
---|---|---|
| ||
lipi --update-config |
Update config of running LIPI, using custom configuration file
(requires mazemap API key and internet access)
Code Block | ||
---|---|---|
| ||
lipi --update-config \ --config-path /path/to/config.json |
List installed LIPI versions and see which one is active
Code Block | ||
---|---|---|
| ||
lipi --list |
Activate a previous installation
Code Block | ||
---|---|---|
| ||
lipi --activate [copy and paste a value from the list of installed versions] |
Reconfigure running LIPI
Reinitialize the current configuration with new variables.
Code Block | ||
---|---|---|
| ||
lipi --reconfigure |
III. What happens during install and updating?
If the MazeMap API key is set, the tool can download new versions of lipi and
the configuration file from MazeMap servers.After running initial
--setup
, the tool will install a cron task which regularly
runs the commandlipi --status report
. This will send lipi health data to MazeMap
on a regular basis so that we can provide a better level of service to you. This is
only installed if the MazeMap API Key is set during setup. If this is not installed
we can not help debugging an installation, and we will not be able to help users
if they have trouble accessing the LIPI service. See Run status check, and report to MazeMap
to see what is reported to MazeMap.When installing a new version of LIPI, the update tool will prefer to use the
configuration files of the currently running LIPI version. This can be overridden
using the--config-path
flag or by running--update-config
before running--install
.Every
--install
and--update-config
creates a new installation version. This
is done to allow switching between new and previous installations or configurations
at will. If something goes wrong, a previous version can be activated using--activate
. The installation or update process will activate the previous version
if the new version can't be started or seem unresponsive (if--status
does not
show a fully healthy installation).
Manual fixing:
--setup
stored values in a fileparams.txt
. Running--setup
again will overwrite it.A LIPI service has a
config.json
in its installation folder, which can be copied,
edited and used using--config-path
, if needed.The folders under LIPI installation path are self contained and can be deleted at will.
Just make sure to not delete the running version. Use--list
or--status
to see which
version is running.LIPI is started using systemctl. Status and control of that service is available.
systemctl [status|start|stop|restart] lipi.service
.
IV. Summary of the Common CLI Commands
This summary contains commands that are useful when setting up the LIPI server.
...