Support Web Products
Web based products are "running" in a standard browser. All currently from their manufacturers supported browsers can be used. No browser extendions are needed.
The backend parts require a web browser running php and web sockets.
The web socket is tunneled over the port 80 browser connection through the web server to a process which translates the JSON requests to OPC UA (Web SCADA), the configuration process (Web Configuration) and the historian API.
The install packets for the Tauri S and L are containing the complete installation if the extended package is used.
Panoramica: Web Server Basics, Web Server Certificates, Web Server Configuration Apache2, Web Server Configuration Ligtttpd, Web Socket.
Rispondere:
We did test the server parts with the Apache 2 server and the lightpd on Linux. Other servers will run also as other operating systems as Windows.
- Install the Apache 2 with your paket manager.
Installmod-php
. All php versions starting from version 6 up to 8 can be used.
Install phpmodules bz2 zip zlib json
. - Look up the following configuration items of the server, usually in /etc/apache2/
- DocumentRoot (e.g. /srv/www/htdocs)
- IncludeOptional (e.g. /etc/apache2/conf.d/*.conf)
- For OpenSUSE 15.3 (in /etc/apache2/default-server.conf)
- DocumentRoot /srv/www/htdocs
- IncludeOptional /etc/apache2/conf.d/*.conf
- For Ubuntu 22.04LTS and Debian 11 (in /etc/apache2/sites-enabled/000-default.conf and /etc/apache2/httpd.conf)
- DocumentRoot /var/www/html
- IncludeOptional /etc/apache2/conf-enabled/*.conf
Rispondere:
From the sight of the web sockets and all other logic there is no difference between the unencrypted http and the encrypted https. But one job remains using encrypted communication - obtaining a valid certificate which is accepted by standard browsers. An easily and cost free option in 2023 is using certificates from let's encrypt. Check there for details.
In a servers certificate the domain name or the ip address is the reference. So changing them invalidates the certificate.
Some browsers can accept self signed certificates with some clicks, but this is becoming seldom.
Using https the mod-https module need to be installed with your systems packet manager.
Most browsers are supporting already http in 2023, but more and more details are unavailable if non encrypted connections are used. So on the long run encrypted connections using certificates are needed. Beware that standard browsers will require an certificate which is not older than one year (this is valid until 2022). So you need actualize the servers certificate yearly or more frequently.
Rispondere:
- Determine the apache2 module directory, e.g. by inspecting the installed package.
- For OpenSUSE 15.3: /usr/lib64/apache2-prefork/
- For Ubuntu 22.04LTS and Debian 11: /usr/lib/apache2/modules/
Now the variuos products need different details.
Web SCADA
- Create the file [IncludeOptional]/pe_webscada.conf with this content
LoadModule proxy_module [ModuleDirectory]/mod_proxy.so
LoadModule proxy_wstunnel_module [ModuleDirectory]/mod_proxy_wstunnel.so
ProxyPass "/pe_webscada/" "ws://localhost:8081/"
- Create the directory [DocumentRoot]/webscada
- Extract the [installdir]/webscada.tar.gz to [DocumentRoot]/webscada
- Restart the Web Server and check that http://[your web server]/pe works.
Web configuration
- Create the file [IncludeOptional]/pe_config.conf with this content:
LoadModule proxy_module [ModuleDirectory]/mod_proxy.so
LoadModule proxy_wstunnel_module [ModuleDirectory]/mod_proxy_wstunnel.so
ProxyPass "/pe_config/" "ws://localhost:8082/"
- Create the directory [DocumentRoot]/pe
- Extract the [installdir]/webconfig.tar.gz to [DocumentRoot]/pe
- Restart the Web Server and check that http://[your web server]/webscada works.
The multiple websocket ports are allowing runing all web services in parallel.
Historian API
The historian API is intended using in private applications. So there is no web server application here. The web SCADA has a historian trend element which works over the websocket and OPC UA has a similar functionality.
Rispondere:
Look up the following configuration items of the server, usually in /etc/lighttpd/lighttpd.conf- server.document-root (e.g. /srv/www/htdocs)
- var.conf_dir (e.g. /etc/lighttpd)
Web SCADA
- include "conf.d/pe_webscada.conf"
- Create the file [conf_dir]/conf.d/pe_webscada.conf with this content
server.modules += ( "mod_proxy" )
$HTTP["url"] =~ "^/pe_webscada" {
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "8081" ) ) )
proxy.header = ( "upgrade" => "enable" )
}- Create the directory [document-root]/webscada
- Extract the [installdir]/webscada.tar.gz to [document-root]/webscada
- Restart the Web Server and check that http://[your web server]/webscada works.
Web configuration
- include "conf.d/pe_config.conf"
- Create the file [conf_dir]/conf.d/pe_config.conf with this content
server.modules += ( "mod_proxy" )
- $HTTP["url"] =~ "^/pe_config" {
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "8082" ) ) )
proxy.header = ( "upgrade" => "enable" )
} - Create the directory [document-root]/webconfig
- Extract the [installdir]/webconfig.tar.gz to [document-root]/webconfig
- Restart the Web Server and check that http://[your web server]/webconfig works.
Historian API
The historian API is intended using in private applications. So there is no web server application here. The web SCADA has a historian trend element which works over the websocket and OPC UA has a similar functionality.
Rispondere:
The JSON content used in the web sockets are documented here
This can be used for neutral server applications.