Один модуль lbweb-client может поддерживать несколько версий личного кабинета. У каждой из этих версий будут свои настройки — например, интеграции с разными платёжными системами.
Пример. Вы оказываете услуги телефонии и интернета от лица разных операторов: «SuperPhone» и «SuperNet». Создайте две версии личного кабинета и настройте их с учётом специфики операторов. Абоненты «SuperPhone» смогут посмотреть статистику по своим учётным записям, а клиенты «SuperNet» — изменить MAC-адрес.
Для создания нескольких версий личного кабинета выполните четыре шага.
Установите lbweb-client на веб-сервер. Об этом подробно написано в инструкциях:
Мы рекомендуем устанавливать модули lbweb-client и LBcore на один сервер. Если вы хотите установить модуль lbweb-client на другой сервер, воспользуйтесь инструкцией.
Для каждой версии личного кабинета нужно настроить конфигурацию Apache. Пример конфигурации находится в файле lbweb-client.apache2.sample. Скопируйте его для каждой версии:
cp /etc/lanbilling/phpclient/apache2/lbweb-client.apache2.sample /etc/apache2/sites-available/client1.conf
cp /etc/lanbilling/phpclient/apache2/lbweb-client.apache2.sample /etc/apache2/sites-available/client2.conf
``
В каждом из скопированных файлов укажите расположение директории assets.
Для client1:
Alias /assets/ /var/lib/lanbilling/phpclient/client1/assets/
<Directory /var/lib/lanbilling/phpclient/client1/assets>
Options FollowSymLinks
AllowOverride None
<IfModule !mod_authz_core.c>
Order allow,deny
allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
``
Для client2:
Alias /assets/ /var/lib/lanbilling/phpclient/client2/assets/
<Directory /var/lib/lanbilling/phpclient/client2/assets>
Options FollowSymLinks
AllowOverride None
<IfModule !mod_authz_core.c>
Order allow,deny
allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
``
В параметрах VirtualHost задайте директории для временных файлов с помощью директивы SetEnv
.
Для client1:
SetEnv RUNTIME_PATH /var/lib/lanbilling/phpclient/client1/
``
Для client2:
SetEnv RUNTIME_PATH /var/lib/lanbilling/phpclient/client2/
``
Создайте директории с файлами конфигурации для каждой версии личного кабинета:
cp -R /etc/lanbilling/phpclient/client/ /etc/lanbilling/phpclient/client1/
cp -R /etc/lanbilling/phpclient/client/ /etc/lanbilling/phpclient/client2/
``
Задайте параметры в конфигурационных файлах каждой из версий. Например, в одной скройте раздел «Телефония», а в другой — «Интернет» и «Телевидение». Чтобы разделить личные кабинеты по операторам, используйте параметр oper_id
в файле main.ini.
Также вы можете настроить тему — внешний вид личного кабинета.
Создайте папки для сериализаций:
mkdir -p /var/lib/lanbilling/phpclient/client1/assets/
mkdir -p /var/lib/lanbilling/phpclient/client2/assets/
``
Измените владельца директорий.
chown -R www-data:www-data /var/lib/lanbilling/phpclient/client1/
chown -R www-data:www-data /var/lib/lanbilling/phpclient/client2/
chown -R apache:apache /var/lib/lanbilling/phpclient/client1/
chown -R apache:apache /var/lib/lanbilling/phpclient/client2/
Сериализуйте изменения:
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client1/ -o=/var/lib/lanbilling/phpclient/client1/config
/usr/local/sbin/lbwebcfg -y client /etc/lanbilling/phpclient/client2/ -o=/var/lib/lanbilling/phpclient/client2/config
``
Перезапустите веб-сервер.
Настройка завершена — у вас есть два личных кабинета с индивидуальными настройками.
Есть вопросы по документации? Пожалуйста, напишите их