Linux Installation

Note: Perform the installation on your Linux system using root access or with an account with sudo privileges.


Deployment

Copy OASEngine files to Linux server/device

After downloading the Linux OAS Engine from the OAS Downloads page extract the contents of the .ZIP file (e.g. oas-linux.zip) to any directory of the Linux operating system.  The contents can be copied to the target Linux machine directly, or you can copy the .ZIP archive and unzip on the Linux machine itself.


Installation

View the following video to view the following steps implemented with Ubuntu on a Raspberry Pi device.

Run the installation script to properly configure the OASEngine

Log into your Linux machine with an account that has root or sudo permissions. Either connect to the machine from an SSH session, or open a terminal on the machine itself, if you’re using a GUI.

Navigate to the daemon directory within the installation path and locate the oas_install.sh script. In this example, we’re using the ARM64 installation on a Raspberry Pi 4 running Ubuntu, but the same instructions and commands apply to any Linux distribution.

 

Ensure the installation script is executable, then run the installation using the following commands:

sudo chmod +x oas_install.sh
sudo ./oas_install.sh

You will be prompted to enter the password for the root or administrator currently logged in if you don’t currently have sudo permissions.

The installation script will next walk you through the following:

  • Creating or selecting a user account for the OASEngine service. Using the defaults, an account called oasuser will be created.
  • Installing the service in the selected user’s account
  • Optionally starting the newly installed service
Step 1: run the installation and select a user account to host the OASEngine. If the user does not exist, you will be prompted to create a password for the new user.
Step 2: the installation completes and prompts to be started
Step 3: Installation completed and service started.rol
 

The OASEngine is now installed as a user service or daemon under the account selected or created (default: oasuser). This service is managed by systemd and can be controlled or monitored like any systemd service. By default, the OASEngine is now configured to start up when the machine reboots.

On a Windows PC, open the OAS Configuration Application and connect to the running Linux service for configuring and controlling the server. Ensure that the PC Firewall allows TCP communication on port 58727. For more information on configuring an OAS installation see the documentation for the OAS Configuration Manager application.


Service Control

Confirm that the service is running

Log into the Linux machine using the credential created during the installation. By default this is oasuser. Then, execute the following command to determine the oas-engine status:

systemctl --user status

This should return something similar to:

State: running
Jobs: 0 queued
Failed: 0 units
Since: Mon 2021-03-01 16:34:33 UTC; 3 weeks 6 days ago
CGroup: /user.slice/user-1001.slice/user@1001.service
├─oas-engine.service
│ └─2214 /home/oasuser/oas-linux-arm64/OASEngine

If you do not see the oas-engine.service listed as running, you can begin troubleshooting by attempting to run the OASEngine manually and checking for errors on startup in the console. To do this, locate the OASEngine executable within the installation directory for the user. This will be in the user’s home directory and named oas-linux, oas-linux-arm, or oas-linux-arm64 depending on the version installed. Within this directory, execute the following:

./OASEngine

This will directly start an instance of the service and output feedback on status. If any errors are reported on startup, make note of them and contact OAS Support for more information.

Managing the Service Installation

The installation script created a service configuration file that can be modified with any additional parameters, such as restart behavior. This is particularly useful if you want to automatically restart the OASEngine in the unlikely event that the process is killed or interrupted. You can locate the service configuration file on following path when logged in as the selected user:

~/.config/systemd/user/oas-engine.service

The contents of the file are the following, with the paths adjusted for the specific user and depending on the specific Linux distribution you are using:

[Unit]
Description=Open Automation Software Engine

[Service]
ExecStart=/home/oasuser/oas-linux-arm64/OASEngine
WorkingDirectory=/home/oasuser/oas-linux-arm64
SyslogIdentifier=oas-engine
PrivateTmp=false
KillMode=process

[Install]

Once you log into the Linux machine as the selected user, you can gracefully stop and start the service using the following commands:

Stop the service:

systemctl --user stop oas-engine

Start the service:

systemctl --user start oas-engine