Стартовая страница › Форумы › Вопросы без категории › Rapid SCADA на Apache на Linux
Помечено: apache linux
- В этой теме 21 ответ, 4 участника, последнее обновление 4 года, 5 месяцев назад сделано Mikhail.
-
АвторСообщения
-
20.12.2017 в 10:41 #8129MikhailМодератор
Протестирована работа Rapid SCADA на Apache на Linux. Apache работает стабильнее по сравнению с XSP. Ниже инструкция по установке.
20.12.2017 в 10:41 #8130MikhailМодераторInstallation of Rapid SCADA on Linux
————————————1. Copy all the files of Rapid SCADA Mono from scada folder to /opt/scada
2. Copy the scripts from daemons folder to /etc/init.d
3. Grant full access to the following folders of the Webstation application:
sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/config
sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/log
sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/storage4. Make the scripts executable:
sudo chmod +x /opt/scada/restart_apache.sh
sudo chmod +x /opt/scada/restart_xsp.sh
sudo chmod +x /opt/scada/scadarestart.sh
sudo chmod +x /opt/scada/scadastart.sh
sudo chmod +x /opt/scada/scadastop.sh
sudo chmod +x /opt/scada/svc_install.sh
sudo chmod +x /opt/scada/svc_uninstall.sh5. Add the Mono repository to your system.
Open http://www.mono-project.com/download/#download-lin and follow the instructions of paragraph 1.Example for Debian:
sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo «deb http://download.mono-project.com/repo/debian stretch main» | sudo tee /etc/apt/sources.list.d/mono-official.list
sudo apt-get update6. Install Mono .NET Framework:
sudo apt-get install mono-complete
7. Check whether Apache web server already installed or not:
sudo service apache2 statusInstall Apache web server if needed:
sudo apt-get install apache2Note: Apache configuration files are located in /etc/apache2
8. Install the required modules:
sudo apt-get install libapache2-mod-mono mono-apache-server4
9. Create a link to the web application files:
ln -s /opt/scada/ScadaWeb /var/www/html/scada
10. Configure the web application.
Open http://go-mono.com/config-mod-mono/Default.aspx and fill the form as follows:Configuration Type: Application
Application Name: scada
Path to Document Root: /var/www/html/scada
Run Mono with debugging enabled: Off
Enable Platform Abstraction: Off
Enable mod_deflate: OffDownload the configuration as scada.conf and set the parameter:
MonoServerPath scada «/usr/bin/mod-mono-server4»Copy scada.conf to /etc/apache2/sites-available and run:
a2ensite scada.conf11. Execute the script to install deamons:
sudo /opt/scada/svc_install.sh
12. In case of using SD card, protect it by moving frequently used folders to RAM.
Skip this step if you use a regular HDD.
Add the lines below to /etc/fstabtmpfs /tmp tmpfs defaults,noatime,size=50m 0 0
tmpfs /var/log tmpfs defaults,noatime,size=25m 0 0
tmpfs /var/log/apache2 tmpfs defaults,noatime,size=25m 0 0
tmpfs /opt/scada/ScadaComm/Log tmpfs defaults,noatime,size=100m 0 0
tmpfs /opt/scada/ScadaServer/Log tmpfs defaults,noatime,size=10m 0 0
tmpfs /opt/scada/ScadaWeb/log tmpfs defaults,noatime,size=10m 0 0
tmpfs /opt/scada/ArchiveDAT/Cur tmpfs defaults,noatime,size=10m 0 013. Restart your computer:
sudo reboot
14. Open SCADA-Web (Google Chrome is recommended).
Default login and password are admin/12345http://Host_name_or_IP_address/scada
15. Check logs in the following locations:
/opt/scada/ScadaComm/Log
/opt/scada/ScadaServer/Log
/opt/scada/ScadaWeb/log20.12.2017 в 10:42 #8131MikhailМодераторКроме того, в следующей версии сделаны улучшения, во многих случаях решающие проблему разлогинивания веб на Linux.
24.10.2018 в 16:31 #10482kustarУчастникМихаил, добрый день!
Ссылка в п.10 не работает.
Как по-другому сделать scada.conf?25.10.2018 в 08:52 #10490MikhailМодераторДа, ссылка не работает, к сожалению. Нужный файл лежит в архиве дистрибутива Линукс.
25.10.2018 в 14:50 #10493kustarУчастникЕще вопрос специалистам:
в моем дистрибе (Centos 7) нет утилиты a2ensite. Если я правильно понял, ее задача — сделать линк в папке sites-enabled на конф-файл в папке sites-available?25.10.2018 в 14:59 #10494kustarУчастникНастроил Apache, как написано.
СКАДА Сервер и коммуникатор работают на этой же машине.
При открывании web странички прохожу логин. Пароли юзеров распознаются правильно.
Представления показывает правильно, все КП на месте. При попытке открыть таблицу она (таблица) отображается, но данные в нее не попадают:
Error updating current data
Error updating hourly dataСхем тоже нет:
Scheme loading failed. Try to reload schemeГде-то проблема с путями?
25.10.2018 в 15:14 #10495kustarУчастникС xsp сервером все нормально.
25.10.2018 в 21:51 #10497MikhailМодераторScheme loading failed. Try to reload scheme
Не работают веб-сервисы по технологии WCF. Вы можете увидеть более подробную ошибку в консоли браузера по F12. Но вот как её исправить, готовых рецептов, не могу предложить. Разве что установить на другом сервере на Ubuntu (на нём наиболее опробовано), сравнить результат и попытаться понять, в чём отличия установки.
Что-то будем делать в будущем для упрощения работы на Linux, есть некоторые идеи.
28.10.2018 в 14:56 #10510kustarУчастникПоставить Ubuntu у меня, к сожалению, нет возможности.
Параллельно работают SCADA + IIS на Win7 и SCADA + Apache.
Структура данных одинакова.
Открываю одну и ту же схему на странице с Apache и на странице с IIS.Консоль по F12 с Apache:
16:37:02 Load view 31 by /scada/plugins/Scheme/Scheme.aspx?viewID=31
/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=28&cnlNums=%20&viewIDs=%20&viewID=33&lastCount=100&startEvNum=1&dataAge=0&_=1540726392040:1 Failed to load resource: the server responded with a status of 404 (Not Found)
schememodel.js:569 16:37:02 Start loading scheme
/scada/plugins/Scheme/SchemeSvc.svc/GetSchemeDoc?viewID=31&viewStamp=0&_=1540726392041:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 16:37:02 Request ‘/scada/plugins/Scheme/SchemeSvc.svc/GetSchemeDoc‘ failed: 404 (Not Found)Как мне кажется, в этих путях не хватает ScadaWeb
Где эти пути прописаны?29.10.2018 в 20:01 #10536MikhailМодераторЭто виртуальные пути, которые контролирует технология WCF в рамках .NET.
По WCF много нареканий, будем заменять её на более современные средства, но это далеко не сразу. Какая-то проблема при установке Mono в связке с Apache.Давайте проверим версии Mono и Apache, какие у Вас?
Приведите более полный лог консоли браузера, например, при открытии не схемы, а таблицы.30.10.2018 в 10:41 #10545kustarУчастникВерсии софта:
[root@main goodman]# mono -V
Mono JIT compiler version 5.14.0.177 (tarball Sat Aug 4 08:32:47 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. http://www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(3.6.0svn-mono-/)
GC: sgen (concurrent by default)
[root@main goodman]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Jun 27 2018 13:48:5930.10.2018 в 10:46 #10546kustarУчастникПопытка открыть таблицу.
12:43:04 Load view 43 by /scada/plugins/Table/Table.aspx?viewID=43
m.gif:1 Failed to load resource: the server responded with a status of 404 (Not Found)
v.gif:1 Failed to load resource: the server responded with a status of 404 (Not Found)
temp.gif:1 Failed to load resource: the server responded with a status of 404 (Not Found)
g.gif:1 Failed to load resource: the server responded with a status of 404 (Not Found)
/scada/ClientApiSvc.svc/GetCurCnlDataExt?cnlNums=%20&viewIDs=%20&viewID=43&_=1540885346817:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:04 Request ‘ClientApiSvc.svc/GetCurCnlDataExt’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetHourCnlData?year=2018&month=10&day=30&startHour=0&endHour=23&cnlNums=%20&viewIDs=%20&viewID=43&existing=false&dataAge=%20&_=1540885346818:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:04 Request ‘ClientApiSvc.svc/GetHourCnlData’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=30&cnlNums=%20&viewIDs=%20&viewID=43&lastCount=100&startEvNum=0&dataAge=0&_=1540885346819:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:04 Request ‘ClientApiSvc.svc/GetEvents’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetCurCnlDataExt?cnlNums=%20&viewIDs=%20&viewID=43&_=1540885346820:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:05 Request ‘ClientApiSvc.svc/GetCurCnlDataExt’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=30&cnlNums=%20&viewIDs=%20&viewID=43&lastCount=100&startEvNum=1&dataAge=0&_=1540885346821:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:05 Request ‘ClientApiSvc.svc/GetEvents’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetCurCnlDataExt?cnlNums=%20&viewIDs=%20&viewID=43&_=1540885346822:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:06 Request ‘ClientApiSvc.svc/GetCurCnlDataExt’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=30&cnlNums=%20&viewIDs=%20&viewID=43&lastCount=100&startEvNum=1&dataAge=0&_=1540885346823:1 Failed to load resource: the server responded with a status of 404 (Not Found)
utils.js:151 12:43:06 Request ‘ClientApiSvc.svc/GetEvents’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
jquery.min.js:4 GET http://10.162.1.254/scada/ClientApiSvc.svc/CheckLoggedOn?_=1540885346824 404 (Not Found)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
checkLoggedOn @ clientapi.js:177
_checkLoggedOn @ mastermain.js:50
(anonymous) @ mastermain.js:59
utils.js:151 12:43:07 Request ‘ClientApiSvc.svc/CheckLoggedOn’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
(anonymous) @ clientapi.js:157
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
checkLoggedOn @ clientapi.js:177
_checkLoggedOn @ mastermain.js:50
(anonymous) @ mastermain.js:59
jquery.min.js:4 GET http://10.162.1.254/scada/ClientApiSvc.svc/GetCurCnlDataExt?cnlNums=%20&viewIDs=%20&viewID=43&_=1540885346825 404 (Not Found)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
utils.js:151 12:43:07 Request ‘ClientApiSvc.svc/GetCurCnlDataExt’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
(anonymous) @ clientapi.js:157
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
jquery.min.js:4 GET http://10.162.1.254/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=30&cnlNums=%20&viewIDs=%20&viewID=43&lastCount=100&startEvNum=1&dataAge=0&_=1540885346826 404 (Not Found)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getEvents @ clientapi.js:209
updateEvents @ events.js:251
startPartialUpdatingEvents @ events.js:335
utils.js:151 12:43:07 Request ‘ClientApiSvc.svc/GetEvents’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
(anonymous) @ clientapi.js:157
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getEvents @ clientapi.js:209
updateEvents @ events.js:251
startPartialUpdatingEvents @ events.js:335
jquery.min.js:4 GET http://10.162.1.254/scada/ClientApiSvc.svc/GetCurCnlDataExt?cnlNums=%20&viewIDs=%20&viewID=43&_=1540885346827 404 (Not Found)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
setTimeout (async)
(anonymous) @ table.js:347
(anonymous) @ table.js:280
(anonymous) @ clientapi.js:159
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
utils.js:151 12:43:08 Request ‘ClientApiSvc.svc/GetCurCnlDataExt’ failed: 404 (Not Found)
logFailedRequest @ utils.js:151
(anonymous) @ clientapi.js:157
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
setTimeout (async)
(anonymous) @ table.js:347
(anonymous) @ table.js:280
(anonymous) @ clientapi.js:159
(anonymous) @ ajaxqueue.js:44
i @ jquery.min.js:2
fireWith @ jquery.min.js:2
z @ jquery.min.js:4
(anonymous) @ jquery.min.js:4
load (async)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
scada.AjaxQueue._request @ ajaxqueue.js:36
setTimeout (async)
scada.AjaxQueue._run @ ajaxqueue.js:64
scada.AjaxQueue.append @ ajaxqueue.js:77
scada.AjaxQueue.ajax @ ajaxqueue.js:84
_request @ clientapi.js:128
getCurCnlDataExt @ clientapi.js:191
updateCurData @ table.js:262
startUpdatingCurData @ table.js:342
jquery.min.js:4 GET http://10.162.1.254/scada/ClientApiSvc.svc/GetEvents?year=2018&month=10&day=30&cnlNums=%20&viewIDs=%20&viewID=43&lastCount=100&startEvNum=1&dataAge=0&_=1540885346828 404 (Not Found)Таблица на странице отображается, но без данных.
Error updating current data
Error updating hourly data30.10.2018 в 20:52 #10570MikhailМодераторМоно достаточно свежая. Однако текущая 5.16.0 предпочтительна, потому что была исправлена важная ошибка с утечкой памяти. Правда на проблему это, скорее всего, не повлияет.
Параллельно работают SCADA + IIS на Win7 и SCADA + Apache.
SCADA + Apache на какой операционке работают?
Затрудняюсь ответить, как можно решить данную проблему. Нужно искать отличия от системы, на которой всё нормально работает.
31.10.2018 в 12:08 #10576kustarУчастникОперационка Centos7, семейство RH.
Обновил mono:
[root@main goodman]# mono -V
Mono JIT compiler version 5.16.0.187 (tarball Mon Oct 8 08:52:21 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. http://www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(3.6.0svn-mono-/)
GC: sgen (concurrent by default)Изменений нет.
Михаил, может быть есть какие-нибудь простые тестовые приложения?
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.