Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Данный сервис используется для отображения страниц виртуальных порталов и проведения регистрации и авторизации пользователей Wi-Fi, подключающихся к точкам доступа Eltex или при помощи ESR/BRAS.

Подсказка

Установка выполняется при помощи пакета eltex-portal.

Во время инициализации сервиса eltex-portal и до полной его загрузки,  вместо портала будет отображаться страница "Warming up", что свидетельствует о том, что портал еще в процессе инициализации, а модули сервиса находятся в процессе конфигурации. После того как сервис eltex-portal полностью загрузился, будет произведен автоматический редирект пользователя на главную страницу портала.
Пример страницы инициализации портала:

Управление сервисом

...

Установка сервиса

Блок кода
languagebash
themeRDark
apt-get install eltex-portal


Сбособы запуска/остановки сервиса

ДействиеКомандаОтвет
Проверка состояния


Без форматирования
nopaneltrue
service eltex-portal status



Подсказка

Сервис работает

Без форматирования
nopaneltrue
eltex-portal start/running, process <pid>



Предупреждение

Сервис не работает

Без форматирования
nopaneltrue
eltex-portal stop/waiting



Запуск сервиса


Без форматирования
nopaneltrue
service eltex-portal start



Подсказка

Сервис успешно запущен

Без форматирования
nopaneltrue
eltex-portal start/running, process <pid>



Примечание

Сервис уже работает

Без форматирования
nopaneltrue
start: Job is already running: eltex-portal




Остановка сервиса


Без форматирования
nopaneltrue
service eltex-portal stop



Подсказка

Сервис успешно остановлен

Без форматирования
nopaneltrue
eltex-portal stop/waiting



Примечание

Сервис не остановлен, т.к. не был запущен

Без форматирования
nopaneltrue
stop: Unknown instance: 



Перезапуск сервиса


Без форматирования
nopaneltrue
service eltex-portal restart



Подсказка

Сервис успешно перезапущен

Без форматирования
nopaneltrue
eltex-portal stop/waiting
eltex-portal start/running, process <pid>


Без форматирования
nopaneltrue
stop: Unknown instance: 
eltex-portal start/running, process <pid>
Создать




Создание пользователя в

...

nopaneltrue

...

БД MySQL

Чтобы сервис eltex-portal получил доступ для работы с БД MySQL необходимо создать пользователя.

Блок кода
languagebash
themeRDark
eltex-potal create-db-user -h <server_ip>

При выполнении данной команды происходит подключение к БД и создание пользователя указанного в настройка конфигурационного файла /etc/eltex-portal-constructor/application.conf



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

...

/etc/eltex-portal/application.conf

...

Блок кода
languagepy
titleПример дефолтной конфигурации
collapsetrue
portal {
    defaultRedirectUrl = "http://eltex-co.ru"

    scheduler {
        tariffCheckerPeriod = 1d
        promoBindingsCleaner {
            period = 1d
            bindingsLifetime = 5d
        }
        paymentsCleanerPeriod = "0 0 * * * ?"
    }
}

jetty {
    https {
        port = 9443
        keystorePass = 12345
        keystoreFile = /etc/eltex-portal/localhost.pfx
        keystoreType = PKCS12
        keyAlias = 1
        ciphers = [
            TLS_RSA_WITH_AES_128_CBC_SHA256
            TLS_RSA_WITH_AES_128_CBC_SHA
            TLS_RSA_WITH_AES_256_CBC_SHA256
            TLS_RSA_WITH_AES_256_CBC_SHA
        ]
    }
}

database {
    host = localhost
    port = 3306
    name = ELTEX_PORTAL
    user = javauser
    password = javapassword

    pool {
        # Time to wait for a connection
        connectionTimeout = 10s
        # Time to wait for connection validation
        validationTimeout = 3s

        min = 1
        max = 10
    }

    cache {
        # Limit of cached simple entries count (for each query type)
        maxEntries = 1000
        # Limit of total cached portal resources size
        maxResourceBytes = 32m
        # Maximum time to retain items in the cache
        expireTime = 2m
    }
}

// JWT validation. You need a key from Eltex Doors.
// Or you could generate it yourself.
validation {
   public_key = "etc/eltex-doors/keys/public.pem"
}


ПараметрыОписание
portal

defaultRedirectUrl

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

tariffCheckerPeriod

Интервал выполнения проверки наличия тарифных планов на порталах. В случае отсутствия тарифного плана: формируется сообщение об ошибке.
promoBindingsCleaner

period - настройка периода проверки привязок, показанных баннеров клиенту. Указывается в минутах/часах/днях m/h/d

bindingsLifetime - время жизни привязки, показанного баннера клиенту. Указывается в минутах/часах/днях m/h/d

paymentsCleanerPeriodПериод очистки записей о неуспешной оплате тарифа в БД портала. Указывается в формате cron.
jetty
https

Настройки работы контейнера по https. Необходимо указать расположение сертификата, ключ и прослушиваемый порт.

port - прослушиваемый порт

keystorePass - ключ от хранилища сертификатов

keystoreFile - файл хранилища, содержащий сертификат

keystoreType - тип хранилища

certAlias - алиас сертификата в хранилище

ciphers - поддерживаемые методы шифрования

database
hostАдрес сервера БД
portПорт, на который сервер БД принимает входящее подключение
nameНазвание БД
userИмя пользователя БД
passwordПароль пользователя БД
pool

Управление соединениями к БД

connectionTimeout - Время жизни коннекта при бездействии

validationTimeout - интервал проверки бездействующих коннектов

min - минимальное количество коннектов

max - максимальное количество коннектов

cache

Настройки кэширования

maxEntries - максимальное количество элементов в кэше

maxResourceBytes - размер кэша

expireTime - время хранения данных в кэше

validation

Подключение к сервису eltex-doors

public_key - путь до ключа для валидации JWT



/etc/default/eltex-portal

...

Блок кода
languagebash
titleПример дефолтной конфигурации
collapsetrue
# Eltex-Portal daemon parameters

# Port for use by Eltex Portal
PORT=9000

# Initial size of Java heap
JAVA_INIT_HEAP=16m
# Maximum size of Java heap
JAVA_MAX_HEAP=256m

# Additional arguments to pass to java
JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-portal"


ПараметрыОписание
PORT
Порт, на который сервис будет принимать соединения
JAVA_INIT_HEAP
Количество памяти, выделяемое на работу сервиса при старте. Рекомендуется выставлять равное JAVA_MAX_HEAP.
JAVA_MAX_HEAP
Максимальное количество памяти, которое может зарезервировать сервис
JAVA_OPTS
Дополнительные опции для запуска jvm

/etc/eltex-portal/log4j2.xml

...

Без форматирования
<Property name="gelfLevel">${env:GELF_LEVEL:-OFF}</Property>
<Property name="gelfHost">${env:GELF_HOST:-udp:lab3-test.eltex.loc}</Property>
<Property name="gelfPort">${env:GELF_PORT:-12201}</Property>



Описание ошибок в логах

...

ЛогфайлЛог-файл: /var/log/eltex-portal/log_ep.txt 

НазваниеЗначениеПример
CHECK LOGIN AND PSW IN smsc_gate.confПроблема доступности NGW к сервису отправки SMS сообщений2018-08-22T09:38:56,420 [SimpleContainerScope.Executor@266376052-35] ERROR org.eltex.portal.sms.SendSmsWithPswResponseHandler SendSmsWithPswResponseHandler.onResult(line:53). Error while sending message on number: 79529056800. ErrorCode: 10, errMessage: 79529056800. Received error code = 1. CHECK LOGIN AND PSW IN smsc_gate.conf. Error in the parameters of function of dispatch sms via http protocol
NGW_NOT_AVAILABLEПроблема доступности портала к сервису NGW2020-07-09T09:45:07,827 [qtp76432244-17] ERROR org.eltex.portal.sms.NotificationClient NotificationClient.getConfigurationInfo(line:527). Can`t connect to Ngw server with code: 1601 code 1601:NGW_NOT_AVAILABLE and reason: NgwException{FAILED: 'Protocol is not supported by the server: eltex-ngw-api#1.16.5'}



Докеризация сервиса

...

Сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml

...

Файлы .env и docler-compose.yml должны находиться в одной папке. Контейнер запускается командой:

Блок кода
languagebash
themeRDark
docker-compose up