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

  • Создана: 01.10.2018 10:58
  • Обновлена: 21.12.2022 08:12

Для отображения UML-диаграмм в приложении, используется специальная библиотека PlantUML. По умолчанию используется серверный вариант этой библиотеки, расположенный на наших серверах.

Если Devprom ALM используется в закрытом периметре, то вы можете развернуть сервер PlantUML на собственном сервере. Проще всего это сделать при помощи готового Docker-контейнера PlantUML, выполнив команду:

docker run --restart unless-stopped -d --name plantuml -p 8080:8080 plantuml/plantuml-server

Вы можете указать собственный порт, заменив левое выражение в паре 8080:8080

Далее необходимо настроить веб-сервер apache2, добавив в конфигурационный файл следующие строки:

ProxyRequests Off
ProxyPreserveHost On
<Location "/plantuml">
    Options None
    Require all granted
    ProxyPass http://127.0.0.1:8080
    ProxyPassReverse http://127.0.0.1:8080
</Location>

Предварительно необходимо убедиться, что установлены необходимые модули apache2:

a2enmod proxy
a2enmod proxy_http

Теперь необходимо настроить приложение Devprom ALM, изменив в файле /var/www/devprom/htdocs/settings_server.php (расположение файла зависит от ОС и варианта установки) константу:

define('PLANTUML_SERVER_URL', 'http://<имя сервера>');

где вместо localhost необходимо указать адрес или имя вашего сервера.

После перезапуска apache2 по пути http://<имя сервера>/plantuml/img/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000 должна отобразиться тестовая модель.

Возможные проблемы

На дистрибутивах 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