Это старая версия документа.


Установка портала авторизации

Uni-Fi

Настраиваем Uni-Fi контроллер для включения внешней авторизации

  1. Заходим в панель администрирования Uni-Fi
  2. Открываем Settings>Guest Control
  3. Ставим галочку в поле Enable Guest Portal
  4. Выбираем вариант External Portal Server
  5. Вводим IP адрес билинга в поле Custom Portal IP Address

Для оплаты с помощью платёжных карточек, нужно добавить IP платёжных систем в Allowed Subnets.

ABillS

При перенаправлении с Uni-Fi гостя оправляет на адрес: http://IP.адрес.билинга/guest/s/${SITE_NAME}/ \\, где ${SITE_NAME} - это название сайта в Uni-Fi.

В инструкции ниже имеется в виду, что он у нас не изменялся и равен default.

Скрипты авторизации лежат в misc/hotspot/unifi/
Создаем папку

 cd /usr/abills/cgi-bin
 mkdir -p guest/s/

Делаем линк:

 cd /usr/abills/cgi-bin/guest/s/
 ln -s ../misc/hotspot/unifi/guest/s/default default

Если у вас сайт имеет другое название, используйте команду:

 ln -s ../misc/hotspot/unifi/guest/s/default НАЗВАНИЕ_САЙТА

Установите скрипт стартовой страницы

  cd /usr/abills/cgi-bin/
  ln -s ../misc/hotspot/start.cgi . 

Установите Perl модули.
Debian

 apt-get install cpanminus
 cpanm JSON
 cpanm URI::Escape::JavaScript

Добавляем переменные в libexec/config.pl

 $conf{UNIFI_URL} = 'https://my.unifi.contoller.url:8443';
 $conf{BILLING_URL} = 'https://192.168.0.2/';
 
 $conf{UNIFI_IP} = '192.168.0.2';
 $conf{UNIFI_USER} = 'admin';
 $conf{UNIFI_PASS} = 'password';
 $conf{UNIFI_VERSION} = 4;
 $conf{UNIFI_SITENAME} = 'default';

 $conf{HOTSPOT_LOGIN_URL}="$conf{BILLING_URL}guest/s/$conf{UNIFI_SITENAME}/?operation_type=return";

Важно:
Нужно сменить HTTPS порт на для билинга на 443, поскольку Uni-Fi не умеет перенаправлять на нестандартные порты.

В конфиге билинга для Apache меняем:

  Listen 9443
  ...
  # Main server config
<VirtualHost _default_:9443>

на

  Listen 443
  ...
  # Main server config
<VirtualHost _default_:443>