Mikbill stat Личный кабинет HTML5
Mikbill - личный кабинет
В данный момент Mikbill полностью перешел на новый HTML5 кабинет с старого написанного на Flash.
Плюсы:
- открытый исходный код. Можно дополнять и исправлять функционал.
- широкие настройки, доступные прямо из админки биллинга.
- переопределение меню или отдельного словосочетания по своему вкусу (кастомизация).
- возможность настройки авторизации по IP (Автовход в ЛК)
- настройка локализации кабинета. Из коробки русский, украинский, английский языки. Возможность самим сделать перевод на любой язык.
Автоопределение языка - автоопределение локали на основе данных браузера
Меню выбора языка - внизу страницы ЛК отображаются меню выбора языкаЯзык по умолчанию - язык который будет по умолчанию в ЛК (по умолчанию значение ru_RU)
- переопределение файлов шаблона, CSS стилей.
- функция восстановления пароля по СМС
- функция СМС регистрации абонента в биллинге средствами hotspot
Из минусов можно упомянуть некоторый незначительный функционал, не перешедший из старого кабинета в следствии его малого спроса. Нет поддержки php 5.2
Настройка домена, IP, порта личного кабинета
Все настройки доступа в файле конфигурации /etc/nginx/conf.d/stat.conf
Пример файла:
server {
listen *:80;
server_name stat.ispnet.demo;
rewrite ^ https://$server_name/$1 permanent;
}
server {
listen *:443;
server_name stat.ispnet.demo;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/nginx/conf.d/ssl/ca.crt;
ssl_certificate_key /etc/nginx/conf.d/ssl/ca.key;
access_log /var/log/nginx/stat_access.log;
error_log /var/log/nginx/stat_error.log;
root /var/www/mikbill/stat;
index main.php;
location / {
root /var/www/mikbill/stat;
index main.php;
try_files $uri $uri/ /index.php?$args;
}
location ~* ^(/app/|/sys/).*\.(php|sh|xml|log|txt)$ {deny all;}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-worker-socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/mikbill/stat/$fastcgi_script_name;
}
}
Меняем stat.ispnet.demo на свой домен или IP. Можно добавлять домены/IP через пробел.
Внимание! При заходе в админку и в кабинет по IP с одного браузера будет сообщать ошибку "Role 187" или подобную. Это не ошибка админки/кабинета, это в браузере кеш так себя ведет. Так что совет, делать домены, хотя бы локальные.listen *:80; - настройка порта. Следует учесть, что настройка ssl делается только для 443 порта
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/nginx/conf.d/ssl/ca.crt;
ssl_certificate_key /etc/nginx/conf.d/ssl/ca.key;
Для других портов можно просто выключить ssl
ssl off;
Если хотим сделать кабинет доступным по 80 порту без редиректа меняем секцию
server {На
listen *:80;
server_name stat.ispnet.demo;
rewrite ^ https://$server_name/$1 permanent;
}
server {
listen *:80;
server_name stat.ispnet.demo;
access_log /var/log/nginx/stat_access.log;
error_log /var/log/nginx/stat_error.log;
root /var/www/mikbill/stat;
index main.php;
location / {
root /var/www/mikbill/stat;
index main.php;
try_files $uri $uri/ /index.php?$args;
}
location ~* ^(/app/|/sys/).*\.(php|sh|xml|log|txt)$ {deny all;}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-worker-socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/mikbill/stat/$fastcgi_script_name;
}
}
После всех изменений не забываем перезагрузить конфиг в Nginx
- service nginx reload
Или перезапустить сервис Nginx (При перезапуске в случае ошибок Nginx не стартанет)
- service nginx restart
Не забываем прописать домен в /etc/hosts, иначе при заходе в личный кабинет будет выбивать ошибку "Ошибка сетевого транспорта. Попробуйте зайти позже..."
- mcedit /etc/hosts
Добавляем в конец строчку (меняем домен на свой)
127.0.0.1 stat.ispnet.demoИ проверяем
- ping stat.ispnet.demo
Переход на новый кабинет со старого:
HTTP-сервер Apache- mcedit /var/www/mikbill/stat/.htaccess
Находим предпоследнюю строчку
DirectoryIndex index.phpМеняем на
DirectoryIndex main.phpНовый кабинет станет доступным сразу, без перезапуска httpd.
HTTP-сервер Nginx
- mcedit /etc/nginx/conf.d/stat.conf
До изменения:
index index.php; location / { root /var/www/mikbill/stat; index index.php; try_files $uri $uri/ /index.php?$args; }
После изменений:
index main.php; location / { root /var/www/mikbill/stat; index main.php; try_files $uri $uri/ /index.php?$args; }Сохраняем, перезапускаем Nginx.
- service nginx restart
Настройка авторизации по IP абонентов (Автовход)
Данный функционал предусматривает вход в личный кабинет минуя форму ввода логина и пароля, посредством механизма сравнивания IP адреса абонента (с которого поступил запрос), с IP адресами которые есть в карточках абонентов.Главным условием данного функционала является чтобы сервер биллинга видел абонентов по его индивидуальному IP, иначе кабинет не сможет его идентифицировать.
Проверить это можно командой с компьютера абонента:
http://stat.my/main.php?action=getipЕсли возвращает внешний IP - правим NAT на NAS, так, чтобы из правила NAT исключался dst IP кабинета.
Настройка:
- mcedit /var/www/mikbill/stat/app/etc/config.xml
<doauthbyip>1</doauthbyip>
<doauthbyframedip>1</doauthbyframedip>
<doauthbyonlineip>1</doauthbyonlineip>
Описание настроек:
doauthbyip - значение 1 включает "автовход" абонента под зафиксированным в билинге его "локальным ip"
doauthbyframedip - значение 1 включает "автовход" абонента под зафиксированным в биллинге его "Выдаваемом ip"
doauthbyonlineip - значение 1 включает "автовход" абонента под "ip" который числиться в ONLINE
doauthonlypass - значение 1 включает вход только по паролю
Также проверить конфиг nginx:
Частая ошибка при заходе в личный кабинет
2. Если пинга нет то прописать в /etc/hosts:
И тут еще важно, что ip должен быть с конфига nginx кабинета
- mcedit /etc/nginx/nginx.conf
ignore_invalid_headers off;
в секции http {
Частая ошибка при заходе в личный кабинет
Ошибка сетевого транспорта. Попробуйте зайти позже...
1. Проверить есть ли пинг с сервера на stat.isp.demo (stat.isp.demo заменить на вашу ссылку)
2. Если пинга нет то прописать в /etc/hosts:
127.0.0.1 stat.isp.demo(stat.isp.demo заменить на вашу ссылку)
И тут еще важно, что ip должен быть с конфига nginx кабинета
3. Проверить пароль в кабинете к MySQL
файл /var/www/mikbill/stat/app/etc/config.xml
файл /var/www/mikbill/stat/app/etc/config.xml
<password>PASSWORD</password>
Комментарии
Отправить комментарий