Меню

Установка (Windows)

Данный раздел представляет собой пошаговое руководство по установке решения Navixy On-premise.

Это руководство описывает процесс установки платформы на Windows. Рекомендуется использование ОС Windows Server 2016 или более новой.

Если вы хотите установить платформу на любую другую версию Windows, вы можете также придерживаться этого руководства, поскольку основные принципы остаются такими же.

В целом, платформа работает одинаково на Linux и Windows, поскольку в ней используется одно и то же программное обеспечение. Основное различие заключается в том, как работают службы в Windows. Кроме того, в конфигурациях Nginx для Windows нет блоков предварительного просмотра, поскольку Nginx это не поддерживает.

Для выполнения установки необходима учетная запись с правами администратора. Неважно, будет ли это локальная или доменная учетная запись, поскольку платформа никак не связана с доменной инфраструктурой. Вам просто нужны административные привилегии для ее установки.

Установка требуемого ПО

 

Загрузите и установите необходимое программное обеспечение. Основным ПО являются:

  • MySQL 8.0 - требуется только сервер, остальные компоненты необязательны;
  • Java SE Development Kit необходимой версии (на настоящий момент 11);
  • Nginx - любая актуальная версия;
  • Любой архиватор, способный работать с архивами tar.gz (например, 7zip).

Java и MySQL должны быть добавлены в переменную среды PATH.

Загрузка и распаковка дистрибутива платформы

Вам необходимо получить установочный пакет платформы Navixy. Обычно он предоставляется в виде архива .tar.gz.
Распакуйте архив. В нем много вложенных папок, поэтому будьте осторожны, чтобы не превысить ограничение Windows в 255 символов в пути к файлу. Поместите папку "navixy-package" из архива в какой-нибудь каталог, например: C:\Users\Administrator\Downloads\navixy-package

Далее в руководстве это будет основная папка дистрибутива. Вы можете встретить пути наподобие "...navixy-package\db", что означает, что операции должны выполняться из этой папки.

Настройка MySQL

Откройте для редактирования файл my.ini. По умолчанию он расположен в этой папке: C:\ProgramData\MySQL\MySQL Server 8.0
Обратите внимание: эта папка - ProgramData, а не Program Files, и по умолчанию она скрыта в Windows.

Измените (или добавьте при отсутствии) следующие параметры в раздел [mysqld].

На уровне базы данных Navixy всегда работает с данными в часовом поясе UTC, поэтому необходимо установить этот часовой пояс по умолчанию для MySQL:
default-time-zone = '+00:00'
Установите SQL-mode следующим образом:
sql-mode="NO_ENGINE_SUBSTITUTION"
Для наиболее эффективного использования MySQL необходимо настроить его в соответствии с параметрами вашего сервера. Если ваш сервер будет использоваться только для платформы Navixy, установите следующий параметр на 70% от общего объема оперативной памяти. Например, если у вас 32 Гб оперативной памяти, установите следующее значение:
innodb_buffer_pool_size=22G

Перезапустите службу MySQL в меню "Службы" (services.msc) в Windows, чтобы применить изменения.

Подготовка баз данных

Теперь необходимо подготовить базы данных.

Войдите в MySQL из командной строки, от имени пользователя root, и выполните следующие действия. Замените $PASSWORD на новый пароль (любой на ваш выбор) для пользователя "Navixy", запомните его, он понадобится для дальнейших настроек.:


CREATE USER navixy@'%' IDENTIFIED BY '$PASSWORD' WITH MAX_QUERIES_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE google CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE tracking CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT USAGE ON *.* to navixy@'%';
GRANT ALL PRIVILEGES ON google.* TO navixy@'%';
GRANT ALL PRIVILEGES ON tracking.* TO navixy@'%';

Выйдите из MySQL обратно в cmd.

Измените директорию на ...navixy-package\db. Например:

C:\Users\Administrator\Downloads\navixy-package\db

Выполните следующую команду (само собой, замените $ROOTPASSWORD на пароль пользователя root в MySQL), чтобы заполнить базу данных google стандартными значениями:

mysql -uroot -p$ROOTPASSWORD google < google.sql

Удалите файлы updates.sql (используется только при обновлениях, сейчас не нужен) и google.sql (уже использован ранее):


del updates.sql
del google.sql

Убедитесь, что файлы удалены, и импортируйте остальные данные из папки DB в базу данных:

type *.sql | mysql -uroot -p$ROOTPASSWORD google

Выполните следующую команду для включения веб-брендинга:

INSERT INTO google.features_to_dealers (dealer_id, feature_code) values (1,1);

Добавьте следующую строку в базу данных, чтобы вы могли сохранять файлы из мобильного приложения на ваш сервер. Измените api.domain.com на ваш домен для API. Не забудьте изменить https на http, если вы не используете SSL.

INSERT INTO google.file_storages (id, engine, config) values (1, 'local_fs', '{"base_path":"./files/","base_upload_url":"https://api.domain.com/file/upload","base_download_url":"https://api.domain.com/file/dl","secret":"ervg4ver","upload_credentials_ttl":"10m","is_dynamic_preview_enabled": true,"dynamic_preview_pattern":"(.+)/file/dl/(.+)","dynamic_preview_replace":"$1/file/preview/$2","security_module":{"type":"hashid","salt":"vd8sgh8w3t4w","ttl":"7d","min_length":8}}');

Наконец, примените лицензионный ключ (fingerprint), который должен быть предоставлен вам техподдержкой Navixy. Это будет просто строка символов.
Вставьте лицензионный ключ в базу данных (измените $FINGERPRINT на полученное значение):

UPDATE google.variables SET value='$FINGERPRINT' WHERE var='fingerprint';

Fingerprint - это динамический лицензионный ключ. Он обновляется каждый раз, когда ваш сервер подключается к серверу лицензирования auth.navixy.com. Это происходит каждые 3-4 дня и при каждом запуске сервиса. Поэтому вам не нужно хранить его отдельно от платформы. Также по этой причине вы не можете использовать его на нескольких экземплярах платформы. Ключ можно использовать только на одном сервере.

Добавление папок для дальнейшей настройки

Создайте и заполните следующие папки:

C:\java
Скопируйте сюда папки api-server, sms-server и tcp-server из пакета navixy-package.

C:\nginx
Распакуйте сюда установочный пакет Nginx, как показано на скриншоте.

В папке C:\nginx создайте папку под названием www. В ней будут находиться файлы фронтенда.
Скопируйте в неё папки panel-v2 и pro-ui из пакета navixy-package.

В папке C:\nginx\conf создайте папку под названием sites-enabled. В ней будет располагаться конфигурация веб-сайтов платформы.

Добавьте следующую строку в файл C:\nginx\conf\nginx.conf, в любое место в блок http:
include sites-enabled/*.conf;

Конфигурация платформы: фронтенд

Папка "Pro-UI"

Откройте для редактирования файл Config.example.js в папке C:\nginx\www\pro-ui.
Измените следующую строку. Вместо api.domain.com укажите ваш домен для API.
apiRoot: '//api.domain.com',

Если у вас нет специального домена для API, и вы используете один домен для всех сервисов,укажите "/api" в конце значения:
apiRoot: '//domain.com/api',

Обратите внимание: в данном случае '//' является сокращением для HTTPS. Если ваш сайт не защищен SSL и использует HTTP, то вместо этого укажите 'http://'.

Сохраните файл под именем Config.js

Откройте файл app_config.example.sa.js в папке C:\nginx\www\pro-ui\static.
Укажите в следующей строке ваш домен для API (обратите внимание на http/https):
apiUrl: 'https://api.domain.com/api/',

Если у вас есть отдельный домен для API, значение должно выглядеть так: https://api.domain.com

Если вы используете единственный домен для всей платформы, значение должно выглядеть так: https://domain.com/api

Сохраните файл под именем app_config.js

Папка "Panel-v2" 

Откройте файл PConfig.example.sa.js в папке C:\nginx\www\panel-v2 and edit the followng.
Вновь укажите вместо api.domain.com ваш домен для API. Внимание: не удаляйте '/panel', просто измените доменное имя. Обратите внимание на http/https.
apiRoot: 'http://api.domain.com/panel',

Если вы используете один домен (а не три) с подкаталогами для сервисов, в этом случае у вас должно получиться: http://domain.com/api/panel

Измените saas.navixy.com на ваш домен для пользовательского интерфейса (без указания http/https):
paasCompanyUrl: 'saas.navixy.com',

Измените api.domain.com на ваш домен для API:
terminalHost: 'ws://api.domain.com:8383/',

Для SSL-защищенной версии необходимо заменить 'ws' на 'wss' и удалить порт ':8383'.
Эта строка используется только для GPRS-терминала (Air console) в вашей панели администратора. Если вы не собираетесь открывать порт 8383 и использовать GPRS-терминал, вы можете пропустить эту настройку (хотя делать это не рекомендуется).
Сохраните файл под именем PConfig.js

Настройка веб-сервера Nginx

Откройте папку C:\nginx\conf\sites-enabled.

Скопируйте в эту папку файл map.conf из папки ...navixy-package\templates.

Создайте файл с именем navixy.conf и заполните его необходимой конфигурацией Nginx с этой страницы:

Конфигурации Nginx

Выберите конфигурацию в зависимости от использования HTTP/HTTPS и количества доменов.

Если вы будете использовать SSL, вам не обязательно указывать полный путь к сертификатам в конфигурации Nginx. Вы можете создать директорию /etc/nginx/ssl и поместить туда сертификаты. В этом случае в конфигурации Nginx нужно указать короткие пути: ssl/name.crt и ssl/name.key

Обратите внимание, что если вы используете SSL, сертификат должен быть действительным

Он должен соответствовать закрытому ключу, иначе Nginx не сможет запуститься.

Кроме того, сертификат должен содержать всю цепочку сертификации, то есть в одном файле должен быть основной сертификат, промежуточный сертификат (или несколько) и корневой сертификат, как показано в примере ниже.

-----BEGIN CERTIFICATE-----
*содержимое сертификата для вашего сайта*
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
*содержимое промежуточного сертификата*
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
*содержимое корневого сертификата*
-----END CERTIFICATE-----

После завершения настройки запустите файл nginx.exe.

Чтобы автоматически запускать Nginx при старте системы, создайте для этого скрипт.

Создайте пакетный файл start-nginx.bat со следующим содержимым:


@echo off
cd c:\nginx
start nginx.exe

Поместите этот пакетный файл в планировщик задач Windows и настройте его выполнение при запуске сервера.

Конфигурация платформы: бэкенд

Перейдите в папку C:\java.

Ранее вы скопировали сюда три папки:

  • api-server
  • sms-server
  • tcp-server

Внутри каждой из них есть подпапка conf, в которой есть файл под названием db.properties.
В этом файле указываются настройки подключения платформы к базе данных.
Вам необходимо изменить учетные данные для подключения к базе данных для каждой из трёх служб.
Для этого отредактируйте следующие строки ($PASSWORD - это пароль для пользователя navixy, который вы создали ранее)

db.username=navixy
db.password=$PASSWORD

Если ваша база данных размещена на другом сервере, вам также необходимо изменить строку db.connectionString этих файлах. Укажите фактический адрес сервера базы данных вместо localhost. Больше ничего в этой строке менять не следует.

API-server

Перейдите в папку C:\java\api-server\conf и откройте файл config.properties.

Укажите полный адрес вашего домена для API (с указанием http:// или https:// в начале) в следующей строке:

api.externalBaseUrl=

Укажите настройки электронной почты, которые будут использоваться для обратной связи и запросов помощи от пользователей:

feedback.toEmail=test@localhost
feedback.defaultFromEmail=do-not-reply@localhsot
feedback.substituteFromEmail=false

feedback.toEmail - адрес получателя писем.
feedback.defaultFromEmail - отправитель писем по умолчанию (например, noreply@domain.com)
feedback.substituteFromEmail - переключает отправку письма от имени отправителя по умолчанию (false) или с личного адреса пользователя (true).

Добавьте следующую строку в конец конфигурации, чтобы настроить хранение файлов:
fileStorage.fileStorageId=1

TCP-server

Перейдите в папку C:\java\tcp-server\conf и откройте файл config.properties.

Укажите IP и доменное имя, которые используются для пользовательского интерфейса. Эти настройки будут использоваться при отправке команд автоматической активации трекеров.

externalIP=127.0.0.1
externalHostname=myhost.ru

Добавьте следующую строку в конец конфигурации, чтобы настроить файловое хранилище:
api.command.baseUrl=http://127.0.0.1:8084/internal/command/

SMS-server

Эта служба отвечает за отправку и получение сообщений. Она использует настройки по умолчанию и не требует дополнительной настройки.

Добавление служб Windows

Перейдите в папку ...navixy-package\wrapper\conf.

Найдите файлы, содержащие в названии "wrapper" и имена каждой из служб:

  • wrapper.api-server.conf
  • wrapper.sms-server.conf
  • wrapper.tcp-server.conf

В каждом из этих файлов отредактируйте строку:
wrapper.java.command = C:\\\\ProgramData\\\\Oracle\\\\Java\\\\javapath\\\\java

Вам нужно указать путь к папке, в которую выполнена установка Java. Как правило, установка выполнена по пути вроде такого: C:\Program Files\Java\jdk-11.0.4\bin\java

Обычные пути к папкам в Windows содержат один символ обратного слэша '\'. Но в данном случае вместо одного слэша вам нужно указать четыре: '\\\\'.
Пример для пути, указанного ранее:
wrapper.java.command = C:\\\\Program Files\\\\Java\\\\jdk-11.0.4\\\\bin\\\\java

После того, как вы изменили пути во всех файлах, откройте командную строку с административными привилегиями (cmd - Запуск от имени администратора).

Измените текущий каталог на ...\navixy-package\wrapper\bat
cd C:\Users\Administrator\Downloads\navixy-package\wrapper\bat

Запустите в командной строке из этой папки файл под названием setenv.bat.

Затем, не закрывая командную строку, выполните следующие команды, одну за другой:

wrapper.bat -i ../conf/wrapper.api-server.conf
wrapper.bat -i ../conf/wrapper.sms-server.conf
wrapper.bat -i ../conf/wrapper.tcp-server.conf

Будет выполнена установка сервисов платформы Navixy в качестве служб Windows.
Откройте меню "Службы" и найдите следующее:

  • Navixy api-server
  • Navixy sms-server
  • Navixy tcp-server

Запустите эти службы.

Заключительные шаги

После того, как все установлено и запущено, проверьте доступность домена вашей панели администратора. У вас должна открыться страница входа в систему.

Для входа используются стандартные учётные данные, поэтому рекомендуется изменить пароль сразу после входа в систему.

  • имя пользователя: admin
  • пароль: admin

При обнаружении неполадок перейдите в раздел Диагностика.

Пользовательский интерфейс на данном этапе ещё недоступен. Сперва необходимо указать его домен в панели администратора, раздел "Настройка площадки", вкладка "Параметры сервиса".

Миграция с Wialon
Open
Миграция с Wialon
Перенос пользователей,
трекеров, геозон и истории.
Читать далее >
Open

Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookie.