Это старая версия документа!
8 Модуль Wi-Fi HotSpot
Введение
Модуль предоставляет возможность проводить авторизацию пользователей по номеру телефона в публичных Wi-Fi сетях.
Архитектура
Сценарий применения
В момент, когда абонент подключается к Wi-Fi, роутер обращается к DCHP-серверу для получения нового IP-адреса. Сервер возвращает данные адреса на роутер и вызывает shell-script, активирующий тариф с ограниченным доступом и «Белый список». В белые списки здесь имеет смысл включить, например, сайт провайдера или организации, предоставляющий публичный Wi-Fi.
Далее абонент перенаправляется в браузер на стартовую страницу, где ему необходимо пройти авторизацию по номеру телефона. Web-сервер получает ответ об успешной авторизации от SMS шлюза и с помощью shell-script удаляет ограничения на DPI и перенаправляет на нужную страницу.
Инсталляция и обновление
Рекомендации к оборудованию
Для подсистемы можно использовать оборудование или виртуальные машины со сл.характеристиками:
- Процессор (CPU) 2.5 ГГц, 1 шт
- Оперативная память (RAM) 512 Мб - 1 Гб
- Жесткий диск (HDD) 20 Гб - 50 Гб
- Операционная система Cent OS 6.4 - 7+
- Сетевая плата (NIC) от 10 Mб/сек
Перед установкой
Новая ВМ
- Убедитесь, что установлен openssh-clients - необходим для подключения к DPI
- Все остальное необходимое окружение будет установлено автоматически
Старая ВМ
- Убедитесь, что установлен openssh-clients - необходим для подключения к DPI
- Если установлен PHP версии < 7.1, удалите старую версию:
yum -y remove php*
Новая версия будет установлена автоматически при установке dpiui2.
- Если установлен MySql, удалите:
yum remove mysql mysql-server mysql-community-common
Также удалите директорию MySql:
mv /var/lib/mysql /var/lib/mysql_old_backup
При установке wifi_hotspot будет установлен MariaDB 10.2+
CentOS 6
Рекомендуемая операционная система Cent OS 7+ Если вам необходимо поставить на Cent OS 6, убедитесь что установлен supervisor 3+. Если у вас нет нужного пакета, установите его, выполнив команды:
sudo wget https://vasexperts.ru/install/supervisor-3.0-1.gf.el6.noarch.rpm yum install supervisor-3.0-1.gf.el6.noarch.rpm
Инсталляция
Для установки запустите скрипт:
#!/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. Будет произведена автоматическая настройка согласно конфигурации.
В процессе установки будет произведена установка / обновление окружения:
- PHP >= 7.1
- MariaDB >= 10.2
- Apache
- Composer
- PHP SSH2 lib
- 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
php /var/www/html/wifi_hotspot/backend/artisan queue:restart
Информация о версиях
Версия v.1.10 (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.