Нижеследующая инструкция понадобится, если вы хотите самостоятельно контролировать ход установки системного и прикладного программного обеспечения. От вас потребуются некоторые знания ОС Linux. Если вы желаете установить все компоненты в автоматическом режиме, обратитесь к инструкции.
1. Если вы производите обновление с WNAM предыдущих версий (1.3, 1.4), вам необходимо:
Сделать бэкап базы данных 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 содержится минимальная версия Tomcat. Дистрибутив, поставляемый в виде файла wnam.war, можно скачать с использованием действующего лицензионного ключа по ссылке: https://www.netams.com/download/
Файл wnam.war содержит в себе стартап-скрипт, за которым следует самораспаковывающийся архив с приложением WNAM. Самостоятельно war-файл распаковывать вам не нужно.
Приложение 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.warmkdir /home/wnam/logschown 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=wnamStandardOutput=append:/home/wnam/logs/console.log
StandardError=append:/home/wnam/logs/console.logAmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
Внимание! Модификатор "append:" работает только на systemd версии >240. Для более старых версий используйте "file:".
Активируем юнит:
systemctl enable wnam
Скачиваем конфигурационный файлы и помещаем их каталог /home/wnam. Несмотря на то, что в обычном режиме эксплуатации WNAM настраивается через административный веб-интерфейс, в системе присутствует два конфигурационных файла первоначальной настройки WNAM.
Первый файл, /home/wnam/wnam.conf, определяет параметры использования оперативной памяти приложением WNAM. Он считывается первым, при старте виртуальной Java-машины. Его типичное содержимое состоит из строки, определяющей объемы выделенной приложению памяти, и путей до лог-файлов:
export JAVA_OPTS="-Xms512m -Xmx4g -Djava.net.preferIPv4Stack=true"
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: 0.0.0.0spring:
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 производится командой
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, и попытка запуска 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), вам необходимо установить дополнительные инструменты.
5. Работа через веб-интерфейс
При обращении к серверу через браузер (http://server/wnam/home) вы должны увидеть приглашение административного интерфейса WNAM:
По умолчанию логин admin и пароль admin
После первого входа обязательно смените пароль и переходите к базовой настройке системы через веб-интерфейс.