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

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.

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

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

Делаем линк:

 cd /usr/abills/cgi-bin/guest/s/
 ln -s ../../../Abills/modules/Hotspot/hotspot/unifi/guest/s/default default

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

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

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

  cd /usr/abills/cgi-bin/
  ln -s ../Abills/modules/Hotspot/hotspot/start.cgi . 

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

 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";

Важно:
В даной версии Uni-Fi перенаправляет только на 80 порт, поэтому нам нужен особый конфиг для апача.

Подключаем конфиг

# cp /usr/abills/misc/apache/abills_unifi.conf /etc/apache2/sites-enabled/

Перегружаем Apache:

# service apache2 restart

Проверка

Для проверки работоспособности существует тестовый MAC адрес.
Перейдите по ссылке http://example.com/guest/s/default/index.cgi?id=12:34:56:78:90:ab&ap=12:34:56:78:90:ab.

Вы должны увидеть форму авторизации, а по кнопке «Купить доступ» перейти на start.cgi.