Развертывание локального сервера Draw.io
Для отображения и редактирования диаграмм в приложении, используется библиотека draw.io. По умолчанию используется серверный вариант этой библиотеки, расположенный на наших серверах.
Если Devprom ALM используется в закрытом периметре, то вы можете развернуть сервер draw.io на собственном сервере. Проще всего это сделать при помощи готового Docker-контейнера, выполнив команду:
docker run --restart unless-stopped -d --name="draw" -p 8083:8080 -p 8446:8443 jgraph/drawio
Вы можете указать собственный порт, заменив левое выражение в паре 8083:8080
Далее необходимо настроить веб-сервер apache2, добавив в конфигурационный файл следующие строки:
ProxyRequests Off
ProxyPreserveHost On
<Location "/draw-io">
Options None
Require all granted
ProxyPass http://127.0.0.1:8083/
ProxyPassReverse http://127.0.0.1:8083/
</Location>
Предварительно необходимо убедиться, что установлены необходимые модули apache2:
a2enmod proxy
a2enmod proxy_http
Теперь необходимо настроить приложение Devprom ALM, изменив в файле /var/www/devprom/htdocs/settings_server.php (расположение файла зависит от ОС и варианта установки) константу:
define('DIAGRAMS_SERVER_URL','http://<имя сервера>/draw-io/');
По окончании настроек необходимо перезапустить apache2.
Возможные проблемы
На дистрибутивах CentOS может быть заблокированы локальные прокси запросы. В логе Apache будет такая ошибка:
[proxy:error] [pid 7665:tid 7832] (13)Permission denied: AH00957: http: attempt to connect to 127.0.0.1:8080 (127.0.0.1:8080) failed
Для ее устранения необходимо выполнить команду:
/usr/sbin/setsebool -P httpd_can_network_connect 1