Подготовка к установке
Для установки SoftWLC в минимальной конфигурации нам понадобится сервер со следующими параметрами:
- Оперативная память не менее 8 Гб
- CPU >= 2200MHz
- Память жесткого диска >= 35Gb
- Выход в Интернет
- Операционная система Astra 1.7.4
Подробнее о требованиях к серверу смотрите здесь
Проверяем оперативную память:
free -m
total used free shared buffers cached
Mem: 7985 409 7575 0 12 228
-/+ buffers/cache: 168 7816
Swap: 0 0 0
Проверяем CPU:
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Stepping: 3
CPU MHz: 3294.301
BogoMIPS: 6588.60
L1d cache: 32K
L1d cache: 32K
L2d cache: 6144K
NUMA node0 CPU(s): 0,1
Проверяем память жесткого диска:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 12K 3.9G 1% /dev
tmpfs 799M 436K 799M 1% /run
/dev/sda1 40G 1.4G 37G 4% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
none 901G 113G 789G 13% /vagrant
Проверяем версию ОС:
cat /etc/lsb-release
DISTRIB_ID="AstraLinux"
DISTRIB_DESCRIPTION="Astra Linux 1.7 x86-64"
DISTRIB_RELEASE=1.7_x86-64
DISTRIB_CODENAME=1.7_x86-64
Проверяем выход в Интернет:
ping eltex.nsk.ru
PING eltex.nsk.ru (62.109.0.175) 56(84) bytes of data.
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=1 ttl=55 time=52.8 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=2 ttl=55 time=47.6 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=3 ttl=55 time=46.4 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=4 ttl=55 time=46.5 ms
64 bytes from mail.eltex.nsk.ru (62.109.0.175): icmp_seq=5 ttl=55 time=46.3 ms
^C
--- eltex.nsk.ru ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 46.398/47.977/52.889/2.516 ms
Установка
Подключение репозиториев Элтекс
echo "deb [arch=amd64] http://archive.eltex-co.ru/wireless softwlc-1.27-xenial main" | sudo tee -a /etc/apt/sources.list.d/eltex.list# это общий репозиторий, в котором выложены пакеты не зависящие от версии ОС. echo "deb [arch=amd64] http://archive.eltex-co.ru/wireless radius-1.27-astra-1.7 main" | sudo tee -a /etc/apt/sources.list.d/eltex.list echo "deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base 1.7_x86-64" main contrib non-free >> /etc/apt/sources.list.d/astra.list # это общий репозиторий, в котором выложены пакеты не зависящие от версии ОС. echo "deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended 1.7_x86-64" main contrib non-free >> /etc/apt/sources.list.d/astra.list
Добавление цифровой подписи
sudo wget -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | sudo apt-key add -
--2020-09-17 05:01:57-- http://archive.eltex-co.ru/wireless/repo.gpg.key
Распознаётся archive.eltex-co.ru (archive.eltex-co.ru)... 172.16.5.22
Подключение к archive.eltex-co.ru (archive.eltex-co.ru)|172.16.5.22|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 1704 (1,7K) [application/octet-stream]
Сохранение в каталог: ««STDOUT»».
- 100%[========================================================================================================================>] 1,66K --.-KB/s in 0s
/2020-09-17 05:01:57 (142 MB/s) - записан в stdout [1704/1704]
OK
Получение ключа GPG
sudo wget https://nginx.org/keys/nginx_signing.key
Добавление ключа GPG в набор ключей apt sources
sudo apt-key add nginx_signing.key
Подключение репозиториев Nginx
sudo echo "deb http://nginx.org/packages/debian/ buster nginx" > /etc/apt/sources.list.d/nginx.list # данный репозиторий нужно выбирать в зависимости от версии ОС. (bionic/buster/focal/jammy)
Поиск и установка обновлений пакетов
sudo apt-get update
...
Fetched 12.1 MB in 19s (624 kB/s)
Reading package lists... Done
Устанавливаем БД Mysql необходимой версии
sudo
apt-get install -y libmecab2sudo
apt-get install -y daemonsudo
apt-get install -y mysql-client=5.7.42-1debian10sudo
apt-get install -y mysql-common=5.7.42-1debian10 --allow-downgradessudo
apt-get install -y mysql-community-server=5.7.42-1debian10sudo
apt-get install -y libmysqlclient20=5.7.42-1debian10
Устанавливаем OpenJDK 8
sudo apt-get install openjdk-8-jdk
Прописываем использование OpenJDK 8 по умолчанию (на случай, если доступны другие пакеты)
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
Установка дополнительных пакетов
sudo apt-get --yes install libcurl4
sudo apt-get --yes install libssl1.1
sudo apt-get --yes install expect psmisc ntp tftp-hpa tftpd-hpa snmpd syslog-ng snmp curl libpcap0.8 fping vsftpd lockfile-progs libstdc++6 zlib1gsudo apt-get --yes install net-tools
Установка syslog
sudo
apt-get install syslog-ng-mod-sql
sudo
systemctl restart syslog-ng
Установка tomcat9
Доступная версия tomcat зависит от ОС.
xenial - tomcat7
bionic/orel - tomcat8
buster/focal/jammy - tomcat9
sudo apt-get --yes install tomcat9
Настройка БД для syslog
Подключаемся к mysql через команду mysql -uroot -proot
и вводим команды ниже
Создаем необходимые таблицы в БД
mysql --login-path=local -uroot -proot -se 'SHOW DATABASES LIKE '\''Syslog'\'';'
mysql --login-path=local -DSyslog -uroot -proot -se 'SHOW TABLES LIKE '\''SystemEvents'\'';'
mysql --login-path=local -DSyslog -uroot -proot -se 'SHOW CREATE TABLE SystemEvents;'
Добавлени права на доступ к Бд Syslog javauser-у
mysql -uroot -proot -e 'GRANT ALL ON Syslog.* TO '\''javauser'\''@'\''localhost'\'' IDENTIFIED BY '\''javapassword'\'''
mysql -uroot -proot -e 'GRANT ALL ON Syslog.* TO '\''javauser'\''@'\''127.0.0.1'\'' IDENTIFIED BY '\''javapassword'\'''
В файл конфигурации для syslog-ng-mod-sql etc/syslog-ng/conf.d/10-mysql.conf добавляем слудующие строки
### Configuration file for syslog-ng-mod-sql
### Changes are preserved
source src_rem { udp(port(514));
tcp(port(514)); };
destination d_mysql {
program("/usr/bin/mysql --user=javauser --password='javapassword' Syslog < /var/log/mysql.pipe");
pipe ("/var/log/mysql.pipe"
template("insert into SystemEvents (Message, Facility,FromHost, FromHostIp, Priority, DeviceReportedTime,
ReceivedAt, InfoUnitID, SysLogTag) values ('$MSGONLY', $FACILITY_NUM, '$HOST_FROM', INET_ATON('$SOURCEIP'),
$PRI, '$S_YEAR-$S_MONTH-$S_DAY $S_HOUR:$S_MIN:$S_SEC', '$R_YEAR-$R_MONTH-$R_DAY $R_HOUR:$R_MIN:$R_SEC',
1, '$TAGS');")
template-escape(yes)); };
log { source(src_rem); destination(d_mysql); };
Перезапускаем syslog
sudo service syslog-ng restart
Установка MongoDB
sudo apt install libssl1.1
sudo apt-get --yes install mongodb-org
sudo
systemctl enable mongod.servicesudo
systemctl start mongod.service
Указываем переменную окружения JAVA_HOME для tomcat
sudo echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> /etc/default/tomcat9 # версия tomcat в зависимости от ОС
Установка часового пояса
cp /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime
sudo ln -s /usr/share/java/ecj.jar /var/lib/tomcat9/lib #версия tomcat в зависимости от ОС
Выделение дополнительной оперативной памяти для Java
sudo echo "JAVA_OPTS=\"${JAVA_OPTS} -server -Xms512m -Xmx2048m -XX:-UseParallelGC -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts\"" >> /etc/default/tomcat9 # версия tomcat в зависимости от ОС
Для корректной работы tomcat9
sudo apt-get install libecj-java
Изменяем порт tomcat с 8080 на 8081
sudo sed -i 's/8080/8081/' /etc/tomcat9/server.xml # версия tomcat в зависимости от ОС
Установка пакета для интерпретации MAC-адресов в имена вендоров
sudo apt-get install eltex-oui-list
Установка фреймворка для работы службы SOAP/XML (Apache Axis)
sudo apt-get install eltex-axis
Установка схемы в БД MySQL для службы 'eltex-ems'
sudo apt-get install eltex-ems-db
...
Enter your MySQL administrator password: root
Enable remote access to database? (y/N) y
...
Select default language for EMS:
1. Russian
2. English (default)
Enter number: 1
Using locale ru_RU
mysql: [Warning] Using a password on the command line interface can be insecure.
Select access control type:
1 - Role based
2 - Domain based (default)
Enter number: 2
Using domain based access control
Enter root domain name (default is 'root'): root
Please restart EMS manually with "service eltex-ems restart"
Установка модифицированной схемы в БД MySQL для службы RADIUS
sudo apt-get install eltex-radius-db
...
Enter your MySQL administrator login (default is 'root'): root
Enter your MySQL administrator password: root
Creating database ...
mysql: [Warning] Using a password on the command line interface can be insecure.
. . .
mysql: [Warning] Using a password on the command line interface can be insecure.
Preparing database ...
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
Enter root domain name (default is 'root'): root
mysql: [Warning] Using a password on the command line interface can be insecure.
Tariff 'default' has been successfully created
mysql: [Warning] Using a password on the command line interface can be insecure.
Do you want to add ThreeYearsRadacct monitor to cron? [Y/n] Y
CRON server will be restarted with "service cron restart"
Please restart RADIUS server manually with "service eltex-radius restart"
По окончанию установки в системе будет создан тарифный план "Hotspot Default" для портальной авторизации с параметрами:
- Код тарифа: default
- Домен: root
- Установлен флаг портальной аутентификации
- Продолжительность: 10 минут
- Лимит скорости Downstream и Upstream 1 Мбит/c
Этот тариф привязывается к порталу Default в Конструкторе порталов
Установка БД авторизации сервисов eltex-wifi-cab, eltex-radius-nbi, eltex-portal-constructor
sudo apt-get install eltex-auth-service-db
...
Enter your mysql administrator login (default is 'root'): root
Enter your mysql administrator password: root
Creating database 'eltex_auth_service'
Create remote database user? (y/N) y
Database 'eltex_auth_service' successfully created
Enter root domain [root]:
Create default auth-user:
Set login [admin]:
Set password [password]:
Default auth-user 'admin' created successfully
Set service user password [softwlc]:
Service user 'softwlc_service' created successfully. Please, check it at '/etc/eltex-wifi-cab/system.xml' on your 'Eltex Wi-Fi customer cabinet' host.
Create default auth-nas (for eltex-wifi-cab):
Set eltex-wifi-cab ip address (leave empty if 127.0.0.1):
Default auth-nas '127.0.0.1' created successfully
Установка пакета eltex-ems
sudo apt-get install eltex-ems
...
Replace config files:
- /etc/default/tftpd-hpa:
Replace /etc/default/tftpd-hpa? (type 'd' to view diff) [y/N/d] y
File /etc/default/tftpd-hpa is overwritten.
Restarting tftpd-hpa..
- /etc/vsftpd.conf:
Replace /etc/vsftpd.conf? (type 'd' to view diff) [y/N/d] y
File /etc/vsftpd.conf is overwritten.
Restarting vsftpd..
- /etc/snmp/snmpd.conf:
Replace /etc/snmp/snmpd.conf? (type 'd' to view diff) [y/N/d] y
File /etc/snmp/snmpd.conf is overwritten.
Restarting snmpd..
- /etc/rsyslog.conf:
Replace /etc/rsyslog.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.conf is overwritten.
- /etc/rsyslog.d/50-default.conf:
Replace /etc/rsyslog.d/50-default.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.d/50-default.conf is overwritten.
- /etc/rsyslog.d/mysql.conf:
Replace /etc/rsyslog.d/mysql.conf? (type 'd' to view diff) [y/N/d] y
File /etc/rsyslog.d/mysql.conf is overwritten.
Restarting service rsyslog..
Установка пакета eltex-radius
sudo apt-get install eltex-radius
Установка пакета eltex-radius-nbi для стыка SoftWLC с вышестоящими OSS/BSS
sudo apt-get install eltex-radius-nbi
...
Do you want to generate server certificate? [y/N]: y
Skip generating server certificate
- Reconfigure file '/etc/eltex-radius-nbi/radius_nbi_config.txt'
SoftWLC Northbound is installed. Tomcat service will be restarted...
To check the service works, open the URL:
http://localhost:8080/axis2/services/RadiusNbiService?wsdl
To read documentation, visit the following URL:
http://localhost:8080/eltex-radius-nbi/asciidoc/
Обрабатываются триггеры для libc-bin (2.23-0ubuntu11) …
Установка пакета eltex-ngw
sudo apt-get install eltex-ngw
Создание базы данных уведомлений eltex-ngw
sudo eltex-ngw create-db-user
...
Creating database user "javauser"
Enter your mysql administrator login (default is 'root'): root
Enter your mysql administrator password (root):
Database user created
Установка пакета eltex-apb
sudo apt-get install eltex-apb
Установка сервиса ААА (Authentication Authorization and Accounting) для Wi-Fi пользователей, подключающихся при помощи BRAS
sudo apt-get install eltex-pcrf
Установка сервиса журналирования 'Hotspot' учетных записей
sudo apt-get install eltex-logging-service
Установка сервиса для управления учетными записями Hotspot-пользователей
sudo apt-get install eltex-mercury
Установка портала для авторизации клиентов WiFi в схеме 'Hotspot'
sudo apt-get install eltex-portal
Установка конструктора порталов
sudo apt-get install eltex-portal-constructor
Создание базы данных портала
sudo
bash /usr/lib/eltex-portal/db_utils.sh create_db_user
Установка личного кабинета B2B, интерфейса управления
sudo apt-get install eltex-wifi-cab
Установка сервиса удаления сессии пользователя
sudo apt-get install eltex-disconnect-service
Установка API для управляемого предоставления услуги Wi-Fi
sudo apt-get install eltex-johnny
Установка сервиса проверки подлинности пользователя через токены
sudo apt-get install eltex-doors
Создание базы данных eltex-doors
sudo bash /usr/lib/eltex-doors/db_utils.sh create_db_user
Установка менеджера задач
sudo apt-get install eltex-bruce
Установка сервиса выполнения задач и создания отчетов по ним
sudo apt-get install eltex-jobs
Получение конфигурации nginx
sudo wget http://archive.eltex-co.ru/wireless/nginx/conf/softwlc_1.27_nginx.conf -O softwlc_1.27_nginx.conf
Установка Nginx
sudo apt-get install nginx
Копирование конфигурации nginx в нужный каталог
cp softwlc_1.27_nginx.conf /etc/nginx/conf.d/softwlc.conf
Перезапуск сервисов Nginx и tomcat9
sudo service nginx restart
sudo service tomcat9 restart
После установки всех сервисов Eltex, следует перезагрузить все сервисы или перезагрузить весь сервер на который устанавливался контроллер.
Установка лицензии для Eltex EMS
Лицензионный файл для пакета Eltex EMS license.xml содержит информацию количестве и типе устройств, с которыми может работать EMS. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами.
cp licence.xml /usr/lib/eltex-ems/conf/licence/
service eltex-ems restart