Система 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 для ввода учетных данных.
По умолчанию параметры учетной записи следующие: логин 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
Проверка языка операционной системы
...
. |