en:dpi:dpi_components:модуль_wi-fi_hotspot [Документация VAS Experts]

This is an old revision of the document!


8 Wi-Fi HotSpot Module

Introduction

The module provides the feature to authorize users by phone number in public Wi-Fi networks.

Architecture

Scenarios of use

When a subscriber connects to Wi-Fi, the router requests the DCHP server to obtain a new IP address. The server returns the addresses to the router and runs the shell-script, which activates the tariff with limited access and the “White List”. It makes sense to include in the white lists, for example, the site of the provider or organization providing public Wi-Fi.

Then the subscriber is redirected to the browser start page, where he needs to go through the authorization by phone number. The web server receives a successful authorization response from the SMS gateway and, using a shell-script, disables restrictions specified on the DPI and redirects the subscriber to the desired page.

Installation and Upgrade

Hardware Recommendations

In order to run the module you can use the following hardware or virtual machines matching the following characteristics:

  1. CPU 2.5 GHz, 1 pcs
  2. RAM 512 MB - 1 GB
  3. HDD 20 GB - 50 GB
  4. Operating system Cent OS 6.4 - 7+
  5. NIC ranging from 10 Mб/сек
Recommended operating system is Cent OS 7+ If you need to install the module on Cent OS 6, make sure that supervisor 3+ is installed. If you do not have the needed package, plese contact the VAS Experts technical support.
Do not install the module on the same hardware running the DPI or the VAS Experts DPI 2 management interface! Use a dedicated virtual machine instead.

Before installation

New Virtual Machine

  1. Make sure the openssh-clients is installed, it is required to connect to the DPI
  2. The rest of environment will be installed automatically

Old Virtual Machine

  1. Make sure the openssh-clients is installed, it is required to connect to the DPI
  2. If PHP version <7.1 is installed, uninstall the old one:
    yum -y remove php*

    The new version will be installed automatically during dpiui2 installation.

  3. If MySql is installed, uninstall it:
    yum remove mysql mysql-server mysql-community-common

    Also delete the MySql directory:

    mv /var/lib/mysql /var/lib/mysql_old_backup

    During wifi_hotspot installation MariaDB 10.2+ will be installed

CentOS 6

Recommended operating system is Cent Cent OS 7+ If you need to install the module on Cent OS 6, make sure that supervisor 3+ is installed. If you do not have the needed package, plese install it using the following commands:

sudo wget https://vasexperts.ru/install/supervisor-3.0-1.gf.el6.noarch.rpm
yum install supervisor-3.0-1.gf.el6.noarch.rpm

Installation

Before installing or upgrading, check your internet connection. Run scripts with root privilege or using sudo.
Attention: You should to disable selinux. To do this, set SELINUX = disabled in the /etc/selinux/config file and restart server.
Attention: If you've installed and configured the virtual machine using HotSpot Management section before you install this module on it, all the needed tools and settings will be installed automatically.

Для установки запустите скрипт:

#!/usr/bin/env bash

info () {
    echo -e " info:    $@ ";
}

ok () {
    echo -e " done:    $@ ";
}

error () {
    echo -e  " ERROR:  $@";
}

CENTOSRELEASE=`cat /etc/redhat-release`
SUBSTR=`echo $CENTOSRELEASE|cut -c1-22`
SUBSTR2=`echo $CENTOSRELEASE|cut -c1-26`

#Check OS version
CentOsVersion=0
if [ "$SUBSTR" = "CentOS Linux release 7" ]
    then
        CentOsVersion=70
elif [ "$SUBSTR2" == "CentOS release 6.5 (Final)" ]
    then
        CentOsVersion=65
elif [ "$SUBSTR2" == "CentOS release 6.4 (Final)" ]
    then
        CentOsVersion=64
else
    CentOsVersion=60
fi

#Configure repos
info "Configuring repos..."

rpm --import http://vasexperts.ru/centos/RPM-GPG-KEY-vasexperts.ru
rpm -Uvh http://vasexperts.ru/centos/6/x86_64/vasexperts-repo-1-0.noarch.rpm


MARIADB_REPO=/etc/yum.repos.d/mariadb.repo
if [ "$CentOsVersion" == 70 ]
then
        rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
        rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
        
        echo "[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" > $MARIADB_REPO

else

        rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
        rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
        
        MACHINE_TYPE=`uname -m`
        if [ ${MACHINE_TYPE} == 'x86_64' ] 
        then

echo "[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.2/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" > $MARIADB_REPO

else
echo "[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.2/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" > $MARIADB_REPO
fi


fi
ok "Finished Configuring repos."

#wifi_hotspot install
info "Wifi hotspot package installing..."

yum install -y wifi_hotspot --exclude=php-common*;

info "Finished wifi_hotspot package installing."

Будет произведена установка rpm-пакета wifi_hotspot. Будет произведена автоматическая настройка согласно конфигурации.

В процессе установки будет произведена установка / обновление окружения:

  1. PHP >= 7.1
  2. MariaDB >= 10.2
  3. Apache
  4. Composer
  5. PHP SSH2 lib
  6. Laravel/Lumen

В процессе установки будут открыты необходимые порты, а также запущен cron для выполнения фоновых задач по расписанию.

Установка подсистемы будет произведена в папку:

/var/www/html/wifi_hotspot/

После инсталляции, введите в браузере:

http://<IP адрес VM>/

Обновление

Для обновления ранее установленной версии, выполните команду

yum install -y wifi_hotspot

Конфигурация

Системные настройки модуля находятся в файле .env

/var/www/html/wifi_hotspot/backend/.env

Содержимое файла следующее:

#Системные настройки, лучше не трогать
APP_ENV=local
APP_DEBUG=true
APP_KEY=
APP_TIMEZONE=UTC

#Системные настройки подключения к БД MySql, лучше не трогать
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=wifi_hotspot
DB_USERNAME=root
DB_PASSWORD=vasexperts

#Настройки подключения к SMTP-серверу. Нужны для отправки данных по авторизации в режиме отладки.
CFG_SMTP_UNAME=smtptestvasexperts@gmail.com
CFG_SMTP_PW=pH3xkXTp1
CFG_SMTP_HOST=smtp.gmail.com
CFG_SMTP_PORT=587
CFG_SMTP_SECURE=tls
CFG_SMTP_SENDER=smtptestvasexperts@gmail.com

#Системные настройки, трогать нельзя
CACHE_DRIVER=file
QUEUE_DRIVER=database
SESSION_DRIVER=cookie
Если были внесены изменения в .env, необходимо выполнить команду
php /var/www/html/wifi_hotspot/backend/artisan queue:restart

Информация о версиях

Версия v.1.1.0 (06.11.2019)

  • Переработан процесс замены логотипа и иконки через интерфейс dpiui2
  • Изменен ограничение размера файла логотипа или иконки с 64кб до 750кб

Версия v.1.0.10 (25.10.2019)

  • Исправление отображения портала на мобильных устройствах
  • Исправление алгоритма повторной авторизации

Версия v.1.0.7 (15.09.2019)

  • Создан новый модуль Wi-Fi HotSpot

Известные проблемы

  • При изменении логотипа в разделе Хотспот существует ограничение на максимальный размер файла 64кб. Будет исправленно в версии v.1.1.0.