Нижеследующая инструкция понадобится, если возникнет необходимость самостоятельно контролировать ход установки системного и прикладного ПО. При этом потребуются знания ОС Linux. Если необходимо установить все компоненты в автоматическом режиме, то следует обратиться к инструкции.

1. Обновление системы WNAM с предыдущих версий (1.3, 1.4)

При обновлении системы WNAM с версий 1.3 или 1.4 до версии 1.6 необходимо выполнить следующие действия:

  • сделать бэкап БД MongoDB (wnam_db):
mongodump -o /backup/wnam14_bkp -d wnam_db
  • остановить работающее приложение WNAM текущей версии:
service tomcat8 stop
  • отключить автоматический запуск сервера приложений Tomcat при старте системы:
update-rc.d tomcat8 disable
  • остановить сервис FreeRADIUS и отключить его автоматический запуск при старте ОС, если требуется использовать встроенный в систему WNAM RADIUS-сервер:
service freeradius stop
update-rc.d freeradius disable

2. Система WNAM версии 1.6 

Система WNAM работает с использованием встроенного контейнера сервлетов. Внутри дистрибутива системы WNAM содержится минимальная версия Tomcat. Дистрибутив, поставляемый в виде файла wnam.war, можно скачать с использованием действующего лицензионного ключа по ссылке: https://www.netams.com/download/. Файл wnam.war содержит в себе стартап-скрипт, за которым следует самораспаковывающийся архив с приложением WNAM. Самостоятельно данный файл распаковывать не нужно. 

Приложение WNAM будет выполняться от имени Linux-пользователя (учётной записи) с именем "wnam", которого необходимо создать командой:

useradd -m -U -s /bin/false wnam

Далее необходимо скачать и переместить дистрибутив:

# эту временную ссылку с токеном следует взять с сайта загрузки https://www.netams.com/download/, при вводе лицензионного ключа 
wget -O wnam.war http://www.netams.com/cgi/download.cgi?token=zsmehgiuwsprehmbhxjprgvlqgcunjyg 
mv wnam.war /home/wnam
chmod 755 /home/wnam/wnam.war
chown wnam:wnam /home/wnam/wnam.war
mkdir /home/wnam/logs
chown wnam:wnam /home/wnam/logs

Если проводится обновление системы WNAM (если ранее уже был установлен wnam.war), то необходимо сообщить системе об изменении файла приложения:

systemctl daemon-reload

Затем необходимо настроить авто-запуск через init-скрипты или через systemd (в зависимости от используемой ОС). Далее представлены варианты авто-запуска.

A. Запуск через init.d (устарел и не рекомендуется):

ln -s /home/wnam/wnam.war /etc/init.d/wnam
update-rc.d wnam defaults
update-rc.d wnam enable

Б. Запуск через systemd. В файл /etc/systemd/system/wnam.service необходимо поместить конфигурацию юнита:

[Unit]
Description=WNAM Server
[Service]
WorkingDirectory=/home/wnam
ExecStart=/home/wnam/wnam.war
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
User=wnam
Group=wnam
StandardOutput=append:/home/wnam/logs/console.log 
StandardError=append:/home/wnam/logs/console.log
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
Модификатор "append:" работает только на systemd версии >240. Для более старых версий следует использовать модификатор "file:".

После запуска следует активировать юнит:

systemctl enable wnam

Далее необходимо скачать конфигурационные файлы и поместить их в каталог /home/wnam. Несмотря на то, что в обычном режиме эксплуатации система WNAM настраивается через веб-интерфейс администратора, в системе присутствует два конфигурационных файла первоначальной настройки системы WNAM:

  • /home/wnam/wnam.conf;
  • /home/wnam/application.yaml.

Первый файл (/home/wnam/wnam.conf) определяет параметры использования оперативной памяти приложением WNAM. Он считывается первым при старте виртуальной Java-машины. Его типичное содержимое состоит из строки, определяющей объемы выделенной приложению памяти, и путей до лог-файлов:

export JAVA_OPTS="-Xms512m -Xmx4g -Djava.net.preferIPv4Stack=true --add-​opens java.base/sun.security.ssl=ALL-UNNAMED"
export LOG_FOLDER="/home/wnam/logs"
export LOG_FILENAME="console.log"

Файл можно скачать по данной ссылке: http://www.netams.com/files/wnam/misc/wnam.conf.

В параметре "-Xmx" следует указать допустимый объём оперативной памяти в гигабайтах. Рекомендуемое значение - от половины до 2/3 полного объёма оперативной памяти используемого Linux-сервера. При настройке кластерной конфигурации сервера в файл необходимо будет внести дополнительные изменения.

Второй файл (/home/wnam/application.yaml) определяет параметры фреймворка Spring Boot и параметры встроенного сервера приложений Tomcat. Он считывается при инициализации встроенного сервера приложений. Типичное содержимое файла приведено ниже (с комментариями):

server:
  forward-headers-strategy: native
  tomcat:
    remoteip:
      protocol-header: "X-Forwarded-Proto"
      remote-ip-header: "X-Forwarded-For"
    basedir: .
    accesslog.enabled: true
  port: 8080
  address: 127.0.0.1

  servlet:
    session:
      timeout: 1800

spring:
  application:
    name: WNAM
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
  data:
    mongodb:
      uri: mongodb://127.0.0.1:27017/wnam_db

# for cluster configuration, use:
# uri=mongodb://app1,app2,db1,db2/wnam_db


#  kafka:
#    bootstrap-servers: 172.16.135.10:9092,10.241.200.123:9092,10.241.200.124:9092

#netams:
# wnam:
#  cluster:
#    # optional, default false. Использовать kafka
#    kafka_enabled: true
#    # optional default false, отвечает за синхронизацию данных, между разными кластерами wnam, если true синхронизируются все коллекции, если false только конфигурационные параметры
#    full_sync: true
#    # optional, default 1 количество реплик (серверов) в кластере kafka
#    replicas: 3
#    # optional, default true. Пытаться выбрать лидера в kafka при падении брокеров kafka
#    unclean_election: true
#    # optional, default empty.Если master, то все задачи выполняются на этом сервере,
#    role: master
#    # optional, default 'true'. Использовать локальный кэш. Может быть true или false, отключать кэш следует только в конфигурации когда нет кафки и больше одного сервера wnam
#    use_cache: true

Данный файл можно получить по данной ссылке: https://www.netams.com/files/wnam/misc/application.yaml. Применявшийся для настройки предыдущих версий системы WNAM файл wnam.properties более не используется, все настройки вынесены в раздел веб-интерфейса "Конфигурация" → "Дополнительные настройки".

3. Запуск системы WNAM

Запуск системы WNAM следует производить командой: 

systemctl restart wnam

Любое изменение файлов wnam.conf и/или application.yaml также требует рестрата системы.

При запуске в каталоге /home/wnam/logs появится файл wnam.log, содержащий строки следующего вида: 

22:03:22.924 INFO [com.netams.wnam.WNAM:48] - Starting WNAM v1.8.2398 on debian64.k18.netams.com with PID 30757 (/home/wnam/wnam.war started by wnam in /home/wnam)
22:03:22.927 DEBUG [com.netams.wnam.WNAM:51] - Running with Spring Boot v1.5.16.RELEASE, Spring v4.3.19.RELEASE
22:03:22.928 INFO [com.netams.wnam.WNAM:593] - No active profile set, falling back to default profiles: default
22:03:28.997 INFO [c.n.wnam.services.MikrotikService:42] - MikrotikService started
22:03:29.018 INFO [com.netams.wnam.services.SmsService:286] - SmsService started
22:03:29.040 DEBUG [com.netams.wnam.services.OuiService:29] - OuiService start
22:03:29.255 DEBUG [com.netams.wnam.services.OuiService:69] - OUI cache load: 214 ms., size=24753
22:03:29.263 DEBUG [c.n.wnam.services.StatisticService:282] - Log file: /home/wnam/logs/wnam.log
22:03:29.264 DEBUG [c.n.wnam.services.StatisticService:134] - StatisticService start
22:03:29.266 DEBUG [c.n.wnam.services.StatisticService:138] - Session maximum life time is 21600 seconds
22:03:29.292 DEBUG [c.netams.wnam.manager.LicenseManager:158] - LicenseManager start
22:03:29.310 DEBUG [c.netams.wnam.manager.LicenseManager:188] - License key: XXXX-XXXX-XXXX-XXXX
22:03:29.352 INFO [c.n.wnam.services.LinuxCPService:115] - LinuxCPService started
22:03:29.363 INFO [c.n.w.services.ControllerApiService:117] - ControllerApiService started
22:03:29.489 DEBUG [c.n.wnam.manager.PhoneNumbersManager:212] - Phones countries cache load: 234
22:03:29.494 INFO [c.netams.wnam.services.UnifiService:68] - UnifiService started
22:03:29.526 DEBUG [com.netams.wnam.services.SormService:92] - Parameters 'sorm_upload_path' or 'sorm_file_name' are empty
22:03:29.529 INFO [com.netams.wnam.services.SormService:137] - SORM RADIUS targets: 0, API enabled: false
22:03:29.529 INFO [com.netams.wnam.services.SormService:117] - SormService started
22:03:29.563 DEBUG [c.n.wnam.services.WnamCmdService:167] - WnamCmdService start
22:03:29.566 DEBUG [c.n.wnam.services.WnamRadiusService:76] - WnamRadiusService start
22:03:29.604 DEBUG [c.n.wnam.services.WnamRadiusService:104] - RadiusService accepting requests
22:03:29.895 INFO [c.n.wnam.services.BluesocketService:46] - BluesocketService started
22:03:30.039 INFO [c.n.w.services.AdvertisementService:76] - AdvertisementService started
22:03:30.056 DEBUG [c.n.wnam.services.NetFlowService:79] - NetFlowService start
22:03:30.079 DEBUG [c.n.wnam.services.WnamApiService:100] - WnamApiService start
22:03:30.309 DEBUG [c.netams.wnam.manager.LicenseManager:306] - checkLicenseKeyOnServer key='XXXX-XXXX-XXXX-XXXX' at 06.01.2019 22:03:30
22:03:30.939 DEBUG [c.netams.wnam.manager.LicenseManager:362] - checkLicenseKeyOnServer 1 returned license with key XXXX-XXXX-XXXX-XXXX
22:03:30.940 DEBUG [c.netams.wnam.manager.LicenseManager:207] - checkForLicensing: valid license key XXXX-XXXX-XXXX-XXXX
22:03:31.132 DEBUG [com.netams.wnam.web.LoginController:111] - owning_logo=file:/home/wnam/wnam.war!/images/wnam_logo_owner.png not found
22:03:32.618 INFO [com.netams.wnam.WNAM:57] - Started WNAM in 9.98 seconds (JVM running for 10.446)
22:03:36.514 DEBUG [c.n.wnam.manager.PhoneNumbersManager:228] - Phone cache is loaded: 84 prefixes, 1044 operators

Основными проблемами, возникающими при запуске системы WNAM, являются:

  • некорректное выставленные прав на файлы или саму директорию /home/wnam, а также некорректная попытка запуска системы от имени пользователя с правами root (проверяется командой "ls -la");
  • не запущенный предварительно сервер СУБД MongoDB (проверяется через команду "mongo");
  • запущенные на порту 8080 и/или 80 другой веб-сервер или приложение (проверяется через команду "netstat -nap | grep 80");
  • запущенный на портах 1812 и/или 1813 сервер FreeRADIUS от предыдущей версии системы WNAM (проверяется через команду "netstat -nap | grep 1812").

4. Дополнительный модуль ADCTool

Если планируется использование подсистемы корпоративной авторизации WNAM в сочетании со службой каталога (авторизация EAP-PEAP/MSCHAPv2), то необходимо установить дополнительные инструменты (раздел "Способ интеграции системы WNAM с доменом" настоящей документации).

5. Работа через веб-интерфейс

При обращении к серверу системы WNAM через браузер (http://server/wnam/home) должно отобразиться окно интерфейса администратора системы WNAM для ввода учетных данных.

По умолчанию параметры учетной записи следующие: логин admin, пароль admin.

После первого входа следует обязательно смените пароль и уже затем переходить к базовой настройке системы через веб-интерфейс.
  • No labels