Развертывание локального сервера Draw.io

  • Создана: 21.12.2022
  • Обновлена: 14.06.2023

Для отображения и редактирования диаграмм в приложении, используется библиотека 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


Решения для поддержки процессов разработки Devprom Software