Installation and Deployment

From Scada-LTS

Installation and Deployment

SCADA-LTS Installation Manual

Linux

Prerequisites (Linux)

The official Linux installer for SCADA-LTS has been tested on Ubuntu/Mint 18 or newer and prepares the full runtime environment:

  • Java 11 (JDK) – base programming language used by SCADA-LTS.
  • MySQL 8.0 CE – database server for data persistence.
  • MySQL Shell 8.0 – database client.
  • Apache Tomcat 9 – application server.

An active internet connection is required during the first run, because the installer downloads and installs all required components automatically.

> Good Practice: For production environments, use a clean Ubuntu/Mint server and run the installer as a regular user (not root). This keeps file permissions and services easier to manage.

Run SCADA-LTS Linux Installer

Download the Installer

Go to SCADA-LTS Linux Installer Releases and download the latest release archive to the desired folder (for example ~/Downloads).

> Note: The Linux installer is intended to set up a complete SCADA-LTS environment on Ubuntu/Mint systems. For other distributions, the steps are similar, but package installation details may differ.

Extract the Installer

After downloading the archive:

  1. Open a terminal and navigate to the download directory, for example: cd ~/Downloads
  2. Extract the installer archive (file name may differ depending on the version), for example:
  3. unzip linux-installer-1.2.0.zip
  4. Enter the extracted directory:
  5. cd linux-installer-1.2.0

Inside this folder you should see scripts such as mysql_start.sh and tomcat_start.sh.

> Good Practice: Keep the installer directory in a fixed location (for example /opt/scadalts or your home directory). You will use the same scripts later to start SCADA-LTS again after a reboot.

Configure and Start MySQL Server

The first script you must run is the MySQL configuration/start script:

  • In the installer directory, run: ./mysql_start.sh

The script will download and install a local MySQL 8.0 Community Server and then ask for some basic configuration values.

The installer will ask for database configuration parameters such as port, username, and password.

For evaluation purposes, default values can be used. For production, proper database credentials and security settings are required.

After providing the information, wait for a line confirming that the database is ready, similar to:

~/linux-installer-1.2.0/mysql/server/bin/mysqld: ready for connections. Version: '8.0.x' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.

Configure and Start Tomcat

Next, configure and start Apache Tomcat, which serves the SCADA-LTS web application.

  1. Open a second terminal in the same installer directory.
  2. Run the Tomcat start script: ./tomcat_start.sh

The script will ask for Tomcat and database parameters. An example configuration (for development):

  • Enter port: 8080
  • Enter username: tcuser
  • Enter password: tcuser
  • Enter database port: 3306
  • Enter database host: localhost
  • Enter database username: root
  • Enter database password: root

After the script finishes, you should be able to access SCADA-LTS in your web browser at:

  • http://localhost:8080/Scada-LTS

Good Practice:

  • The database values entered here must match those you used for mysql_start.sh (port, host, username, password).
  • Port 8080 is recommended for local installations. If another service is already using port 8080, choose a different free port and remember to use it in the browser URL.

> What is Tomcat?: Apache Tomcat is an open-source Java servlet container and web server that runs Java web applications such as SCADA-LTS.

Common Issues

On some systems you may encounter permission-related errors when running installer scripts.

These issues are typically related to missing execution permissions or environment differences between distributions.

Detailed troubleshooting steps are available in the extended documentation.

See:

Contact us for access scada-lts@abilit.eu

Starting SCADA-LTS After a Reboot

The Linux installer does not automatically create system services. After restarting the system, you need to start the database and Tomcat manually, in the same order as during installation:

  1. In the installer directory, start the installed database:
  2. ./mysql_start.sh
  3. In another terminal (same directory), start the Tomcat server:
  4. ./tomcat_start.sh
  5. Once both processes are running, open http://localhost:8080/Scada-LTS in your browser.


Windows

Install Java (Required)

The base project is written in Java. So, to run SCADA-LTS you need to install the Java Runtime Environment (JRE) or Java Development Kit (JDK). If you don't have Java 11 installed, download the appropriate version here: microsoft-jdk-11.0.18-windows-x64.msi and run the installer.

> Good Practice: When installing Java, ensure you check the option to "Set JAVA_HOME variable" and choose "Will be installed on local hard drive". This ensures that the system correctly references the Java installation in future operations.

Java Installation Screenshot
Java Installation Screenshot

Run SCADA-LTS Installer

Download the Installer

Go to SCADA-LTS Releases and download the latest Beta or Non-Beta standalone installer to the desired folder.

> Note: Beta versions are recommended for development purposes because they include newer features. However, for production environments, it is advised to use the non-beta (stable) release, which is generally more reliable but may not have the latest updates.

Launch the Installer

Run the installer file. If you encounter a Windows Defender SmartScreen pop-up, click on More info and then select Run anyway.

Configure Tomcat

During installation, the installer will ask you to configure Tomcat, which is a servlet container used to run Java-based web applications. SCADA-LTS uses Tomcat as its web server.

> Good Practice: Tomcat typically listens on port 8080, the default HTTP port. If you are using another application on this port or prefer another port, you can change it, but 8080 is recommended for ease of use.  

Example configuration:

  • Tomcat HTTP Port: 8080 (default)
  • Username: tcUser (this will be your Tomcat Manager username)
  • Password: tcUses (this will be your Tomcat Manager password)
Tomcat Configuration Screenshot
Tomcat Configuration Screenshot

> Important: The Tomcat Manager is an interface for managing the Tomcat server, allowing you to deploy, undeploy, and manage web applications. You can set any username and password, but make sure to remember these as they are required for accessing the Tomcat Manager later.

> What is Tomcat?: Apache Tomcat is an open-source Java servlet container that serves as a web server for running Java applications. It supports JavaServer Pages (JSP), Java Servlets, and other web technologies.

> Why Port 8080?: Port 8080 is the default port for HTTP communication with Tomcat. It is used because port 80 is usually reserved for web servers like Apache or Nginx. If 8080 is occupied, you may use a different port.

Configure MySQL Server

The next step is configuring the MySQL Database server, which stores data used by the SCADA-LTS system.

Option 1: Installing Local MySQL Server

If you do not already have MySQL installed, select Install local server, and the installer will set up MySQL for you.

MySQL configuration
Option 2: Using an Existing MySQL Server

If you already have MySQL installed, input the relevant data for your MySQL server.

Example configuration:

  • Port: 3306 (default MySQL port)
  • Host: localhost (the default hostname; use this if MySQL is running on the same machine as SCADA-LTS)
  • Username: root
  • Password: root

> Good Practice: The default MySQL port is 3306, but this can be changed if you're running multiple databases or have other constraints. The host is set to localhost by default, which points to the machine you're currently installing SCADA-LTS on. If your MySQL server is on a different machine, input the correct IP address or hostname.

> What is MySQL?: MySQL is a popular open-source relational database management system (RDBMS) used to store and manage data. SCADA-LTS requires MySQL to store its configuration and data.

> Why Port 3306?: Port 3306 is the default port used by MySQL for network communication. If needed, this can be changed, but keeping the default port ensures easier setup and fewer conflicts.

Best Practices

For best practices and Scada-LTS development team tips visit:

Contact us for access scada-lts@abilit.eu

Configure HTTPS (SSL/TLS) for Tomcat (optional)

SCADA-LTS supports secure HTTPS deployment using standard Tomcat configuration.

Detailed step-by-step configuration (keystore generation, server.xml setup, certificate management) is available for registered users and customers.

See:

Contact us for access scada-lts@abilit.eu

Scada-LTS USB Image

The Scada-LTS USB Image is an alternative deployment method that provides a fully preconfigured, bootable operating system image with Scada-LTS already installed and ready to run.

Unlike the standard installation procedures described in the previous sections, the USB Image does not require manual installation of the operating system, database, Java runtime, or application server on the target machine. All required components are prepared in advance as part of a single deployment artifact.

The USB Image is designed to simplify deployment in scenarios where speed, repeatability, offline operation, or controlled environments are required.


Overview

The USB Image contains a complete runtime environment for Scada-LTS, including the operating system and all required services.

After writing the image to a USB storage device and booting a target machine from it, the system starts automatically and Scada-LTS becomes available without additional installation steps.

See also:

This approach allows Scada-LTS to be deployed in a predictable and reproducible way across multiple machines.

Important: The USB Image is not an installer. It should be treated as an immutable deployment artifact rather than a general-purpose operating system.


Typical Use Cases

The Scada-LTS USB Image is intended for the following use cases:

  • Offline demonstrations and presentations
  • Training and educational environments
  • Proof-of-concept installations
  • Laboratory and test systems
  • Temporary or mobile SCADA stations
  • Environments with limited or no Internet connectivity

The USB Image is not intended for permanent Internet-facing production systems or environments that require extensive operating system customization.


Deployment Model

The USB Image follows a simplified deployment model compared to a classic installation:

  • The image is distributed as a single file
  • The image is written directly to a USB storage device
  • The target machine boots directly from the USB device
  • Required services are started automatically during system boot
  • Scada-LTS becomes available without manual configuration steps

No installation wizard, package manager interaction, or system preparation is required on the target machine.

Good practice: The USB Image should be treated as read-only from an operational perspective. Configuration changes should be performed through the Scada-LTS application itself, not by modifying the underlying operating system.


Update and Maintenance Strategy

The USB Image uses a replace-not-upgrade maintenance strategy.

Operating system updates and low-level system changes are not performed in-place. Instead, updates are delivered as new versions of the USB Image.

Updating an existing system means replacing the current image with a newer release and booting from the updated USB device.

This strategy ensures consistent behavior across deployments and avoids configuration drift that may occur with long-lived systems that are upgraded incrementally.

Manual operating system upgrades or package-level modifications inside the running USB Image are not supported.


Security Model and Assumptions

The Scada-LTS USB Image is designed with the following security assumptions:

  • Operation in a controlled and trusted network environment
  • No direct exposure to public networks by default
  • Limited operating system access for end users
  • Clear separation between application-level configuration and system-level components

The image is prepared in a way that allows safe cloning and reuse across multiple installations without inheriting system-specific identity data.

The USB Image does not replace standard SCADA security practices such as network segmentation, firewall configuration, access control policies, and regular security reviews.


Operational Characteristics

When using the Scada-LTS USB Image, the following operational characteristics should be considered:

  • Boot time and runtime performance depend on the USB storage device used
  • Persistent data handling depends on Scada-LTS configuration
  • System-level customization is intentionally limited
  • The system is optimized for stability and reproducibility rather than flexibility

The USB Image is designed to behave consistently across different hardware platforms that support booting from USB storage.


Download and Availability

The Scada-LTS USB Image is distributed separately from the standard installers.

Download location:

https://bfrere.world/AbilIT/USB-stick.gz

Detailed operational documentation and access to the Scada-LTS USB Image are available separately; for more information, please contact: scada-lts@abilit.eu


Docker deployment (single-container, classic Docker)

This section describes how to run SCADA-LTS as a single Docker container for evaluation and testing purposes.

For production deployments we strongly recommend using the dedicated docker-compose approach (separate services for database, app, volumes, etc.).

  • Docker Compose tutorial:
 Scada-LTS docker-compose tutorial

Important: A simple container run is suitable for testing only. Production setups require proper data persistence, configuration, and security adjustments.

Running the latest stable version

To quickly run the latest stable SCADA-LTS image:

  1. Pull the latest image:
docker pull scadalts/scadalts:latest
  1. Run a simple container:
docker run -p 81:8080 scadalts/scadalts:latest
  • The -p 81:8080 option maps container port 8080 to port 81 on the host.
  1. Open a browser:
http://localhost:81/Scada-LTS/

Depending on the image version the context path may be /ScadaBR or /Scada-LTS.

Notes

  • This setup does not persist data (container removal may result in data loss).
  • Additional configuration may be required depending on your environment.
  • Logs and runtime behavior can be inspected using standard Docker tools.

Next steps

For production-ready deployments (volumes, container management, networking, upgrades, and troubleshooting), refer to the advanced documentation:

Contact us for access scada-lts@abilit.eu

Next Steps