Установка Геопортала сведений ГИСОГД (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. Укажите свои значения в файле конфигурации для следующих переменных среды:
Задайте свои настройки веб-сервера для Геопортала сведений ГИСОГД:
разместите ssl-сертификат в репозиторий по умолчанию /etc/ssl/certs/ и ключ сертификата в /etc/ssl/private/.
Откройте файл конфигурации /opt/agate/.env в режиме редактирования. Если указанный файл не отображается в файловом менеджере, то включите отображение скрытых файлов.
Задайте свои настройки подключения к базе данных Портала ГИСОГД:
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-сертификата>
Сохраните изменения в файле конфигурации .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 и настройками вида:
Cледует в разделе настройки кеширования сделать её геосеткой по умолчанию:
Использование внешнего GeoServer#
При необходимости можно использовать внешний GeoServer, например, размещённый на другом сервере. Для этого необходимо:
Убрать символ # в файле .env с переменной
#PORTAL_GEOSERVER_URL=http://[dns-имя/ip-адрес GeoServer]:[значение, указанное в переменной PORTAL_GEOSERVER_PORT]/geoserver
.Заменить в файле docker-compose.yml строку
GeoServer_Url=http://geoserver:8080/geoserver
наGeoServer_Url=${PORTAL_GEOSERVER_URL}
.Перезапустить Портал ГИСОГД.
Установка в закрытом контуре#
Закрытый контур состоит из Конфигуратора Геопортал сведений ГИСОГД и компонентов ГИСОГД (БД, GeoServer, файловое хранилище). (См. Пакет установки и рекомендуемая схема развертывания)
Подсказка
В закрытом контуре устанавливается конфигуратор (содержится в docker-контейнере). Конфигуратор устанавливается на сервере с основным приложением (Системой)
Установка Конфигуратора портала#
После выполнения данного пункта будет развернут контейнер, содержащий Конфигуратор геопортала ГИСОГД.
Шаги по установке Конфигуратора:
1. Убедитесь, что на сервере закрытого контура установлены средства поддержки контейнеризации docker и docker-compose. (См. Установка Docker)
2. Убедитесь, что Docker запущен. Проверить запуск можно командой systemctl status docker
3. Скопируйте директорию «agate_configurator» из пакета установки в директорию, куда будет производиться установка конфигуратора портала. Например: /opt/.
4. Укажите свои значения в файле конфигурации для следующих переменных среды. Для этого:
Откройте файл конфигурации в режиме редактирования /opt/agate-configurator/env.
Задайте свои настройки подключения к базе данных ГИСОГД:
IAS_DB_SERVER=<dns-имя или ip-адрес сервера БД ГИСОГД>
IAS_DB_PORT=<порт сервера БД ГИСОГД>
IAS_DB_NAME=<имя БД ГИСОГД>
IAS_DB_USER_ID=<пользователь БД ГИСОГД>
IAS_DB_USER_PASSWORD=<пароль пользователя БД ГИСОГД>
Задайте свои настройки подключения к файловому хранилищу ГИСОГД:
IAS_FILE_STORAGE_URL=<url файлового хранилища>
Задайте свои настройки подключения к базе данных Портала ГИСОГД:
PORTAL_DB_SERVER=<dns-имя или ip-адрес сервера БД Портала ГИСОГД>
PORTAL_DB_PORT=<порт сервера БД Портала ГИСОГД>
PORTAL_DB_NAME=<имя БД Портала ГИСОГД>
PORTAL_DB_USER_ID=<пользователь БД Портала ГИСОГД>
PORTAL_DB_USER_PASSWORD=<пароль пользователя БД Портала ГИСОГД>
Укажите сервер Портала ГИСОГД:
PORTAL_SERVER=<dns-имя или ip-адрес сервера Портала ГИСОГД>
CONFIGURATOR_URL – адрес конфигуратора геопортала ГИСОГД
CONFIGURATOR_PORT – порт конфигуратора геопортала ГИСОГД
Укажите GeoServer Портала ГИСОГД:
AGATE_GEOSERVER_URL – адрес GeoServer геопортала ГИСОГД. Например, http://172.16.55.114:8080/geoserver/
AGATE_GEOSERVER_LOGIN – логин GeoServer геопортала ГИСОГД
AGATE_GEOSERVER_PASSWORD – пароль GeoServer геопортала ГИСОГД (настройки GeoServer)
Укажите порт файлового хранилища Портала ГИСОГД:
PORTAL_S3_PORT=<порт файлового хранилища Портала ГИСОГД>
Укажите адрес Identity Server Geometa:
IDENTITY_SERVER_URL=<dns-имя или ip-адрес Identity Server Geometa>
Укажите доменное имя и адрес Системы:
GEOMETA_DNS_NAME – доменное имя Geometa
GEOMETA_IP – ip-адрес Geometa
Сохраните изменения в файле конфигурации .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.