Support Web Produkte
Web Produkte "laufen" im Browser. Alle aktuell von den herstellern unterstützen Browser, auch die auf Mobilgeräten, können Sie nutzen. Es werden keine Browsererweiterungen gebraucht.
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.
Die Extended Installationspakete für die Tauri S und L Geräte enthalten die komplette Installation und konfiguration der Web Server Dinge.
Übersicht: Web Server Grundlagen, Web Server Certificates, Web Server Configuration Apache2, Web Server Configuration Ligtttpd, Web Socket.
Antwort:
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
Antwort:
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 - 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.
Valid certificates can not be obtained for private address area as 192.x.x.x. You need public addresses. IpV4 addresses are out, so try using IpV6.
Using https the mod-https module need to be installed with your systems packet manager.
Most browsers are supporting 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. So you need actualize the servers certificate yearly.
Antwort:
- 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
Antwort:
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)
- include "conf.d/pe_webscada.conf"
- server.modules += ( "mod_proxy" )
- $HTTP["url"] =~ "^/pe_webscada" {
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "8081" ) ) )
proxy.header = ( "upgrade" => "enable" )
}
Antwort:
The JSON content used in the web sockets are documented here