Установка Геопортала сведений ГИСОГД (Agate)#

Важно

  • Необходимо устанавливать под отдельным пользователем без прав суперпользователя

Установка в открытом контуре#

Открытый контур состоит из Геопортала сведений ГИСОГД (Agate), его GeoServer, файлового хранилища S3, а также его БД. (См. Пакет установки и рекомендуемая схема развертывания)

Подсказка

Обычно в открытом контуре необходимо не более двух серверов:

  • на первом - разворачивается docker-контейнер с Порталом ГИСОГД и GeoServer

  • на втором - БД геопортала ГИСОГД

Установка БД Геопортала сведений ГИСОГД#

Данный пункт пропускается, если уже есть установленный сервер БД.

Шаги по установке БД:

1. Подключитесь к серверу на котором будет установлена БД Геопортала сведений ГИСОГД. Например, средствами WinSCP.

2. Скопируйте директорию «database» из пакета установки в директорию, откуда будет производиться установка БД Геопортал сведений ГИСОГД. Например: /home/user/install/.

3. Откройте терминал и перейдите в директорию с установочными файлами, выполнив команду:

cd /home/user/install/database

4. Установите СУБД, выполнив команду:

bash astralinux_install_postgresql.sh
bash centos_install_postgresql.sh

5. Проследуйте инструкциям мастера установки. В качестве имени БД рекомендуется использовать portal_agate.

Установка Геопортала сведений ГИСОГД#

После выполнения указанных ниже шагов будут развернуты контейнеры, содержащие Геопортал сведений ГИСОГД, его GeoServer, S3 совместимое файловое хранилище и реверс прокси NGINX.

Шаги по установке Геопортала сведений ГИСОГД:

1. Убедитесь, что на сервере открытого контура установлены средства поддержки контейнеризации docker и docker-compose. (См. Установка Docker)

2. Убедитесь, что Docker запущен. Проверить запуск можно командой systemctl status docker

3. Скопируйте директорию «agate» из пакета установки в директорию, куда будет производиться установка портала. Например: /opt/.

4. Укажите свои значения в файле конфигурации для следующих переменных среды:

  1. Задайте свои настройки веб-сервера для Геопортала сведений ГИСОГД:

  • разместите ssl-сертификат в репозиторий по умолчанию /etc/ssl/certs/ и ключ сертификата в /etc/ssl/private/.

  1. Откройте файл конфигурации /opt/agate/.env в режиме редактирования. Если указанный файл не отображается в файловом менеджере, то включите отображение скрытых файлов.

  2. Задайте свои настройки подключения к базе данных Портала ГИСОГД:

    PORTAL_DB_SERVER=<dns-имя или ip-адрес сервера БД Портала ГИСОГД>

    PORTAL_DB_PORT=<порт сервера БД Портала ГИСОГД>

    PORTAL_DB_NAME=<имя БД Портала ГИСОГД>

    PORTAL_DB_USER_ID=<пользователь БД Портала ГИСОГД>

    PORTAL_DB_USER_PASSWORD=<пароль пользователя БД Портала ГИСОГД>

    PORTAL_GEOSERVER_PORT=8080, где 8080 - порт, по которому будет доступен geoserver запущенный в docker-контейнере

    PORTAL_GEOSERVER_PROXYTIMEOUTINSECONDS=180, где 180 - время (в секундах) ожидания ответа от geoserver при запросе тайлов.

    NGINX_HOST=<если на сервере не установлен NGINX, то измените настройку NGINX_HOST на значение dns-имени, которое будет доступно в интернет и которое будет использоваться в качестве имени виртуального сервера NGINX и будет обрабатываться директивой NGINX server_name, например, agate.gemsdev.ru.

    если на сервере установлен реверс прокси NGINX, то измените настройку NGINX_HOST на значение «localhost»>

    NGINX_PORT=<если на сервере не установлен NGINX, то измените настройку NGINX_PORT на значение 443.

    если на сервере установлен реверс прокси NGINX, то в вашем файле конфигурации NGINX(/etc/nginx/sites-available/isogd) создайте новую секцию «server», в которую вставьте следующее содержимое и перезапустите NGINX:

    server {
      server_name <dns-имя Портала ГИСОГД>;
      listen 443 ssl http2;
      ssl_certificate <путь до файла ssl сертификата, например /opt/agate/reverseproxy/ssl/certs/agate.crt>;
      ssl_certificate_key <путь до файла ключа ssl сертификата,например /opt/agate/reverseproxy/ssl/private/agate.key>;
      location / {
        proxy_pass https://localhost:9443;
      }
    }>
    

    NGINX_SSL_CERT_FILE=<имя файла ssl-сертификата>

    NGINX_SSL_CERT_KEY_FILE=<имя файла ключа ssl-сертификата>

  3. Сохраните изменения в файле конфигурации .env.

5. Установите Портал ГИСОГД

Откройте терминал и перейдите в директорию с установочными файлами, выполнив команду:

cd /opt/agate

Запустите установку Геопортал сведений ГИСОГД командой:

bash app_install.sh

Для проверки установки откройте Геопортал сведений ГИСОГД, указав в браузере адрес (url) Портала ГИСОГД.

Например:

https://agate.gemsdev.ru.

Настройка Geoserver#

По умолчанию Geoserver содержится в docker-контейнере.

Для входа в GeoServer введите в адресной строке браузера:

http://[dns-имя/ ip-адрес GeoServer]/geoserver/web

На GeoServer следует настроить геосетку с именем EPSG:3857 и настройками вида:

../../../../../_images/geoserver1.png

Cледует в разделе настройки кеширования сделать её геосеткой по умолчанию:

../../../../../_images/cash1.png

Использование внешнего GeoServer#

При необходимости можно использовать внешний GeoServer, например, размещённый на другом сервере. Для этого необходимо:

  1. Убрать символ # в файле .env с переменной #PORTAL_GEOSERVER_URL=http://[dns-имя/ip-адрес GeoServer]:[значение, указанное в переменной PORTAL_GEOSERVER_PORT]/geoserver.

  2. Заменить в файле docker-compose.yml строку GeoServer_Url=http://geoserver:8080/geoserver на GeoServer_Url=${PORTAL_GEOSERVER_URL}.

  3. Перезапустить Портал ГИСОГД.

Установка в закрытом контуре#

Закрытый контур состоит из Конфигуратора Геопортал сведений ГИСОГД и компонентов ГИСОГД (БД, GeoServer, файловое хранилище). (См. Пакет установки и рекомендуемая схема развертывания)

Подсказка

В закрытом контуре устанавливается конфигуратор (содержится в docker-контейнере). Конфигуратор устанавливается на сервере с основным приложением (Системой)

Установка Конфигуратора портала#

После выполнения данного пункта будет развернут контейнер, содержащий Конфигуратор геопортала ГИСОГД.

Шаги по установке Конфигуратора:

1. Убедитесь, что на сервере закрытого контура установлены средства поддержки контейнеризации docker и docker-compose. (См. Установка Docker)

2. Убедитесь, что Docker запущен. Проверить запуск можно командой systemctl status docker

3. Скопируйте директорию «agate_configurator» из пакета установки в директорию, куда будет производиться установка конфигуратора портала. Например: /opt/.

4. Укажите свои значения в файле конфигурации для следующих переменных среды. Для этого:

  1. Откройте файл конфигурации в режиме редактирования /opt/agate-configurator/env.

  2. Задайте свои настройки подключения к базе данных ГИСОГД:

IAS_DB_SERVER=<dns-имя или ip-адрес сервера БД ГИСОГД>

IAS_DB_PORT=<порт сервера БД ГИСОГД>

IAS_DB_NAME=<имя БД ГИСОГД>

IAS_DB_USER_ID=<пользователь БД ГИСОГД>

IAS_DB_USER_PASSWORD=<пароль пользователя БД ГИСОГД>

  1. Задайте свои настройки подключения к файловому хранилищу ГИСОГД:

IAS_FILE_STORAGE_URL=<url файлового хранилища>

  1. Задайте свои настройки подключения к базе данных Портала ГИСОГД:

PORTAL_DB_SERVER=<dns-имя или ip-адрес сервера БД Портала ГИСОГД>

PORTAL_DB_PORT=<порт сервера БД Портала ГИСОГД>

PORTAL_DB_NAME=<имя БД Портала ГИСОГД>

PORTAL_DB_USER_ID=<пользователь БД Портала ГИСОГД>

PORTAL_DB_USER_PASSWORD=<пароль пользователя БД Портала ГИСОГД>

  1. Укажите сервер Портала ГИСОГД:

PORTAL_SERVER=<dns-имя или ip-адрес сервера Портала ГИСОГД>

CONFIGURATOR_URL – адрес конфигуратора геопортала ГИСОГД

CONFIGURATOR_PORT – порт конфигуратора геопортала ГИСОГД

  1. Укажите GeoServer Портала ГИСОГД:

AGATE_GEOSERVER_URL – адрес GeoServer геопортала ГИСОГД. Например, http://172.16.55.114:8080/geoserver/

AGATE_GEOSERVER_LOGIN – логин GeoServer геопортала ГИСОГД

AGATE_GEOSERVER_PASSWORD – пароль GeoServer геопортала ГИСОГД (настройки GeoServer)

  1. Укажите порт файлового хранилища Портала ГИСОГД:

PORTAL_S3_PORT=<порт файлового хранилища Портала ГИСОГД>

  1. Укажите адрес Identity Server Geometa:

IDENTITY_SERVER_URL=<dns-имя или ip-адрес Identity Server Geometa>

  1. Укажите доменное имя и адрес Системы:

GEOMETA_DNS_NAME – доменное имя Geometa

GEOMETA_IP – ip-адрес Geometa

  1. Сохраните изменения в файле конфигурации .env.

Важно

Для ускорения работы Портала геометрия источника подвергается симплификации. Это может приводить к искажению геометрии. Для того чтобы геометрия объектов отображалась как на источнике, необходимо в .env-файле для аргумента GEOMETRY_SIMPLIFY_TOLERANCE поставить значение 0. При уменьшении значения для GEOMETRY_SIMPLIFY_TOLERANCE, геометрия объекта сохраняет свое очертание, как в Системе.

5. Установите Конфигуратор портала.

Откройте терминал и перейдите в директорию с установочными файлами, выполнив команду:

cd /opt/agate_configurator

Запустите установку Конфигуратора портала ГИСОГД командой:

bash app_install.sh

6. Создайте новый NGINX-файл для Конфигуратора портала ГИСОГД.

Перейдите в директорию nginx командой:

cd /etc/nginx/sites-available

Создайте файл конфигурации nginx, выполнив команду:

touch agate_configurator

Откройте созданный файл на редактирование /etc/nginx/sites-available/agate_configurator и заполните содержимым, указанным ниже. Замените значения свойств «server_name», «ssl_certificate», «ssl_certificate_key».

server {
    server_name <dns-имя Конфигуратора портала ГИСОГД>;
    listen 443 ssl http2;
    ssl_certificate <путь до файла ssl сертификата>;
    ssl_certificate_key <путь до файла ключа ssl сертификата>;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    client_max_body_size 10m;
    client_body_buffer_size 128k;

    location / {
        proxy_pass http://localhost:9002;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }

    location /idsrv/ {
        proxy_pass http://sts/;
    }
}

Выполните команду:

ln -s /etc/nginx/sites-available/agate_configurator /etc/nginx/sites-enabled/

Для применения настроек перезапустите NGINX. Например, выполнив команду:

systemctl restart nginx

Для проверки установки откройте Конфигуратор портала ГИСОГД, указав в браузере адрес (url) Конфигуратора портала ГИСОГД.

Например: https://agate-configurator.gemsdev.ru.

Примечание

Убедитесь, что в папке /etc/nginx/sites-enabled появился ярлык agate_configurator с тем же содержимым, что в файле /etc/nginx/sites-available/agate_configurator.

При открытии возникает ошибка «IDX20803: Unable to obtain configuration from: „[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]“»#

В случае, если возникает вышеуказанная ошибка, решить проблему можно если убрать в nginx параметр размера буфера заголовка запроса, например client_body_buffer_size 128k