Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Система WNAM требует для своей работы ряд системного программного обеспечения, которое требуется установить на вашем сервере.

Система управления базой данных MongoDB и среда Java JDK

Современные версии Debian штатно предоставляют пакет MongoDB версии 3.2 и выше, таким образом установка базы данных из отдельного репозитория не требуется.

Подготовка сервера: 

apt-get update
apt-get upgrade

версии 1.4 для корректной работы требует установку сервера приложений Tomcat версии 8.0 и выше.

1. Установка сервера приложений Tomcat 

Установка сервера приложений Tomcat выполняется командойУстановка пакетов:

apt-get install

...

Настраивать mongodb не надо, кроме случая подготовки отказоустойчивого кластера и задачи разграничения доступа для нескольких пользователей/приложений.

После установки java8 убедитесь, что версия java7 (если она была установлена ранее, например вместе с дистрибутивом операционной системы) не используется. Проверка:

java -version

Ели у вас установлена версия 7, её надо удалить. К сожалению, штатный способ смены версии JDK утилитой update-java-alternatives не срабатывает (tomcat применяет собственный метод поиска java), поэтому рекомендуется провести замену вручную:

...

 

...

rm default-java
ln -s java-8-openjdk-amd64 default-java

затем проверьте: 

ls -la /usr/lib/jvm/
итого 24
drwxr-xr-x 4 root root 4096 сен 30 23:43 .
drwxr-xr-x 58 root root 4096 окт 2 19:56 ..
lrwxrwxrwx 1 root root 20 авг 25 15:17 default-java -> java-8-openjdk-amd64
lrwxrwxrwx 1 root root 20 ноя 20 2015 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64
-rw-r--r-- 1 root root 2439 июл 31 21:33 .java-1.7.0-openjdk-amd64.jinfo
lrwxrwxrwx 1 root root 20 авг 8 12:32 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
-rw-r--r-- 1 root root 2600 авг 8 12:32 .java-1.8.0-openjdk-amd64.jinfo
drwxr-xr-x 5 root root 4096 авг 25 15:15 java-7-openjdk-amd64
drwxr-xr-x 7 root root 4096 авг 25 15:16 java-8-openjdk-amd64
java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-8u102-b14.1-1~bpo8+1-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

...

tomcat8

...

Настройка Tomcat сводится

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Внимание! WNAM требует установленного tomcat версии 8.5 и выше. Для Debian это стандартно, а пользователям CentOS/Redhat придется установить tomcat 8.5 вручную (штатный пакет только версии 8.0, который с WNAM не работает). 

Настройка tomcat сводится к установке паролей, параметров сервиса , и портов доступа. Веб-сервер и сервер приложений tomcat будет приложений Tomcat будет принимать входящие соединения на по TCP-порту 8080 (порт по умолчанию для tomcatTomcat) , либо по порту 80 (требуется настройка). Вы можете оставить порт 8080, тогда либо Можно использовать порт по умолчанию, но при этом следует требовать от пользователей подключения к этому порту , либо или настроить обратное проксирование средствами nginxсредствами Nginx. В таком случае измените использования порта 8080 следует изменить область видимости сервера. Для этого в файле /etc/tomcat8/server.xml укажите  необходимо указать:

 <Connector address="127.0.0.1" port="8080" protocol="HTTP/1.1" />

Вы можете Также можно перенести публикацию сервера tomcat на Tomcat на порт 80. Для этого следует выполнить ряд действий:В

  • в файле /etc/tomcat8/server.xml

...

  • указать:

          <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />

...

  • в файле /etc/default/

...

  • tomcat8 разрешить привязку к порту 80, раскомментировав и исправив

...

  • параметр:

          AUTHBIND=yes

...

  • разрешить процессу

...

  • Tomcat занимать привилегированный порт 80:
     touch /etc/authbind/byport/80 
chmod 500 /etc/authbind/byport/80
chown tomcat8 /etc/authbind/byport/80

...

  • выделить серверу

...

  • Tomcat больше оперативной памяти через настройки в файле  /etc/default/tomcat8. Рекомендуется указывать в ключе "-Xmx" половину от физической памяти сервера:

        JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC"

После проведения указанных настроек можно перезапустить сервис tomcat командой  Tomcat командой:

  /etc/init.d/tomcat8 restart

Убедиться Следует убедиться в корректности запуска tomcat можно командами Tomcat, используя команду netstat -na | grep 80 и просмотром просмотреть лог-файла /var/lib/tomcat8/logs/catalina.out 

Сервер FreeRADIUS

(Для работы WNAM в режиме поддержки маршрутизатора на основе сервера Linux с iptables/ipset, поддержки контроллеров UniFi и TP-LINK EAP использование FreeRADIUS не требуется).

Установка: 

...

Внимание! У FreeRADIUS версий 2.х. и 3.х немного разные пути для установки файлов конфигурации, и синтаксис файлов конфигурации. В большинстве современных дистрибутивов устанавливается версия 3.

Помните, что в некоторых дистрибутивах FreeRADIUS устанавливается в каталог /etc/raddb/, но в большинстве - /etc/freeradius/

2. Установка системы WNAM

Дистрибутив системы WNAM можно получить по ссылке Настройка заключается во включении работы Perl-модулей, модификации файлов в каталоге /etc/freeradius/3.0/sites-enabled/, установке модуля wnam-freeradius-bridge.pl в каталог /etc/freeradius/3.0. Для этого необходимо взять файлы, расположенные по адресу http://www.netams.com/files/wnam/misc/  в папках freeradius2 и freeradius3 соответственно, и переместить их:

...

wnam-freeradius-bridge.pl 

...

clients.conf

...

default

...

perl 

...

ничего (этот файл конфигурации определяет использование perl-модуля wnam-freeradius-bridge.pl)

...

wnam.properties

...

cgi/download.cgi, имея действующий лицензионный ключ. Дистрибутив поступит в виде файла ROOT.war. Файл следует переместить в каталог, где размещаются веб-приложения:

   rm -rf /var/lib/tomcat8/webapps/ROOT/
   mv ROOT.war /var/lib/tomcat8/webapps/ROOT.war

Вручную и самостоятельно дистрибутив распаковывать не требуется, это автоматически сделает Tomcat. 

Все начальные конфигурационные параметры находятся в файле /etc/wnam.properties (файл не будет перезаписан при обновлении системы WNAM). Файл с параметрами необходимо взять из http://www.netams.com/files/wnam/misc/ и настроить некоторые параметры согласно инструкции, представленной в соответствующем разделе настоящей документации ("Конфигурационный файл").

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

После первоначальной установки и настройки можно перезапустить все системные сервисы. При перезапуске Tomcat произойдет распаковка приложения WNAM и инициализация БД. Перезапустить все сервисы можно командами:

/etc/init.d/mongod restart
/etc/init.d/freeradius restart
/etc/init.d/nginx restart
/etc/init.d/tomcat8 restart

Затем необходимо проверить наличие соответствующих процессов в системе и отсутствие ошибок в log-файлах. Основной лог-файл приложения следующий: /var/log/tomcat8/wnam.log. После проверки процессов и ошибок необходимо также настроить автоматический запуск всех вышеперечисленных служб (update-rc.d имясервиса defaults && update-rc.d имясервиса enable), если это не было произведено при установке пакетов.

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

Image Added

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

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

Для версий FreeRADIUS > 3.0 возможно, что вам потребуется дополнительно:

  • Создать символьные ссылки /etc/freeradius/3.0/mods-enabled/perl -> /etc/freeradius/3.0/mods-available/perl и  /etc/freeradius/3.0/sites-enabled/default -> /etc/freeradius/3.0/sites-available/default
  • Удалить ссылку на модуль /etc/freeradius/3.0/mods-enabled/eap и конфиг /etc/freeradius/3.0/sites-enabled/inner-tunnel 

Внимание! Если вы забыли отредактировать /etc/freeradius/clients.conf , доступа к RADIUS-серверу со стороны хотспотов не будет, и авторизация не заработает.

После настройки файлов перезапустите сервис freeradius. Также полезно помнить, что в целях отладки можно запускать freeradius с ключом -X

Настройка веб-сервера nginx

Если вы готовы оставить портал авторизации на порту 8080 (не рекомендуется), или решили переместить работу tomcat8 на порт 80, то настраивать отдельный проксирующий веб-сервер не требуется. В противном случае установите nginx:

apt-get install nginx

Конфигурационный файл nginx (/etc/nginx/sites-available/wnam , ссылка на него из /etc/nginx/sites-enabled/) приведен ниже:

server {
 listen 80;
access_log /var/log/nginx/access.log;
 # порция конфигурации для поддержки wnam - проксирование обращений к tomcat8, работающем на порту 8080
 location / { 
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 120;
proxy_connect_timeout 120;
}
# порция конфигурации для поддержки zabbix на этом же сервере, если zabbix не используется, это настраивать не надо! 
upstream backend {
server 127.0.0.1:9000;
}
location /zabbix {
index index.php index.html;
try_files $uri $uri/ /zabbix/index.php?$args;
alias /usr/share/zabbix;
error_page 403 404 /zabbix/index.php;
}
location ~\.php$ {
root /usr/share;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;
}

location ~*(?:api|conf|include)/ {
return 301 zabbix.local/index.php;
}
# не забудьте закрывающий конфигурацию символ }

Если вы имеете SSL сертификат и хотите использовать сервер WNAM так, чтобы он был доступен абонентам по протоколу HTTPS, используйте следующую конфигурацию:

server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$server_name$request_uri;
server_name wnam.provider.ru;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/wnam.provider.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wnam.provider.ru/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
root /var/www/html;
index index.html;
server_name wnam.provider.ru;
location / { 
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120;
proxy_connect_timeout 120;
}

Затем: 

cd /etc/nging/sites-enabled
ln -s ../sites-available/wnam wnam

Обязательно удалите /etc/nginx/sites-enabled/default

Библиотека генерации миниатюр конструктора страниц портала

Для WNAM версии старше 1.3.1052 необходимо установить дополнительно средство, использующееся при формировании миниатюрного изображения предпросмотра абонентских страниц в "Конструкторе страниц". Для этих целей применяется свободно распространяемая библиотека phantomjs.

Скачайте и установите её:

cd /tmp/
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
apt-get install bzip2
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
mv phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
wget http://www.netams.com/files/wnam/misc/render.js
wget http://www.netams.com/files/wnam/misc/render.sh
mv render.sh render.js /usr/local/bin/
chmod +x /usr/local/bin/render.sh

Запуск команды "/usr/local/bin/render.sh" должен завершиться молча и без ошибки

Для изменения размера изображений превью файл /usr/local/bin/render.js можно отредактировать

Добавьте следующее изменение в ваш файл /etc/wnam.properties, если вы проводите обновление системы. Там должны быть строка:

render_script=/usr/local/bin/render.sh

Внимание! Если вы используете ОС Ubuntu, может оказаться, что страницы предпросмотра (миниатюры) не содержат русских букв. Это вызвано тем, что дистрибутив Ubuntu зачастую сконфигурирован некорректным способом в части поддержки шрифтов. Вероятно вам предстоит выполнить следующие команды:

ln -s /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 /usr/lib/phantomjs/libfontconfig.so.1
ln -s /usr/share/fonts/truetype/dejavu/ /usr/lib/x86_64-linux-gnu/fonts

Проверка языка операционной системы

...

.