Перейти до

Установка на CentOS


Рекомендованные сообщения

Всем привет.

На минимальную CentOS 6.3 устанавливался стг + ubilling. Не все гладко, но с помощью напильника черты уже видны.

На сейчас имею проблему, описания нигде не нашёл, мож плохо искал. Пишу собсно сюда.

Криво регается юзер. После "давайте зарегаем" бросает на стандартную страничку но там кроме адреса ничего нет.

Доступ к базе проверил, к стг проверил. В конфигураторе соответсвенно нового юзера нет, в онлайн тоже нет.

Куда копать?

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 57
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Обожаю эти ваши линуксы, каждый день что-то новое

После "давайте зарегаем" бросает на стандартную страничку но там кроме адреса ничего нет.

Потому, что пользователь stargazer на самом деле не зарегистрировался. Это происходит вызовами родных старгейзеровых конфигураторов. Все остальное, типа адресов, мобилочек, и прочего добавляется уже самим убиллингом напрямую в базу.

 

Либо неверно указаны логин, пароль администратора старгейзера, либо не верен путь к конфигуратору sgconf_xml либо последний вообще не собран. Внимательно смотрите, что у вас нарисовано в config/billing.ini и насколько это соответствует реальности.

Ссылка на сообщение
Поделиться на других сайтах

бинарник есть

ls -l /usr/sbin/ |grep sgconf_xml

-rwxr-xr-x. 1 root root 60184 Ноя 11 01:26 sgconf_xml

 

вот собсно сам billing.ini

; type of low level billing interraction

baseconf = sgconfxml

SGCONF=/usr/sbin/sgconf

SGCONFXML=/usr/sbin/sgconf_xml

STG_HOST=localhost

STG_PORT=5555

XMLRPC_PORT=8081

STG_LOGIN=xxxx

STG_PASSWD=xxxxxxx

SUDO=/usr/bin/sudo

TOP = /usr/bin/top -b

CAT=/bin/cat

GREP=/bin/grep

;RC_DHCPD=/usr/local/etc/rc.d/isc-dhcpd

RC_DHCPD=/usr/sbin/dhcpd

UPTIME=/usr/bin/uptime

PING=/bin/ping

TAIL=/usr/bin/tail

KILL=/bin/kill

STGPID=/var/run/stargazer.pid

STGNASHUP=0

PHPSYSINFO=phpsysinfo/

LANG = ua

TASKBAR_ICON_SIZE = 128

; user register options

REGRANDOM_MAC=1

REGALWONLINE=1

REGDISABLEDSTAT=0

 

Вроде все по мануалу. Проверял ужо.

А его можно как то проверить с консоли?

 

в логах стг все пучком

2012-11-12 10:45:48 -- Stg v. 2.408

2012-11-12 10:45:48 -- Message queue created successfully. msgKey=5555 msgID=163840

2012-11-12 10:45:48 -- Timer thread started successfully.

2012-11-12 10:45:48 -- Storage plugin: mysql_store v.0.67. Loading successfull.

2012-11-12 10:45:48 -- Users started successfully.

2012-11-12 10:45:48 -- Traffcounter started successfully.

2012-11-12 10:45:48 -- Module: 'Pinger v.1.01'. Start successfull.

2012-11-12 10:45:48 -- Module: 'Stg configurator v.0.08'. Start successfull.

2012-11-12 10:45:48 -- Module: 'Always Online authorizator v.1.0'. Start successfull.

2012-11-12 10:45:48 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull.

2012-11-12 10:45:48 -- Module: 'CAP_NF v. 0.4'. Start successfull.

2012-11-12 10:45:48 -- Stg started successfully.

2012-11-12 10:45:48 -- +++++++++++++++++++++++++++++++++++++++++++++

Ссылка на сообщение
Поделиться на других сайтах

на другой машине с CentOS 5.2 все работает. Отличие только в установке самих систем. 5.2 ставилась как сервер а 6.3 как минималка. Может чего не хватает в системе?

При сборке никаких ошибок не дает.

Ссылка на сообщение
Поделиться на других сайтах

 

в логах стг все пучком

2012-11-12 10:45:48 -- Stg v. 2.408

2012-11-12 10:45:48 -- Message queue created successfully. msgKey=5555 msgID=163840

2012-11-12 10:45:48 -- Timer thread started successfully.

2012-11-12 10:45:48 -- Storage plugin: mysql_store v.0.67. Loading successfull.

2012-11-12 10:45:48 -- Users started successfully.

2012-11-12 10:45:48 -- Traffcounter started successfully.

2012-11-12 10:45:48 -- Module: 'Pinger v.1.01'. Start successfull.

2012-11-12 10:45:48 -- Module: 'Stg configurator v.0.08'. Start successfull.

2012-11-12 10:45:48 -- Module: 'Always Online authorizator v.1.0'. Start successfull.

2012-11-12 10:45:48 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull.

2012-11-12 10:45:48 -- Module: 'CAP_NF v. 0.4'. Start successfull.

2012-11-12 10:45:48 -- Stg started successfully.

2012-11-12 10:45:48 -- +++++++++++++++++++++++++++++++++++++++++++++

 

Пучком, да не пучком. Нет старта XML_RPC - или мне повылазило.

Наберите в консоли : netstat -an | grep tcp

Должен быть порт 8081 (или какой Вы указали в конфиге СТГ).

Думаю его не будет.

 

Что у Вас есть в папке conf-enabled.d ?

у меня это :

mod_ao.conf  mod_conf_sg.so  mod_ia.conf  mod_ping.conf  mod_rpc.conf  mod_sg.conf  store_mysql.conf

 

Собственно mod_rpc.conf - есть ли такой у Вас ?

Ссылка на сообщение
Поделиться на других сайтах

этот модуль не подключен.

Сча добавил. Теперь ругается при старте стг на отсутсвие файла Error loading plugin '/usr/lib/stg/mod_conf_rpc.so'

Странно, вроде все собиралось. Он ваще от куда берется?

 

З.Ы. На 5.2 модуль тоже не подключен, и там все работает, и порта там нет открытого :blink:

Ссылка на сообщение
Поделиться на других сайтах
Пучком, да не пучком. Нет старта XML_RPC - или мне повылазило.

Не, его и не должно быть, для baseconf=sgconfxml

 

Module: 'Stg configurator v.0.08'. Start successfull.

вполне достаточно

 

З.Ы. На 5.2 модуль тоже не подключен, и там все работает, и порта там нет открытого :blink:

да, оно по 5555 по дефолту работает, 8081 используется для чистого xmlrpc.

 

Сейчас подумаю как отдебужить, что там у вас происходит.

Ссылка на сообщение
Поделиться на других сайтах

Для начала можете попробовать исполнить из консоли, руками следующий код:

 

/usr/sbin/sgconf_xml -s localhost -p 5555 -a xxxx -w xxxxxxx -r '<AddUser><login value="testmeuser" /></AddUser>'

 

Если после этого пользователь добавиться, можете попробовать в api/sgconfxml/handlers.php в строке 67 временно изменить

 

 executor($string,false);

на

 executor($string,true);

 

Что-бы глазами посмотреть, что же на самом деле пытается выполняться.

Ссылка на сообщение
Поделиться на других сайтах

с консоли юзера добавило.

 

вот вывод после радектирования handlers.php

/usr/sbin/sgconf_xml -s localhost -p 5555 -a хххх -w хххххххх -r '<AddUser><login value="podgorodnoekovalya2ap0_4i33" /></AddUser>'

 

юзера не добавило

Ссылка на сообщение
Поделиться на других сайтах

включил вывод ошибок в пхп.ини получаю вот такое, не знаю важно оно в вышеописаном или нет..Warning: date() function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for 'EET/2.0/no DST' instead in /var/www/billing/api/libs/api.compat.php on line 48Warning: date() function.date: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for 'EET/2.0/no DST' instead in /var/www/billing/api/libs/api.compat.php on line 48часовой пояс менял после установки стг и убилинга

Ссылка на сообщение
Поделиться на других сайтах
юзера не добавило

Плохо

 

.Warning: date() function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting

Ну написано же что сделать. Кстати по этому поводу посмотрите вот тут.

 

не знаю важно оно в вышеописаном или нет.

Нет, не важно по сути. Но таймзону для php выставьте.

 

/usr/sbin/sgconf_xml -s localhost -p 5555 -a хххх -w хххххххх -r '<AddUser><login value="podgorodnoekovalya2ap0_4i33" /></AddUser>'

Руками то-же пробовали выполнить? Собственно оное просто попадает в shellexec().

А да, может не работать, если в этот момент быть соединенным при помощи других конфигураторов.

Ссылка на сообщение
Поделиться на других сайтах

За часовой пояс спс. пропустил.

 

>> Руками то-же пробовали выполнить? Собственно оное просто попадает в shellexec().

Пробовал, вносит нормально.

 

Конфигуратор был подключен. Отключил. Без него таже история.

 

Еще обнаружилась борода. До этого пыталься только с юзером воевать. Сча попробовал тариф добавить, таже история не добавляет, видать ниточка с одного места тянется.

Вроде похожее было и на 5.2. Сча буду вспоминать чего там крутил.

Ссылка на сообщение
Поделиться на других сайтах
До этого пыталься только с юзером воевать. Сча попробовал тариф добавить, таже история не добавляет, видать ниточка с одного места тянется.

Да, регистрация пользователя, смена пароля, смена IP, все действия с тарифами и внесения денег - производятся не на прямую в базе а посредством вызовов конфигуратора.

 

Возможно у вас в PHP включен safe_mode либо стоят ограничения на вызовы системных команд при помощи system(), shell_exec(), либо еще возможен включенный magic_qotes. Думаю тот же ефект будет наблюдаться и при переключении baseconf в sgconf. Правда?

В любом случае там немного вариантов почему PHP скрипту не дают вызвать чесно собранную команду.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Командировался в столицу, времени не было разбираться.

Сча вернулся.

 

Для чистоты эксперемента:

1. Установлена CentOS 6.3 сервер.

2. Мускул

3. апач

4. phpmyadmin

5. softflowd

6. Старгейзер + sgconf + sgconf_xml

7. ubilling 0.3.3 rev 1979

 

Все с нуля.

 

После старта наблюдаю крякозябли на вебморде. Лечится включением short_open_tag On

 

Захожу в убиллинг. Вношу классы, сети, дхцп, сервера NAS - полет нормальный.

Дальше начинаются те же грабли.

При внесении тарифа ничего не происходит.

Все описанные процедуры выше сделаны. Юзера с консоли добавляет, на вебку выводит все правильно.

 

Сразу предупреждаю в php не то чтобы ноль но очень к нему близко.

На 5.2 стоит и успешно работает. Из планируемого дабы исключить настройки пхп планирую взять рабочий пхп.ини с 5.2 и засунуть в 6.3. Метод тупой но позволит исключить настройки пхп или я не верно мыслю?

Ссылка на сообщение
Поделиться на других сайтах

Дополнение. Сам стг работает, тарифы, юзеров, админов добавляет. Трафик считает. Юзеров внесенных через конфигуратор видно с убилинге, тарифы тоже.

Ссылка на сообщение
Поделиться на других сайтах

 

Возможно у вас в PHP включен safe_mode либо стоят ограничения на вызовы системных команд при помощи system(), shell_exec(), либо еще возможен включенный magic_qotes. Думаю тот же ефект будет наблюдаться и при переключении baseconf в sgconf. Правда?

В любом случае там немного вариантов почему PHP скрипту не дают вызвать чесно собранную команду.

 

Вот этот совет проверяли. С XML_RPC согласен. Он тут не причем. Проверьте настройки php.

 

short_open_tag = On
safe_mode = Off
safe_mode_gid = Off
memory_limit = 128M
error_reporting = E_ALL
display_errors = On
log_errors = On
register_globals = Off
magic_quotes_gpc = Off
allow_url_fopen = On

 

Ну это основное, что в голову пришло.

Помимо этого проверьте /etc/sudoers

 

User_Alias BILLING = www-data
BILLING ALL = NOPASSWD: ALL

 

www-data - пользователь из-под которого запущен апач.

Ссылка на сообщение
Поделиться на других сайтах
После старта наблюдаю крякозябли на вебморде. Лечится включением short_open_tag On

Да, это описано в FAQ

 

Метод тупой но позволит исключить настройки пхп или я не верно мыслю?

Приблизительно правильно. Все что вам нужно от PHP по минимум это вот такой конфиг:

 

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
date.timezone="Europe/Kiev"

 

больше там может ничего не быть.

 

Юзеров внесенных через конфигуратор видно с убилинге

А вот это очень даже даром вы попытались сделать. Об этом тоже сказано в FAQ =)

Для начала загляните на такого пользователя в "Черная магия" -> "Проверка целосности"

 

 

Для начала давайте попробуем отдебужить по наивному.

Тыкаете "SQL консоль" -> "PHP консоль" и исполняете там следующее:

 

$login_q="SELECT `login` from `users` WHERE `Cash`>0";
$randomlogin=simple_query($login_q);
if (!empty($randomlogin)) {
 $billing->resetuser($randomlogin['login']);
} else {
 deb('nousers');
}


 

После чего внимательно смотрим в /var/log/stargazer.log

Ссылка на сообщение
Поделиться на других сайтах

Панове это капец!

 

Трабла была в том что был включен Selinux! После отключения все фурычит без проблем.

 

Спасибо всем кто уделил внимание!

 

З.Ы. Программерам респект!

Ссылка на сообщение
Поделиться на других сайтах
Трабла была в том что был включен Selinux!

У меня сейчас эпилептический припадок будет. Эти ваши линуксы не перестают радовать :P

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Всем привет.

Основные функции системы работают без проблем. Нашлось время всякие разности настроить.

Столкнулся с такой штукой. Свичи не пингаются, соответственно мусолят глаз. Пути к пингу прописаны верно, с консоли пингаются. В профиле юзера при нажатии попингатора, таже история. Куда копнуть?

Ссылка на сообщение
Поделиться на других сайтах

Опять SELinux?

 

А вообще проверяется очень просто при помощи "PHP консоли":

 

$ip='127.0.0.1';
$globconf=parse_ini_file(CONFIG_PATH."billing.ini");
$ping=$globconf['PING'];
$sudo=$globconf['SUDO'];
$ping_command=$sudo.' '.$ping.' -i 0.01 -c 1 '.$ip;
$ping_result=shell_exec($ping_command);
deb(nl2br($ping_result));

Ссылка на сообщение
Поделиться на других сайтах

Опять SELinux?

 

А вообще проверяется очень просто при помощи "PHP консоли":

 

$ip='127.0.0.1';
$globconf=parse_ini_file(CONFIG_PATH."billing.ini");
$ping=$globconf['PING'];
$sudo=$globconf['SUDO'];
$ping_command=$sudo.' '.$ping.' -i 0.01 -c 1 '.$ip;
$ping_result=shell_exec($ping_command);
deb(nl2br($ping_result));

 

Selinux не включал :)

 

В дебаг пусто, ничего не показало.

Ссылка на сообщение
Поделиться на других сайтах
Только досмотрел, а какого юзера sudo использует?

Того под которым работает апач. Для BSD это www. В этих ваших линуксах - вообще неизвестно кто начиная httpd и apache и заканчивая http,nobody,www и еще невесть кем.

 

Итого в sudoers следует добавить

 

User_Alias BILLING = пользователь_апача
BILLING		 ALL = NOPASSWD: ALL

 

В дебаг пусто, ничего не показало.

Хоть бы чем-то ругнулось :(

Одно из двух - либо проблема действительно в sudo и оно например пароль просит, либо у вас в принципе не исполняется shell_exec()/system() попробуйте тогда так:

 

 

$ip='127.0.0.1';
$globconf=parse_ini_file(CONFIG_PATH."billing.ini");
$ping=$globconf['PING'];
$ping_command=$ping.' -c 1 '.$ip;
$ping_result=shell_exec($ping_command);
deb(nl2br($ping_result));

 

Если и после такого в дебаге пустота - у вас таки по идее ничерта системные вызовы не исполняются. Соответственно не должно работать вообще ничего.

 

Без рабочего только sudo - не будут работать:

1. парсинг новых МАС из логов

2. перезапуск dhcpd

3. выпарсивание начислений средств stargazer

4. посылка HUP для stargazer при работе с NAS-ами

5. все пинговалки

6. еще черт знает что - оно в большинстве своем форкается под sudo

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
    • Від ukrtelekom
      Доброго часу!
      Шукається адміністратор віддалений для разової роботи по коригуванню працюючого Ubilling з мікротами. Якщо стосунки зклєяться- то до постійної додаткової копійки. 
      Всім заздалегідь дякую. Хейти, бажано не писати. Контакти в приватні повідомлення або O73283344O

×
×
  • Створити нове...