ExaOffice

Программное обеспечение для вашего бизнеса.

+7 925 702-80-13 Telegram, WhatsApp
9:00 – 18:00 мск
info@exaoffice.ru

Exa




Настройка сервера организации для доступа к базе данных извне

Здесь представлены требования к серверу, а также способ настройки сервера (на котором размещается центральная база данных), когда для Exa[mda] требуется использовать модуль бронирования или мобильное приложение Exa. Эта информация актуальна только в том случае, если центральная база данных размещается на собственном сервере организации, а не на сервере ExaOffice.

Требования к серверу

Операционная система MS Windows.

Работающий веб-сервер на компьютере для исполнения файлов php при вызове извне.

Размещение и настройка обработчика API

В одной из папок разместите файл Exa[mda]Public.exe. Скачать этот файл можно здесь: https://exaoffice.ru/downloads/Exa[mda]Public.exe. Данный файл является обработчиком вызовов API, он принимает команды от сайта, обращается к базе данных и выдает результат.

Рядом с обработчиком разместите файл Exa[mda]Public.ini со следующим содержимым:

[Settings]
Log=1
LogPath="logs\"
DataBasePath="ExaDataBase\"

Описание параметров:

Log - записывать журнал обращений. Создается файл на каждое обращение к обработчику.

LogPath - путь, где следует хранить созданные журналы. Путь указывается относительно обработчика.

DataBasePath - путь, где находится папка с базой данных (это та самая папка, которая создана по инструкции Размещение центральной базы данных на сервере организации). Путь указывается относительно обработчика. Внимание: название папки базы данных должно точно соответствовать идентификатору базы данных. Например, если идентификатором базы данных является exdemo, то файлы базы данных для указанного выше примера должны находиться в папке ExaDataBase\exdemo\.

Убедитесь, что обработчику доступна запись в обе указанные папки (есть необходимые права).

Размещение php-кода для вызова обработчика API

Разместите рядом с обработчиком файл настроек examdapublic.php со следующим содержимым:

<?php
$args = $_POST;
$request = 'Exa[mda]Public.exe '; // переменная содержит путь к обработчику
foreach($args as $arg)		
    $request.= '"'.iconv('utf-8', 'windows-1251', $arg).'" ';
exec($request, $output, $result);
echo implode('|', $output);
?>

Убедитесь, что этому файлу доступен вызов обработчика (есть необходимые права).

Вызов php-кода из интернета

Это наиболее сложный этап, потребующий квалифицированного технического специалиста.

Нужно добиться, чтобы php-файл можно было вызвать через интернет, и убедиться, что код этого файла будет исполнен.

Если вы настраиваете компьютер в вашей организации, то нужно получить у вашего провайдера внешний ip-адрес. Домен приобретать необязательно. Затем нужно установить и настроить дополнительное ПО для разворачивания веб-сервера. Таких комплектов программ множество, например, IIS от Microsoft или бесплатный Open Server. Также, возможно, потребуется "пробросить" порт 80 через ваш маршрутизатор.

Если вы используете решение VPS или VDS, то часто нужное ПО там уже установлено.

В итоге php-файл должен иметь постоянный URL, например, https://mycompanysite.ru/path/examdapublic.php. Убедитесь, что файл может быть вызван через браузер на любом другом компьютере: после каждого вызова должен создаваться файл журнала (см. параметры обработчика выше).

Связка модуля бронирования с обработчиком API

В код модуля бронирования в узел div добавьте параметр data-call с полным URL созданного выше php-кода. Специальные символы в URL необходимо закодировать. Для указанного выше примера это будет выглядеть так:

data-call="https%3A%2F%2Fmycompanysite.ru%2Fpath%2Fexamdapublic.php"

Размещение и настройка Exa-сервера для вызова обработчика API

В одной из папок разместите файл ExaWebServer.exe. Скачать этот файл можно здесь: https://exaoffice.ru/downloads/ExaWebServer.exe. Данный файл является сервером. Он прослушивает определенный порт (по умолчанию 51500), принимает по нему команды, вызывает обработчик API и возвращает его результат.

Рядом с сервером разместите файл настроек ExaWebServer.ini со следующим содержимым:

[Settings]
Log=1
LogPath="logs\"
Port=51500
DataBasesPath="ExaDataBases\"
[app_Exa[mda]Public]
Path=Exa[mda]Public.exe
Standing=1

Описание параметров:

Log - записывать журнал обращений. Создается файл на каждый запуск сервера и пополняется по мере его работы.

LogPath - путь, где следует хранить созданные журналы. Путь указывается относительно сервера.

Port - номер порта, который должен прослушиваться сервером.

DataBasesPath - путь, где находятся папки с базами данных. Путь указывается относительно сервера. В этой папке должны находиться папки, содержащие файлы баз данных, название каждой папки должно точно соответствовать идентификатору базы данных. Например, если идентификатором базы данных является exdemo, то файлы базы данных для указанного выше примера должны находиться в папке ExaDataBases\exdemo\.

Path - обработчик API, который должен запускаться для исполнения команд.

Standing - используется для оптимизации. При значении 0 обработчик API запускается отдельно для выполнения каждой команды, при этом он тратит время на свою первичную инициализацию (чтение файлов базы данных и другое). При значении 1 обработчик API остается запущенным некоторое время после первого запуска, выполняя поступающие команды по одной и той же базе данных.

Убедитесь, что серверу доступна запись в обе указанные папки (есть необходимые права).

Откройте брандмауэр Windows и добавьте разрешающее правило для входящих подключений по указанному выше порту для приложения ExaWebServer.

Поместите сервер в автоматическую загрузку при старте системы.

Запустите сервер.

Проверьте, что сервер доступен извне. Для этого в браузере перейдите по адресу вашего сервера с указанием номера порта. Например: http://mycompanysite.ru:51500/. Если отобразится сообщение "Empty app", значит сервер отработал и настройка проведена успешно.

Настройка мобильного приложения Exa

В настройках мобильного приложения Exa укажите адрес сервера вместе с портом. Например: http://mycompanysite.ru:51500/.

 


Мы стараемся как можно оперативнее обеспечивать вас актуальной справочной информацией. Ввиду частых обновлений приложения информация в этом материале может не совсем соответствовать или быть неполной. Благодарим за понимание.
Не нашли ответа на ваш вопрос? Напишите по электронному адресу info@exaoffice.ru — мы ответим максимально быстро.

Сохранить этот документ как PDF

Контакты

+7 925 702-80-13 Telegram, WhatsApp

info@exaoffice.ru

 

Техническая поддержка

+7 925 702-80-13 Telegram, WhatsApp

support@exaoffice.ru

 

Мы используем только лицензионное ПО

Win10 Win12 server Delphi Delphi TM

© 2024 ExaOffice