Founded: Jun 2014 Members: Roman Savochenko Description: OpenSCADA servers infrastructure representing, tracing and managing. Managing task: and needs to fix bugs:ment/tasks/posts/tasks_forming_formirovanie_zadach/the_project_server_and_hosting_infrastructure_update by the link Funding: 89% from the request, mostly by the Beams&Plasmas |
The page aimed for server's infrastructure of OpenSCADA project represents, traces and manages.
From begins the OpenSCADA resources hosted on a main server of DIYA Ltd and the server's details and specific were not possible to publish. From 2015 year the OpenSCADA project had own a server and an internet channel thanks mostly to Beams&Plasmas funding. From 2016 year all resources of the project OpenSCADA were moved to the new server and domain name "oscada.org" was switched to it. For the domain name "oscada.org" and it's DNS uses the Hosting Ukraine, the configuration shown in Table 1.
Table 1: Domain "oscada.org" configuration.
Property | Old value | Current value |
Name Server 1 | NS0.XNAME.ORG | NS1.FASTDNS.HOSTING |
Name Server 2 | NS1.UKRAINE.COM.UA | NS2.FASTDNS.HOSTING |
Name Server 3 | NS2.UKRAINE.COM.UA | NS3.FASTDNS.HOSTING |
oscada.org. | 82.207.88.73 | 134.249.149.50 |
ftp | 82.207.88.73 | 134.249.149.50 |
wiki | 82.207.88.73 | 134.249.149.50 |
82.207.88.73 | 134.249.149.50 | |
www | 82.207.88.73 | 134.249.149.50 |
The OpenSCADA server located now into a quarter of author of the OpenSCADA system it is Roman Savochenko. For link to the global network (Internet) used a service of Internet provider Kyivstar in Kamjanske city of Ukraine. The provider uses the conception of Fiber To The Building (FTTB) and the internet channel's bandwidth now it is 30Mbit/s. For temporary access (for dynamic IP) used domain name "oscada.dlikddns.com" which allowed yet and next there was registered a static IP 134.249.149.50 to which now connected the main domain "oscada.org". Hardware configuration of the server shown into Table 2:
Table 2: Hardware configuration of the OpenSCADA server.
Name | Configuration | Notes |
CPU | AMD Phenom(tm) II X4 900e | purchased that as used instead the original Athlon 64 X2 (too weak) and the brand new A8-6500, TDP 65W |
MB | ASUS M2NPV-VM, Socket AM2 | used as a hard tested and reliable solution, instead purchased specially the brand new MB MSI A88X-G41 PC Mate |
Chipset | NVIDIA GeForce 6150 + nForce 430 MCP | |
Memory | 3GB (DDR2-800) | original for the MB |
HDD | 1TB, RAID1 (ST1000VM002+WD10EZRX) | brand new, low power consumption, heating about +8°C, through changing of 2xDT01ACA050 |
Power Supply | Cooler Master 400W | brand new |
Case | MidiTower, ATX | used |
UPS (in planes) |
In base of the program environment used OS Linux distributive Debian 7 (Wheezy). For external services isolation and some other purposes used the OpenVZ lightweight isolation into different Virtual Private Servers (VPS). Into mostly VPS also used Linux distributive Debian 7 (Wheezy), sometime used Debian 8 (Jessie) and ALTLinux T6. Hardware server (HS) it is x86_64 program environment but the VPSs mostly used x86 environment especially for high demanded tasks, as the result we have the memory consumption 1.2GB instead 2GB of even-functional x86_64 pure environment. The program environment structure shown in Figure 1.
File system of the hardware server (HS) has not a swap partition and has two main mirrored partitions:
- "root (/)": 9.1GB
- "data (/data): 908GB
Besides only VPS containers management by OpenVZ the HS environment also has some services for the external and internal networks:
Address: ftp.oscada (192.168.0.10)
Service: exclusively provides a public file-service for OpenSCADA resources. To use the service go to ftp://ftp.oscada.org.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, file server ProFTP.
The FTP has next partial tree with the descriptions:
Address: db.oscada (192.168.0.11)
Service: exclusively provides different DBMS for internal and by VPSes using.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, allowed next DBMS: MySQL, PostgreSQL, FireBird, OpenLDAP (slapd).
Table 2.2: Allowed DBMS and its using.
DBMS | Using |
MySQL | TYPO3 (http://oscada.org), WackoWiki (http://wiki.oscada.org), Jabber, some OpenSCADA tests. |
PostgreSQL | Some OpenSCADA tests. |
FireBird | Some OpenSCADA tests. |
OpenLDAP | Jabber users authentication. |
Address: svn.oscada (192.168.0.12)
Service: provides the control versions systems.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, allowed next control versions systems: Subversion, CVS.
CVS it is old-deprecated control versions system used up to year 2005 by the OpenSCADA project and some projects of firm DIYA Ltd of it's author Roman Savochenko. For now CVS provides only for the compatibility and supports only guest access: $ cvs -d:pserver:guest@oscada.org:/CVS_R co OpenScada
Subversion it is current control version system using now by the OpenSCADA project. Supported two managing and two display connections:
Address: http.oscada (192.168.0.13)
Service: provides different HTTP-services which mostly based on Apache2 web-server.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, Apache web-server.
Main configuration file of the virtual hosts placed into "/etc/apache2/sites-available/openscada.conf". EMail configured as simple relay (into file "/etc/postfix/main.cf") to the server's email server, into different VPS.
Table 2.4: Provided HTTP-services.
Name | Description | Notes |
phpMyAdmin | DBMS MySQL management by a WEB-interface of phpMyAdmin | |
phpLDAPadmin | LDAP management by a WEB-interface of phpLDAPadmin | |
TYPO3 oscada.org oscada.org/typo3 | Main OpenSCADA project's site based on the TYPO3 CMS, include an admin Web-interface | The project tree used original and placed into "/var/www/oscada/".
|
WackoWIKI wiki.oscada.org | Main OpenSCADA project's knowledge base on WackoWIKI | The project tree used original and placed into "/var/www/oscada/wiki/". The configuration and DB moved from PHP version 5.2 to 5.4 which caused to some problems, at first it is into function htmlspecialchars() and the default charset is UTF-8. The problems mostly fixed before moving to a new version of Wiki-engine. Migration DB commands: ((Works/ToDo#h751-3 Planed tasks) for select, update and migrate. |
File server oscada.org/oscadaArch ftp.oscada.org | File service by HTTP of Apache2 | |
WebSVN oscada.org/websvn | Web-interface for manages the Subversion repository of the OpenSCADA project by the WebSVN. | The project tree used original and placed into "/var/www/oscada/websvn/". Config file "/var/www/oscada/websvn/include/config.php" for edit function "addRepository(...)". No a migration problem here was detected. |
DAV svn oscada.org/svn | Browsing and observing on the OpenSCADA Subversion repository as file-system on HTTP. | |
AWStats WWW WWW files WIKI FTP | Visits of the server different statistic by the AWStats. | Original statistic of the old server was saved and attached to the server. |
Address: mail.oscada (192.168.0.15)
Service: provides exclusively EMail service.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, SASL, Postfix, Cyrus, Amavis, SpamAssasin, ClamAV, FetchMail.
Table 2.5: Provided EMail-services.
Name | Description | Notes |
SASL | Simple Authentication and Security Layer (SASL) | For authentication used the local DB "/etc/sasldb2". For Cyrus IMAP-server the DB pointed direct into the file "/etc/imapd.conf", as line "sasldb_path: /etc/sasldb2". For Postfix here special configured the daemon "saslauthd" into the config file "/etc/default/saslauthd" by lines: Some managing of users and passwords tools' examples: |
Cyrus | Internet Message Access Protocol (IMAP) server provides access to personal mail and system-wide bulletin boards through the IMAP protocol, by the project Cyrus. Sieve (server side filters) enabled. | Main config files: "/etc/{cyrus.conf, imapd.conf}". Local DB's folder: "/var/lib/cyrus". User's mails folder: "/var/spool/cyrus/mail". The folders "/var/lib/cyrus" and "/var/spool/cyrus/mail" were taken from the old server and spare mailboxes for OpenSCADA were removed. Some managing of mailboxes tools' examples: |
Postfix | Send messages service by the Send Message Transport Protocol (SMTP), by Postfix. | Main config files: "/etc/postfix/{master.cf,main.cf}". Local lists and DBs: "/etc/aliases.db", "/etc/postfix/{bcc_map.db, local_recipients.db, mynetworks}". Some managing of DB and the mail queue tools' examples: |
Amavis | A Mail Virus and spams Scanner (AMaViS) which for the viruses scan mostly uses ClamAV and for spam uses SpamAssasine. | Main config files folder: "/etc/amavis/conf.d".
|
ClamAV | Anti-virus checking by the ClamAV. | Main configuration file: "/etc/clamav/clamd.conf". |
SpamAssasin | Anti-spam checking by the SpamAssasin. | Main configuration file: "/etc/spamassassin/local.cf". Training DB: "/var/spool/spamassassin/". Some training tool's examples: |
FetchMail | Fetch mailboxes to the local ones by FetchMail. | Main configuration file: "/etc/fetchmailrc". |
Address: jabber.oscada (192.168.0.16)
Service: provides instant messages server.
Base of the VPS: OS Linux distributive Debian 8 (Jessie) x86, Jabberd2. The VPS was successfully updated from the Debian 7 minimal VPS template but no that VPS of x86 platform allowing for Debian 8.
For users authentication of the instant messages server used LDAP on the VPS "DB". For contacts store used the table "jabberd2" on the DBMS MySQL on the VPS "DB". The configuration and the table "jabberd2" were taken on the old server and successful adapted on the new.
Address: bldrALT32.oscada (192.168.0.100)
Service: Live-disks and firmwares building environment of the Linux distributive ALTLinux 5 (5.1) and 6 (T6) of the hardware platform x86.
Base of the VPS: OS Linux distributive ALTLinux T6 x86, MKImage.
The VPS contains and provides set of MkImage profiles which mostly used from the AutoBuilder system of OpenSCADA and also allowed for manual its using. Allowed MkImage profiles shown into Table 2.7.
Table 2.7: MkImage profiles.
Profile | Description |
mkimage-profiles-5-kdesktop | Live-disk for desktop of ALTLinux 5 (5.1) building. Inactive now! |
mkimage-profiles-5-plc | Generic PLC firmwares (tarballs) building profile on ALTLinux 5 (5.1). |
mkimage-profiles-5-plc-LP8x81 | ICP-DAS PLC firmwares (tarballs) building profile on ALTLinux 5 (5.1). |
mkimage-profiles-5-KramMill | Project's "ACS TP of the ball mills "ØÁÌ 287/410" of the boiler "ÁÊÇ 160–100 ÏÒ"?" Live/Install/Service disk. |
mkimage-profiles-6-kdesktop | Live-disk for desktop of ALTLinux 6 (T6) building, includes OpenSCADA and KDE 3.5.13.2. |
mkimage-profiles-6-plc | Generic PLC firmwares (tarballs) building profile on ALTLinux 6 (T6). |
mkimage-profiles-6-plc-LP8x81 | ICP-DAS PLC firmwares (tarballs) building profile on ALTLinux 6 (T6). |
mkimage-profiles-6-bagley | Project's "Bagley Coke Boiler #1 dispatching system (will be soon prepared)?" Live/Install/Service disk. |
mkimage-profiles-6-KramWater | Project's "Kramatorsk Water (will be soon prepared)" Live/Install/Service disk. |
For the Live-disks unmistakable building the original packages repositories of ALTLinux 5 and 6 located in the server and it is regular mirroring performed. By the OpenSCADA project in different times was created a self repository of packages included builds of the OpenSCADA packages and other programs with fixings and renewals, for details see to the Automation Linux distributive of the project OpenSCADA. Next actual repositories for ALTLinux allowed on the OpenSCADA server:
Address: bldrDeb8.oscada (192.168.0.101)
Service: Live-disks and firmwares building environment of the Linux distributive Debian 7 and 8 of the hardware platforms x86 and x86_64.
Base of the VPS: OS Linux distributive Debian 8 (Jessie) x86_64, Live System Build Components (live-build).
The VPS contains and provides set of the Live System Build configurations which mostly used from the AutoBuilder system of OpenSCADA and also allowed for manual its using. Some pure ToolChain-based builds located into the VPS. Allowed "Live System Build" configurations and toolchains shown into Table 2.8.
Table 2.8: Live System Build configurations
Configuration | Description |
ICP_DAS_LP_ARM | ToolChain of arm-xscale-linux-gnu of OpenSCADA builds for ICP-DAS PLC series LP of ARM hardware architecture. |
SMH2Gi | ToolChain of arm-v5te-linux-gnueabi of OpenSCADA builds for Segnetics SMH2Gi PLC. |
live7-32 | "Live System Build" configuration of Debian 7 live-disk building with OpenSCADA and TDE for hardware platform x86. |
live7-64 | "Live System Build" configuration of Debian 7 live-disk building with OpenSCADA and TDE for hardware platform x86_64. |
live8-32 | "Live System Build" configuration of Debian 8 live-disk building with OpenSCADA and TDE for hardware platform x86. |
live8-64 | "Live System Build" configuration of Debian 8 live-disk building with OpenSCADA and TDE for hardware platform x86_64. |
live8-32_KramMill | "Live System Build" configuration of the project "Kramatorsk mills (will be soon prepared)?" Debian 8 live-disk building with OpenSCADA and TDE for hardware platform x86. |
live-PLC | "Live System Build" configuration of Generic PLC environment. Unfinished yet! |
For the Live-disks unmistakable building the original packages repositories of Debian 7 and 8 cached on the server by "APT cacher of new generation" and some repositories like Trinity DE are located on the server and it is regular mirroring performed by "APT mirror". By the OpenSCADA project was created a self repository of packages included builds of the OpenSCADA packages and other programs with fixings and renewals, for details see to the Automation Linux distributive of the project OpenSCADA. Next actual repositories for Debian cached and placed on the OpenSCADA server:
Address: oscadaModels.oscada (192.168.0.110)
Service: OpenSCADA models of automation systems execution and the Web-based external access providing.
Base of the VPS: OS Linux distributive Debian 7 (Wheezy) x86, OpenSCADA.
All the OpenSCADA models were prepared for no any modified installation provide and easy its deploy besides some specific passwords setting into the config file. For now prepared and executed next models: