EMX Local 4.0 Installation Guide - Ubuntu 24.04
Requirements
Energy monitoring systems produce a high volume of data. It is important that the server EMX will be deployed on is sized correctly for this type of workload. In particular, the application's performance is heavily dependent on access to sufficient memory and the use of high-speed disk.
General Guidelines
Monitoring Units | Gateways | Processor Cores | Memory (GB) | Disk Space (GB) |
---|---|---|---|---|
< 100 | 1 - 2 | 2 | 4 to 8 | 250 |
100 to 500 | 2 - 5 | 4 | 8 to 16 | 500 |
500 to 5,000 | 5 - 50 | 8 | 16 to 64 | 1000+ |
For deployments over 5,000 monitoring units, please contact Packet Power support for sizing assistance.
Disk drives
The storage subsystem should:
be implemented in RAID 10 across multiple disks
consist of high throughput (10,000 RPM or solid state) drives, with solid state being HEAVILY recommended.
Server platform
Supported environments
Bare metal
Commercial-grade virtualization platforms such as:
HyperV
KVM
OpenStack
VMWare ESX
VMWare vSphere
Xen
Unsupported virtualization platforms:
VirtualBox
Virtual PC
VMWare Player
VMWare Fusion
Open VZ
Parallels
Server OS
Ubuntu Linux 22.04
Ubuntu Linux 24.04
Red Hat Enterprise Linux (RHEL) 9
CentOS 9
Oracle Linux 9
Browsers
N-2 for Chrome, Firefox and MSFT (Edge and IE)
Network connectivity
Between servers: 100Mbit - 1Gbit
Gateways/HUBs to server: 10 Mbit - 1Gbit
Installation
Note: All listed commands should be run by the root user unless otherwise specified.
System Configuration
Start by setting the system timezone to UTC.
CODE
|
Third-Party Software Repositories
Node.js
CODE
|
Third-Party Software Installation
Node.js + Erlang + LAMP
Package Installation
The Ubuntu 24.04 repositories contain PHP 8.3, but 8.1 will need to be installed. All PHP packages in the installation command should be prefixed with php8.1-.
CODE
|
Mosquitto
sudo apt update
sudo apt install -y mosquitto
Third-Party Software Configuration
PHP
Configure PHP timezone
CODE
|
Install IonCube Loader
CODE
|
Enable PHP extensions
CODE
|
MySQL
Install MySQL
CODE
|
Configure User Access
CODE
|
Apache
Configure Apache sites
CODE
|
Restart Apache
CODE
|
PM2
CODE
|
Packet Power Software Installation
EMX/OPX3
Install OPX3 Package
CODE
|
Install EMX Package
CODE
|
Start OPX processes
CODE
|
(Optional) Update Support Files
Note: the support files directory is hard-coded to /public/support_files
, though it should be possible to symlink it to another location if necessary. It contains node firmware files that can be sent remotely to gateways in order to broadcast updates over the mesh network.
CODE
|
EMX Web Installer
Finally, complete the setup by navigating a browser to the IP address of the EMX server. You will be greeted with a setup screen, which will prompt you for the following information:
MySQL credentials
Mosquitto configuration (used by OPX3)
The following is the default mosquitto configuration:
Hostname: 127.0.0.1 (or the IPv4 address of the appropriate server)
Username: blank
Password: blank
Port: 1883
(Optional) The SMTP server credentials to be used for alerting capabilities