Развертывание локального сервера PlantUML
Для отображения 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