Настроить несколько Captive Portal на одном сервере

Несколько веб-интерфейсов Captive Portal могут работать на разных виртуальных хостах одного сервера.

  1. Убедитесь, что выполнены предварительные шаги.
  2. Добавьте Captive Portal в административном интерфейсе.
  3. Задайте параметры в конфигурационных файлах.
  4. Настройте виртуальные хосты.

Предварительные шаги

  1. Приобретено решение «Wi-Fi по паспорту».

  2. Установлен модуль Captive Portal.

  3. Созданы наборы карт оплаты.

Добавить Captive Portal в административном интерфейсе

Это нужно, чтобы связать веб-интерфейс с определённым тарифом или тарифами. Сначала определите, сколько объектов Captive Portal нужно создать в административном интерфейсе. Количество зависит от схемы работы ваших точек с публичными сетями.

  • Если на всех точках тарифы одинаковые — создайте один Captive Portal в административном интерфейсе. Впоследствии укажите его ID во всех конфигурационных файлах.

  • Если для точек нужно настроить разные тарифы, то потребуется приобрести несколько модулей Captive Portal и для каждого создать объект в административном интерфейсе. В разных конфигурационных файлах нужно будет указать разные ID.

  1. Перейдите в раздел «Настройки» — «Captive Portal».

    image
  2. Нажмите «Добавить».

  3. Введите название.

  4. Укажите, через сколько дней система будет удалять неактивных пользователей.

  5. Нажмите «Обновить». Запомните сформированный ID — его нужно будет указать в конфигурационном файле.

    image
  6. Привяжите один или несколько наборов карт. Каждый набор — это тариф, который будет доступен абоненту при регистрации. Любой набор карт можно привязать только к одному Captive Portal.

    • Нажмите image.

      image
    • Перетащите наборы из правой таблицы в левую. Система сохранит изменения.

      image

Задать параметры в конфигурационных файлах

Повторите настройку для каждого Captive Portal.

  1. Создайте в директории /etc/lanbilling/phpclient/captive-portal/ папку с таким именем, которое будет отражать её принадлежность к определённому Captive Portal. Например:

    mkdir /etc/lanbilling/phpclient/captive-portal/captive-aurora/
    

    ``

  2. Скопируйте пример конфигурационного файла в созданную папку, изменив расширение с «.ini.sample» на «.ini». Например:

    cp /etc/lanbilling/phpclient/captive-portal/captive-portal.ini.sample /etc/lanbilling/phpclient/captive-portal/captive-aurora/captive-portal.ini
    

    ``

  3. Откройте созданный файл:

    nano /etc/lanbilling/phpclient/captive-portal/captive-portal.ini
    
    • Укажите логин и пароль менеджера для подключения к ядру LANBilling:

      login=ivanov
      password=12345
      
      
      
    • Введите идентификатор Captive Portal из административного интерфейса:

      portal_id=1
      
      
      
    • Если веб-интерфейс Captive Portal и LBcore функционируют на разных серверах, укажите адрес сервера c LBcore, а также решите, нужно ли использовать SSL:

      [japi]
      host=127.0.0.1
      port=1502
      ssl=false
      
      
      
    • После регистрации абонента система создаёт для него карточку и формирует логин и пароль. Если параметр authorize_by_phone выключен, то логин будет формироваться так: «wifi + порядковый номер». Примеры: wifi35, wifi20, wifi1.

      Если вы хотите, чтобы в качестве логина система задавала телефонный номер абонента, включите параметр:

      authorize_by_phone = true
      
      
      
    • Чтобы пользователи могли пополнять баланс, настройте одну или несколько платёжных систем. Это можно сделать на этом этапе или позже.

  4. Сериализуйте изменения:

    /usr/local/sbin/lbwebcfg -y captive-portal /etc/lanbilling/phpclient/captive-portal/captive-aurora/ -o=/var/lib/lanbilling/phpclient/captive-portal/captive-aurora.ini
    

    ``

    Сериализованный файл будет находиться в /var/lib/lanbilling/phpclient/captive-portal/captive-aurora.in.

Настроить виртуальные хосты

Повторите настройку для каждого Captive Portal. Действия различаются для разных ОС.

  1. Скопируйте пример конфигурационного файла виртуального хоста в настройки веб-сервера:

    cp /etc/lanbilling/phpclient/apache2/lbweb-captive-portal.apache2.sample /etc/httpd/conf.d/captive.conf
    

    ``

  2. Настройте captive.conf:

    nano /etc/httpd/conf.d/captive.conf
    

    ``

    • Раскомментируйте секцию <VirtualHost *:80>.

    • Введите адрес веб-интерфейса — по нему абоненты будут проходить регистрацию и авторизацию:

      ServerName www.example.com/captive-aurora
      
      
      
    • Укажите, где расположен сериализованный конфигурационный файл Captive Portal:

      # Uncomment lines below and set correct path to the configuration if You need
      # multiply captive portals running
      SetEnv LBWEB_CONFIG /var/lib/lanbilling/phpclient/captive-portal/captive-aurora.ini
      
      
      
  3. Перезапустите веб-сервер:

    systemctl restart httpd
    

    ``

  1. Скопируйте пример конфигурационного файла виртуального хоста в настройки веб-сервера:

    cp /etc/lanbilling/phpclient/apache2/lbweb-captive-portal.apache2.sample /etc/apache2/sites-available/captive.conf
    a2ensite captive.conf
    a2enmod rewrite
    

    ``

  2. Настройте captive.conf:

    nano /etc/apache2/sites-available/captive.conf
    

    ``

    • Раскомментируйте секцию <VirtualHost *:80>.

    • Введите адрес веб-интерфейса — по нему абоненты будут проходить регистрацию и авторизацию:

      ServerName www.example.com/captive-aurora
      
      
      
    • Укажите, где расположен сериализованный конфигурационный файл Captive Portal:

      # Uncomment lines below and set correct path to the configuration if You need
      # multiply captive portals running
      SetEnv LBWEB_CONFIG /var/lib/lanbilling/phpclient/captive-portal/captive-aurora.ini
      
      
      
  3. Перезапустите веб-сервер:

    systemctl restart apache2
    

    ``

  1. Скопируйте пример конфигурационного файла виртуального хоста в настройки веб-сервера:

    cp /usr/local/etc/lanbilling/phpclient/apache2/lbweb-captive-portal.apache2.sample /usr/local/etc/apache24/Includes/captive.conf
    

    ``

  2. Настройте captive.conf:

    nano /usr/local/etc/apache24/Includes/captive.conf
    

    ``

    • Раскомментируйте секцию <VirtualHost *:80>.

    • Введите адрес веб-интерфейса — по нему абоненты будут проходить регистрацию и авторизацию:

      ServerName www.example.com/captive-aurora
      
      
      
    • Укажите, где расположен сериализованный конфигурационный файл Captive Portal:

      # Uncomment lines below and set correct path to the configuration if You need
      # multiply captive portals running
      SetEnv LBWEB_CONFIG /var/lib/lanbilling/phpclient/captive-portal/captive-aurora.ini
      
      
      
  3. Перезапустите веб-сервер:

    service apache24 restart
    

    ``