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

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

Ключ

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

...

Файл содержит параметры запуска сервиса.

Блок кода
languagejs
title/etc/default/tomcat7
collapsetrue
# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7

# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7

# The home directory of the Java development kit (JDK). You need at least
# JDK version 6. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Oracle JDK, and various Java SE 6+ versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk

# You may pass JVM startup parameters to Java here. If unset, the default
# options will be: -Djava.awt.headless=true -Xmx1024m -XX:+UseConcMarkSweepGC
#
# Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
# response time). If you use that option and you run Tomcat on a machine with
# exactly one CPU chip that contains one or two cores, you should also add
# the "-XX:+CMSIncrementalMode" option.
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -XX:+UseConcMarkSweepGC"

# To enable remote debugging uncomment the following line.
# You will then be able to use a java debugger on port 8000.
#JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

# Java compiler to use for translating JavaServer Pages (JSPs). You can use all
# compilers that are accepted by Ant's build.compiler property.
#JSP_COMPILER=javac

# Use the Java security manager? (yes/no, default: no)
#TOMCAT7_SECURITY=no

# Number of days to keep logfiles in /var/log/tomcat7. Default is 14 days.
#LOGFILE_DAYS=14
# Whether to compress logfiles older than today's
#LOGFILE_COMPRESS=1

# Location of the JVM temporary directory
# WARNING: This directory will be destroyed and recreated at every startup !
#JVM_TMP=/tmp/tomcat7-temp

# If you run Tomcat on port numbers that are all higher than 1023, then you
# do not need authbind.  It is used for binding Tomcat to lower port numbers.
# (yes/no, default: no)
#AUTHBIND=no
JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom"
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64


  • Выделение дополнительной оперативной памяти для Java:

...

/etc/eltex-wifi-cab/system.xml

Cодержит Содержит настройки для подключения к другим сервисам.

Блок кода
languagexml
title/etc/eltex-wifi-cab/system.xml
collapsetrue
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <entry key="mongoaddress">mongodb://localhost:27017/wifi-customer-cab</entry>
    <entry key="nbiaddress">http://localhost:8080/axis2/services/RadiusNbiService?wsdl</entry>
    <entry key="nbi.serviceLogin.user">softwlc_service</entry>
    <entry key="nbi.serviceLogin.password">softwlc</entry>
    <entry key="nbi.serviceLogin.requestTimeout.sec">120</entry>

    <!--Bonnie or NBI-->
    <entry key="data.service.type">NBI</entry>
    <entry key="bonnie.service.host">localhost</entry>
    <entry key="bonnie.service.port">9070</entry>

    <!-- параметры, применяемые при авторизации через eltex-auth-service -->
    <entry key="radius.auth.address">localhost</entry>
    <entry key="radius.auth.shareSecret">eltex</entry>
    <entry key="radius.auth.authPort">21812</entry>
    <entry key="radius.auth.acctPort">21813</entry>
    <entry key="radius.auth.timeout.sec">10</entry>
    <entry key="radius.auth.retries">5</entry>

    <!-- Support link  -->
    <entry key="support.page.enabled">false</entry>
    <entry key="support.page.url">http://eltex-co.ru</entry>

    <!-- DPI link  -->
    <entry key="dpi.page.enabled">false</entry>
    <entry key="dpi.page.url">https://filter.wifi.rt.ru/</entry>

    <!-- SSO Settings -->
    <entry key="sso.enabled">false</entry>
    <entry key="sso.redirectUri">http://localhost:8080/wifi-cab/sso</entry>
    <entry key="sso.clientSecret"></entry>
    <entry key="sso.clientId"></entry>

    <!-- SSO Auth -->
    <entry key="sso.auth.server.protocol">http</entry>
    <entry key="sso.auth.server.address"></entry>
    <entry key="sso.auth.server.port">80</entry>

    <entry key="sso.auth.auth.path">/auth/realms/b2b/protocol/openid-connect/auth</entry>
    <entry key="sso.auth.logout.path">/auth/realms/b2b/protocol/openid-connect/logout</entry>

    <!-- SSO REST -->
    <entry key="sso.rest.server.protocol">http</entry>
    <entry key="sso.rest.server.address"></entry>
    <entry key="sso.rest.server.port">80</entry>
    <entry key="sso.rest.server.timeout.sec">10</entry>
    <entry key="sso.rest.protocol.version">2.0</entry>
    <entry key="sso.rest.username"></entry>
    <entry key="sso.rest.password"></entry>

    <entry key="sso.rest.getToken.path">/apiman-gateway/b2b_test/getToken</entry>
    <entry key="sso.rest.getUserInfo.path">/apiman-gateway/b2b_test/getUserInfo</entry>
    <entry key="sso.rest.addUser.path">/apiman-gateway/b2b_test/addUser</entry>
    <entry key="sso.rest.updateUser.path">/apiman-gateway/b2b_test/updateUser</entry>
    <entry key="sso.rest.delUser.path">/apiman-gateway/b2b_test/delUser</entry>
    <entry key="sso.rest.addUserParam.path">/apiman-gateway/b2b_test/addUserParam</entry>
    <entry key="sso.rest.delUserParam.path">/apiman-gateway/b2b_test/delUserParam</entry>
    <entry key="sso.rest.getUserByName.path">/apiman-gateway/b2b_test/getUserByName</entry>
    <entry key="sso.rest.resetPassword.path">/apiman-gateway/b2b_test/resetPassword</entry>
    <entry key="sso.rest.getUserByParam.path">/apiman-gateway/b2b_test/getUserByParam</entry>
    <entry key="sso.rest.getUserByEmail.path">/apiman-gateway/b2b_test/getUserByEmail</entry>

</properties>
  • Подключение к кластеру MongoDB:

...

Содержит настройки логирования.

Блок кода
languagexml
title/etc/eltex-wifi-cab/log4j2.xml
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="600">
    <properties>
        <property name="maxSize" value="10MB"/>
        <property name="maxCount" value="10"/>
        <property name="lastModified" value="7d"/>
        <property name="accumulatedFileSize" value="100 MB"/>
        <property name="logDir" value="/var/log/eltex-wifi-cab"/>
        <property name="defaultPattern" value="%d{ISO8601} [%t] %-5p %logger{1} %C{1}.%M(line:%L). %m%n"/>
        <property name="dateSuffix" value="%d{yyyyMMdd}"/>

        <property name="gelfHost" value="udp:lab3-test.eltex.loc"/>
        <property name="gelfPort" value="12201"/>
        <property name="gelfLevel" value="OFF"/>
    </properties>

    <Appenders>
        <RollingFile name="default" fileName="${logDir}/default.log"
                     filePattern="${logDir}/default-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="default-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="scheduler" fileName="${logDir}/scheduler.log"
                     filePattern="${logDir}/scheduler-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="scheduler-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="export" fileName="${logDir}/export.log"
                     filePattern="${logDir}/export-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="export-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="i18n-log" fileName="${logDir}/i18n.log"
                     filePattern="${logDir}/i18n-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="i18n-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="licence" fileName="${logDir}/licence.log"
                     filePattern="${logDir}/licence-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="licence-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="nbi" fileName="${logDir}/nbi.log"
                     filePattern="${logDir}/nbi-${dateSuffix}-%i.log">
            <PatternLayout>
                <pattern>${defaultPattern}</pattern>
            </PatternLayout>
            <!-- Правило по размерам файла (например, нарезать новые через каждые 10Мб) -->
            <SizeBasedTriggeringPolicy size="${maxSize}"/>
            <!-- Ограничение на кол-во файлов. -->
            <DefaultRolloverStrategy max="${maxCount}">
                <Delete basePath="${logDir}" maxDepth="1">
                    <IfFileName glob="nbi-*.log">
                        <IfAny>
                            <IfLastModified age="${lastModified}"/>
                            <IfAccumulatedFileCount exceeds="${maxCount}"/>
                            <IfAccumulatedFileSize exceeds="${accumulatedFileSize}"/>
                        </IfAny>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{ISO8601} %-5level %C{1}.%M(line:%L). %m%n"/>
        </Console>
        <Gelf name="Gelf" host="${gelfHost}" port="${gelfPort}" version="1.1" facility="eltex-wifi-cab"
              extractStackTrace="true" originHost="%host{fqdn}" maximumMessageSize="8192">
            <Field name="thread" pattern="%t"/>
            <Field name="level" pattern="%level"/>
            <Field name="severity" pattern="%-5level"/>
            <Field name="logger" pattern="%logger{1}"/>
            <Field name="location" pattern="%C{1}.%M(line:%L)"/>
        </Gelf>
    </Appenders>

    <Loggers>
        <Root level="debug">
<!--            <AppenderRef ref="console"/>-->
            <AppenderRef ref="Gelf" level="${gelfLevel}"/>
        </Root>
        <Logger name="default" level="info">
            <AppenderRef ref="default"/>
        </Logger>
        <Logger name="scheduler" level="info">
            <AppenderRef ref="scheduler"/>
        </Logger>
        <Logger name="export" level="info">
            <AppenderRef ref="export"/>
        </Logger>
        <Logger name="i18n" level="info">
            <AppenderRef ref="i18n-log"/>
        </Logger>
        <Logger name="licence" level="error">
            <AppenderRef ref="licence"/>
        </Logger>

        <Logger name="org.quartz" level="off"/>

        <Logger name="org.mongodb.driver" level="info"/>

        <Logger name="nbi" level="error" additivity="false">
            <AppenderRef ref="nbi"/>
        </Logger>
<!--        <Logger name="console" level="error" additivity="false">-->
<!--            <AppenderRef ref="console"/>-->
<!--        </Logger>-->
    </Loggers>

</Configuration>

  • Статус и интервал автоматического перечитывания конфигурации логгера:

...

Для редактирования необходимо выбрать домен в таблице и нажать кнопку «Редактировать», появится соответствующий диалог. При редактировании можно изменить следующие параметры:

  • Таймзона;
  • Описание;
  • Макс. Кол-во пользователей.

...

Section


Column
width40%



Column

По нажатию на кнопку «Оповещение» появится диалог отправки уведомления на e-mail, содержащий шаблон сообщения, задаваемого ранее в меню «Уведомления клиентам В2В». В этом окне сообщение можно отредактировать под конкретный случай отправки и выбрать домен в который необходимо выслать оповещения.

Для выбора доменов пользователя, которому будет отправлено оповещение, реализован специальный виджет, в котором отображается дерево доменов и список доменов, добавленных пользователю.

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


Редактирование Редактирование записей

При установке флага напротив записи с левой стороны таблицы станет активной кнопка «Редактировать». По нажатию кнопки появится диалог редактирования данных, аналогичный диалогу создания записи с дополнительной информацией по дате создания учетной записи.

Изменить логин пользователя невозможно, поскольку поле «Логин» является идентификатором записи. При необходимости возможно удалить запись и создать заново.

Удаление записей

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

Невозможно удалить учётную запись «admin» и собственную учётную запись, то есть учетную запись, из под которой удаляющий пользователь совершил вход в систему.



Системные роли

...

Section


Column
width40%


Column

Вкладка «Системные роли» предназначена для настройки управляющих ролей.

Роль – это объединение атрибутов, позволяющее структурировать права отдельных пользователей (операторов) Личного кабинета B2B и упростить настройку прав.
Каждая системная роль содержит в себе набор основных атрибутов, определяющих права пользователя в системах «Личный кабинет B2B», «Конструктор порталов» и «Работа с NBI» наименование и расширенный список атрибутов, детально задающий права пользователя на каждой из страниц личного кабинета или список доступных методов для обращения к NBI. Всё вместе позволяет настраивать очень гибкую схему управления ресурсами Платформы. Например, в применении к инсталляции в схеме операторской установки есть возможность настроить как роли суперадминистаторов Платформы, роли иерархической структуры провайдера связи (Центр, РФ, МРФ), так и роли клиентов компании (юридических лиц, клиентов B2B). Причём в каждой группе могут быть свои локальные администраторы (с правами настроек в пределах видимости собственного домена), свои операторы с доступом «только чтение» и свои операторы с доступом «чтение и запись» для любых ресурсов Платформы.


...

Section


Column
width40%


Column

По нажатию на кнопку «Добавить» появится диалог добавления системной роли, содержащий фиксированный набор параметров. Поля, отмеченные символом «звездочка», являются обязательными к заполнению. Попытка сохранения записи с незаполненными либо некорректно заполненными обязательными полями будет отклонена, проблемные поля будут подсвечены красным цветом. При нажатии на знак "?" будет отображаться подсказка.

Для редактирования роли нужно ее отметить галочкой и нажать "Редактировать", откроется окно аналогичное окну создания роли.

Описание привилегий. используемых в ролях находится в приложении v1.18_Описание привилегий пользователей ЛК и Конструктора порталов

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

Для удаления роли достаточно выбрать ее и нажать кнопку "Удалить". Если роль не используется никем из ныне существующих пользователей, то после подтверждения она будет удалена.


...

Проверка лицензии

...

Section


Column
width40

Image RemovedImage Added


Column

Проверить, что лицензии успешно применены, можно в Личном кабинете, в разделе «Справка» - «Лицензии». На вкладке представлена информация о установленной лицензии и максимальном количестве пользователей Личного кабинета.


...