IBH OPC UA:Installation on Linux
The IBH OPC UA Server/Client is available as a 64-bit Linux version for amd64 and arm64. It is supplied as a Debian package (.deb), installs the application and configures the system service automatically.
Workflow at a glance
- Select the package that matches the Linux distribution and CPU architecture.
- Install the Debian package with
apt. - Verify
ibhlinkua.service. - Open the Web Configurator.
- Change the administrator password and activate the license.
- Configure and test the OPC UA endpoint and controller connections.
Requirements
- Supported 64-bit operating system: Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, Debian 12 “Bookworm” or Debian 13 “Trixie”, including the systems listed in the package matrix
- CPU architecture
amd64orarm64 systemd- User account with
sudoprivileges - Static IP address or resolvable hostname recommended
- DNS resolution and HTTPS access to the license server for online activation
- Network access to the configured controllers
- Python 3 must be installed when NodeSets are to be used.
Python for NodeSets
The NodeSet function uses the Python runtime of the Linux system. If custom NodeSets, Python scripts, methods or combined data models are required, install the Python 3 package and standard library supplied by the distribution.
sudo apt update
sudo apt install python3
python3 --version
python3 -c 'import encodings; print("Python OK")'
Do not install or link a Python library from a different Ubuntu or Debian release. Without a working Python installation, NodeSet configuration is unavailable or cannot be used completely.
Check the architecture and distribution
. /etc/os-release echo "$ID $VERSION_ID" dpkg --print-architecture uname -m
x86_64 corresponds to amd64; aarch64 corresponds to arm64.
Package matrix
Architecture, distribution and distribution version must all match. Packages for different releases are not interchangeable because system Python, ICU and other runtime ABIs differ.
| Linux variant | Architecture | Package variant to use | Example file name | Status |
|---|---|---|---|---|
| Ubuntu 22.04 LTS on an Intel/AMD PC | amd64
|
Ubuntu 22.04 package for AMD64 | ibhlinkua_VERSION.BUILD_ubuntu22_amd64.deb
|
Supported |
| Ubuntu 22.04 LTS on ARM64 | arm64
|
Ubuntu 22.04 package for ARM64 | ibhlinkua_VERSION.BUILD_ubuntu22_arm64.deb
|
Supported |
| Ubuntu 24.04 LTS on an Intel/AMD PC | amd64
|
Ubuntu 24.04 package for AMD64 | ibhlinkua_VERSION.BUILD_ubuntu24_amd64.deb
|
Supported |
| Ubuntu 24.04 LTS on ARM64 | arm64
|
Ubuntu 24.04 package for ARM64 | ibhlinkua_VERSION.BUILD_ubuntu24_arm64.deb
|
Supported |
| Debian 12 “Bookworm” on an Intel/AMD PC | amd64
|
Debian 12 package for AMD64 | ibhlinkua_VERSION.BUILD_debian12_amd64.deb
|
Supported |
| Debian 12 “Bookworm” on ARM64 | arm64
|
Debian 12 package for ARM64 | ibhlinkua_VERSION.BUILD_debian12_arm64.deb
|
Supported |
| Debian 13 “Trixie” on an Intel/AMD PC | amd64
|
Debian 13 package for AMD64 | ibhlinkua_VERSION.BUILD_debian13_amd64.deb
|
Supported |
| Debian 13 “Trixie” on ARM64 | arm64
|
Debian 13 package for ARM64 | ibhlinkua_VERSION.BUILD_debian13_arm64.deb
|
Supported |
| Raspberry Pi OS 64-bit “Bookworm” | arm64
|
Debian 12 package for ARM64 | ibhlinkua_VERSION.BUILD_debian12_arm64.deb
|
Supported |
| Raspberry Pi OS 64-bit based on Debian 13 “Trixie” | arm64
|
Debian 13 package for ARM64 | ibhlinkua_VERSION.BUILD_debian13_arm64.deb
|
Supported |
| Revolution Pi with a 64-bit Bookworm system | arm64
|
Debian 12 package for ARM64 | ibhlinkua_VERSION.BUILD_debian12_arm64.deb
|
Use only when dpkg --print-architecture reports arm64
|
| Revolution Pi with a 64-bit Trixie system | arm64
|
Debian 13 package for ARM64 | ibhlinkua_VERSION.BUILD_debian13_arm64.deb
|
Use only when dpkg --print-architecture reports arm64
|
| 32-bit Raspberry Pi OS or Debian | armhf or i386
|
No package | – | Not supported |
| Ubuntu 20.04, Debian 11 or another release not listed above | depends on the system | Only a package explicitly approved by IBHsoftec for that release | depends on the release | Do not use a package for a different distribution |
Older packages may not contain a distribution suffix in the file name. Use such packages only for the target system specified with their delivery.
Current download packages
Current released version: 6.0.16, build 4497.
Select the package that matches the distribution, release and architecture. All packages are also listed in the official download area.
- Debian 12 / AMD64: ibhlinkua_6.0.16.4497_debian12_amd64.deb
- Debian 12 / ARM64: ibhlinkua_6.0.16.4497_debian12_arm64.deb
- Debian 13 / AMD64: ibhlinkua_6.0.16.4497_debian13_amd64.deb
- Debian 13 / ARM64: ibhlinkua_6.0.16.4497_debian13_arm64.deb
- Ubuntu 22.04 / AMD64: ibhlinkua_6.0.16.4497_ubuntu22_amd64.deb
- Ubuntu 22.04 / ARM64: ibhlinkua_6.0.16.4497_ubuntu22_arm64.deb
- Ubuntu 24.04 / AMD64: ibhlinkua_6.0.16.4497_ubuntu24_amd64.deb
- Ubuntu 24.04 / ARM64: ibhlinkua_6.0.16.4497_ubuntu24_arm64.deb
Installation
Copy the selected package to the Linux computer and open a terminal in its directory. Example:
sudo apt update sudo apt install ./ibhlinkua_VERSION.BUILD_DISTRIBUTION_ARCHITECTURE.deb
Replace the file name with the actual delivered package. The package:
- installs the application under
/opt/IBHLinkUA, - stores the configuration under
/etc/ibhlinkua, - installs the Wt configuration under
/etc/wt, - configures and enables
ibhlinkua.service, and - starts the service after installation.
Service control
sudo systemctl status ibhlinkua.service --no-pager sudo systemctl start ibhlinkua.service sudo systemctl stop ibhlinkua.service sudo systemctl restart ibhlinkua.service sudo systemctl is-enabled ibhlinkua.service
View recent service messages:
sudo journalctl -u ibhlinkua.service -n 100 --no-pager
Open the Web Configurator
Determine the server address if necessary:
hostname -I
Open:
http://IP-ADDRESS-OR-HOSTNAME/
A default Linux installation uses TCP port 80 for HTTP. If HTTPS has been configured, port 443 is normally used.
For an unchanged initial installation, use:
| User name | Password |
|---|---|
admin
|
admin
|
Change the default password immediately after the first login.
Network and firewall
| Function | Protocol | Default port |
|---|---|---|
| Web Configurator | TCP | 80 |
| HTTPS Web Configurator, if enabled | TCP | 443 |
| OPC UA Server | TCP | 48010 |
Allow only the required ports and restrict access to the plant or administration network whenever possible. MQTT, the integrated OPC UA Client, online activation and other outgoing functions may require additional destination addresses and ports.
License activation
The license is bound to the Linux target system and must not simply be copied to another computer or virtual machine.
Online activation
- Open System / Licensing in the Web Configurator.
- Enter the license serial number.
- Enter the associated eight-digit secret.
- Start online activation.
- Verify that the license status is valid.
Offline activation
- Generate and download
ibhlinkua-license-request.jsonin the Web Configurator. - Process the request using the designated licensing workflow on a computer with Internet access.
- Upload the signed JSON license file to the target system.
- Verify the license status.
The installed license is normally stored as /etc/ibhlinkua/license.json. Do not edit this file manually. See Licensing.
OPC UA connection test
The default endpoint is:
opc.tcp://IP-ADDRESS-OR-HOSTNAME:48010
- Add the endpoint to an OPC UA client.
- Verify the server certificate by fingerprint and issuer.
- Trust the certificate only after identifying the server.
- Select the matching security policy, message mode and user authentication.
- Browse the address space and read a test variable.
- Write only to variables explicitly intended for testing.
Important paths
| Purpose | Path |
|---|---|
| Application and web resources | /opt/IBHLinkUA
|
| Main configuration | /etc/ibhlinkua
|
| OPC UA server configuration | /etc/ibhlinkua/ServerConfig.xml
|
| License | /etc/ibhlinkua/license.json
|
| Wt configuration | /etc/wt/wt_config.xml
|
| System service | ibhlinkua.service
|
Use the Web Configurator or IBH OPC UA Editor for normal configuration.
Update
Create a configuration backup before updating. The new package must match the installed distribution and CPU architecture. For example, use only the debian13_arm64 variant on Debian 13/ARM64.
Update in the Web Configurator
Under System / Software update, select the new .deb package and choose Upload Firmware. Only newer packages signed by IBHsoftec and matching the system distribution and architecture are accepted. Installation, health checking and rollback, if required, run in the background. Reload the page if the service restart interrupts the browser connection.
Updating through the Web Configurator requires a native installation managed by systemd. A Docker container normally has no systemctl; update its image or install the package while building the container instead.
Manual update with apt
Alternatively, install the matching package over the existing installation:
sudo apt install ./ibhlinkua_NEW_VERSION.BUILD_DISTRIBUTION_ARCHITECTURE.deb
sudo systemctl status ibhlinkua.service --no-pager
dpkg-query -W -f='${Version} ${Architecture}\n' ibhlinkua
Then verify the firmware version, including its build number, under System. Also verify the license, certificates, endpoints, controller connections, projects and all enabled extensions. Perform a downgrade only after consulting IBHsoftec Support.
Uninstallation
sudo apt remove ibhlinkua
Back up configuration, certificates and license information before removing any remaining files under /etc/ibhlinkua.
Troubleshooting
- Service does not start
- Check
systemctl status,journalctl, package architecture, dependencies and permissions.
- Service reports
status=203/EXECor references a missing executable - Use
systemctl cat ibhlinkua.serviceto check which unit is active. An old local unit at/etc/systemd/system/ibhlinkua.serviceoverrides the unit installed by the package. Back up and remove that old file only if it is no longer required, then runsudo systemctl daemon-reload,sudo systemctl reset-failed ibhlinkua.serviceandsudo systemctl enable --now ibhlinkua.service.
- Web Configurator cannot be reached
- Check the service, IP address, web port and firewall. Ensure no other service occupies port 80 or 443.
- OPC UA client cannot connect
- Check port 48010, endpoint, security policy, system time, certificates and user authentication.
- NodeSet menu or function is unavailable
- Install the distribution's
python3package, restartibhlinkua.serviceand checkpython3 --version.
- Online activation fails
- Check Internet access, DNS, proxy, firewall, system time, serial number and the eight-digit secret.