Ручная установка

Этот раздел представляет собой пошаговое руководство по ручной установке Navixy On-Premise.

Это руководство в основном касается операционной системы Debian 8 — ОС, которую мы рекомендуем. Вы можете скачать ISO файл с Debian 8, используя следующую ссылку:

https://cdimage.debian.org/mirror/cdimage/archive/8.10.0/amd64/iso-cd/debian-8.10.0-amd64-netinst.iso

При установке программы на любую другую ОС семейства Linux, можно также использовать данное руководство, так как основные принципы те же.

Установка может быть выполнена полностью от пользователя root.

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

Для установки требуемого ПО, выполните следующее:

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list ;\
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list ;\
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 ;\
apt-get update ;\
apt-get -y install oracle-java8-installer curl nginx mysql-server runit

MySQL запросит новый пароль root. Вы можете оставить его пустым или установить любой пароль, который хотите, но обязательно запомните его.
Кроме того, Java может попросить вас принять политику использования. Ответьте «Да»

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

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

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

Настройка базы данных

На уровне базы данных Navixy всегда работает с данными в часовом поясе UTC, поэтому мы должны сделать это часовым поясом по умолчанию для MySQL.

Выполните следующее (замените $PASSWORD вашим корневым паролем MySQL):

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -p$PASSWORD mysql

Откройте /etc/mysql/my.cnf и под [mysqld] добавьте:

[mysqld]
default-time-zone = 'UTC'

Кроме того, необходимо настроить MySQL в соответствии с вашими аппаратными характеристиками для наиболее эффективного использования. Существует много параметров, но в этом руководстве мы рассмотрим один из наиболее важных — размер пула буферов InnoDB:

innodb_buffer_pool_size = 16G

Если ваш сервер будет использоваться только для платформы Navixy, установите для этого значения 70% от размера вашей оперативной памяти.
Также установите SQL-mode следующим образом:

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Перезапустите MySQL сервер:

service mysql restart

Также мы рекомендуем отключить swapping на сервере Navixy:

swapoff -a

Закомментируйте раздел swap в /etc/fstab, если у вас нет особых причин оставлять swap включенным.

Установка компонентов Navixy

Прежде всего, создайте пользователя Java:

useradd -s /bin/bash -m java

Вы должны были получить дистрибутив от Navixy. Обычно это файл с расширением .tar.gz.
Извлеките пакет:

tar -zxvf $PACKAGENAME
cd navixy-package

Компоненты уже отсортированы по папкам, поэтому просто скопируйте их в корневую папку:

cp -a * /

Это также скопирует скрипты runit, которые попытаются немедленно запустить сервисы, но так они ещё не настроены, остановите их:

sv stop {api-server,sms-server,navixyserver}

Назначьте владельцев для компонентов Java:

cd /home/java
chown -R java:java api-server sms-server tcp-server
cd /var/www
chown -R www-data:www-data panel-v2 pro-ui
cd /etc/sv
chown -R root:root api-server sms-server tcp-server

Далее импортируйте данные в базу данных. Не забудьте использовать свой пароль root для MySQL вместо $PASSWORD:

cd /home/java/db
mysql -uroot -p$PASSWORD < google.sql
rm google.sql updates.sql
cat *.sql | mysql -uroot -p$PASSWORD google

Настройка платформы Navixy

Теперь пришло время сделать некоторые основные настройки:

Откройте следующие файлы:
/home/java/api-server/conf/db.properties
/home/java/sms-server/conf/db.properties
/home/java/tcp-server/conf/db.properties

И установите имя пользователя и пароль MySQL в каждом из них. Используйте пароль, который вы создали ранее:

db.username=navixy
db.password=$PASSWORD

Затем откройте /home/java/api-server/conf/config.properties
И отредактируйте следующие параметры:

[email protected]
[email protected]

Установите адрес получателя обратной связи и поле FROM по умолчанию.

Откройте /home/java/tcp-server/conf/config.properties
И отредактируйте следующие параметры:

externalIP=127.0.0.1
externalHostname=myhost.ru

Установите внешний IP и имя хоста для вашей платформы. Они будут использоваться для автоматической настройки трекера.

Далее откройте /var/www/panel-v2/PConfig.js
Отредактируйте следующие строки:

apiRoot: 'http://api.domain.com/panel',
paasCompanyUrl: 'saas.navixy.com',
terminalHost: 'ws://api.domain.com:8383/',

Где:
apiRoot — ссылка на ваш API. Обычно вам просто нужно изменить «domain.com» на свой собственный домен.
paasCompanyUrl — домен, который ваши клиенты будут использовать для доступа к своим аккаунтам. Обратите внимание, что он не должен содержать «http: //»
terminalHost — ссылка на GPRS терминал, используемая для диагностики устройства GPS. Обычно она совпадает с вашим доменом API.

Откройте /var/www/pro-ui/Config.js
Измените следующее:

apiRoot: 'http://api.domain.com',

Так же, как выше, замените «domain.com» на свой домен.

Далее следует установить лицензионный ключ (fingerprint). Вы получите fingerprint от Navixy — это просто строка символов.
Вставьте fingerprint в базу данных

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

При выполнении запроса из оболочки bash необходимо экранировать специальные символы в fingerprint. По этой причине мы рекомендуем использовать какой-либо клиент MySQL, например, MySQL Workbench или аналогичный, поскольку они делают это автоматически. Кроме того, вы можете использовать любую утилиту для удаления строк MySQL или сделать это вручную.

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

Далее необходимо создать конфигурацию nginx для ваших сайтов. Создайте конфигурационные файлы, названные именем вашего домена.

cd /etc/nginx/sites-available
touch api.domain.com
touch panel.domain.com
touch my.domain.com

Мы рекомендуем оставить субдомены «api» и «panel» как есть, но для мониторинга вы можете выбрать любой («my», «gps» и т. д.). Или вы можете оставить свой домен второго уровня для мониторинга.

Ниже приведена типичная конфигурация для каждого из трех сайтов. Замените «domain.com» на ваш домен:

api.domain.com


server {
listen 80;
server_name api.domain.com;
access_log /var/log/nginx/api.domain.com.access.log;
client_max_body_size 20m;
location / {
proxy_pass http://127.0.0.1:8084;
}
}

panel.domain.com

server {
listen 80;
server_name panel.domain.com;
access_log /var/log/nginx/panel.domain.com.access.log;
client_max_body_size 20m;
location / {
index index.html;
add_header Access-Control-Allow-Origin *;
root /var/www/panel-v2/;
}
}

my.domain.com

server {
listen 80;
server_name my.domain.com;
access_log /var/log/nginx/my.domain.com.access.log;
client_max_body_size 20m;
location / {
index index.html;
add_header Access-Control-Allow-Origin *;
root /var/www/pro-ui/;
}
}

Создайте символические ссылки, чтобы включить конфигурацию:

cd /etc/nginx/sites-available
ln -s /etc/nginx/sites-available/api.domain.com ../sites-enabled/api.domain.com
ln -s /etc/nginx/sites-available/panel.domain.com ../sites-enabled/panel.domain.com
ln -s /etc/nginx/sites-available/my.domain.com ../sites-enabled/my.domain.com

Протестируйте и перезагрузите конфигурацию nginx:

nginx -t && nginx -s reload

Если nginx возвращает ошибку, проверьте конфигурацию.

Запуск платформы

Теперь можно запустить сервисы Navixy

sv start api-server
sv start sms-server
sv start navixyserver

Попробуйте войти в админ-панель. В этом примере адрес будет http://panel.domain.com
Логин по умолчанию: admin
Пароль по умолчанию: admin

Вы можете подтвердить, что службы запущены, запросив их статус:

sv status {api-server,sms-server,navixyserver}

А также проверив процессы Java:

ps aux | grep java

И в случае, если возникла какая-то проблема, вы можете проверить журналы Java-сервисов:
/home/java/api-server/log/log.txt
/home/java/sms-server/log/log.txt
/home/java/tcp-server/log/log.txt

На этом установка завершена, и вы можете начать использовать платформу GPS-мониторинга Navixy. Для настройки SMS шлюза , пожалуйста, обратитесь к соответствующей странице документации.

We use сookies to improve our website, products and related services, analyze site traffic, and serve targeted advertisements. If you continue to use our services, you consent to our use of сookies. Read more