sirko.n Опубликовано: November 11, 2012 at 21:53 Опубликовано: November 11, 2012 at 21:53 Всем привет. На минимальную CentOS 6.3 устанавливался стг + ubilling. Не все гладко, но с помощью напильника черты уже видны. На сейчас имею проблему, описания нигде не нашёл, мож плохо искал. Пишу собсно сюда. Криво регается юзер. После "давайте зарегаем" бросает на стандартную страничку но там кроме адреса ничего нет. Доступ к базе проверил, к стг проверил. В конфигураторе соответсвенно нового юзера нет, в онлайн тоже нет. Куда копать?
nightfly Опубліковано: November 11, 2012 at 23:49 Опубліковано: November 11, 2012 at 23:49 После "давайте зарегаем" бросает на стандартную страничку но там кроме адреса ничего нет. Потому, что пользователь stargazer на самом деле не зарегистрировался. Это происходит вызовами родных старгейзеровых конфигураторов. Все остальное, типа адресов, мобилочек, и прочего добавляется уже самим убиллингом напрямую в базу. Либо неверно указаны логин, пароль администратора старгейзера, либо не верен путь к конфигуратору sgconf_xml либо последний вообще не собран. Внимательно смотрите, что у вас нарисовано в config/billing.ini и насколько это соответствует реальности.
sirko.n Опубліковано: November 12, 2012 at 08:57 Автор Опубліковано: November 12, 2012 at 08:57 бинарник есть 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 -- +++++++++++++++++++++++++++++++++++++++++++++
sirko.n Опубліковано: November 12, 2012 at 09:03 Автор Опубліковано: November 12, 2012 at 09:03 на другой машине с CentOS 5.2 все работает. Отличие только в установке самих систем. 5.2 ставилась как сервер а 6.3 как минималка. Может чего не хватает в системе? При сборке никаких ошибок не дает.
DarkSpider Опубліковано: November 12, 2012 at 10:01 Опубліковано: November 12, 2012 at 10:01 в логах стг все пучком 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 - есть ли такой у Вас ?
sirko.n Опубліковано: November 12, 2012 at 10:33 Автор Опубліковано: November 12, 2012 at 10:33 этот модуль не подключен. Сча добавил. Теперь ругается при старте стг на отсутсвие файла Error loading plugin '/usr/lib/stg/mod_conf_rpc.so' Странно, вроде все собиралось. Он ваще от куда берется? З.Ы. На 5.2 модуль тоже не подключен, и там все работает, и порта там нет открытого
nightfly Опубліковано: November 12, 2012 at 10:35 Опубліковано: November 12, 2012 at 10:35 Пучком, да не пучком. Нет старта XML_RPC - или мне повылазило. Не, его и не должно быть, для baseconf=sgconfxml Module: 'Stg configurator v.0.08'. Start successfull. вполне достаточно З.Ы. На 5.2 модуль тоже не подключен, и там все работает, и порта там нет открытого да, оно по 5555 по дефолту работает, 8081 используется для чистого xmlrpc. Сейчас подумаю как отдебужить, что там у вас происходит.
nightfly Опубліковано: November 12, 2012 at 12:00 Опубліковано: November 12, 2012 at 12:00 Для начала можете попробовать исполнить из консоли, руками следующий код: /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); Что-бы глазами посмотреть, что же на самом деле пытается выполняться.
sirko.n Опубліковано: November 12, 2012 at 13:57 Автор Опубліковано: November 12, 2012 at 13:57 с консоли юзера добавило. вот вывод после радектирования handlers.php /usr/sbin/sgconf_xml -s localhost -p 5555 -a хххх -w хххххххх -r '<AddUser><login value="podgorodnoekovalya2ap0_4i33" /></AddUser>' юзера не добавило
sirko.n Опубліковано: November 12, 2012 at 14:04 Автор Опубліковано: November 12, 2012 at 14:04 включил вывод ошибок в пхп.ини получаю вот такое, не знаю важно оно в вышеописаном или нет..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часовой пояс менял после установки стг и убилинга
nightfly Опубліковано: November 12, 2012 at 14:24 Опубліковано: November 12, 2012 at 14:24 юзера не добавило Плохо .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(). А да, может не работать, если в этот момент быть соединенным при помощи других конфигураторов.
sirko.n Опубліковано: November 12, 2012 at 15:59 Автор Опубліковано: November 12, 2012 at 15:59 За часовой пояс спс. пропустил. >> Руками то-же пробовали выполнить? Собственно оное просто попадает в shellexec(). Пробовал, вносит нормально. Конфигуратор был подключен. Отключил. Без него таже история. Еще обнаружилась борода. До этого пыталься только с юзером воевать. Сча попробовал тариф добавить, таже история не добавляет, видать ниточка с одного места тянется. Вроде похожее было и на 5.2. Сча буду вспоминать чего там крутил.
nightfly Опубліковано: November 12, 2012 at 16:11 Опубліковано: November 12, 2012 at 16:11 До этого пыталься только с юзером воевать. Сча попробовал тариф добавить, таже история не добавляет, видать ниточка с одного места тянется. Да, регистрация пользователя, смена пароля, смена IP, все действия с тарифами и внесения денег - производятся не на прямую в базе а посредством вызовов конфигуратора. Возможно у вас в PHP включен safe_mode либо стоят ограничения на вызовы системных команд при помощи system(), shell_exec(), либо еще возможен включенный magic_qotes. Думаю тот же ефект будет наблюдаться и при переключении baseconf в sgconf. Правда? В любом случае там немного вариантов почему PHP скрипту не дают вызвать чесно собранную команду.
sirko.n Опубліковано: November 21, 2012 at 07:42 Автор Опубліковано: November 21, 2012 at 07:42 Командировался в столицу, времени не было разбираться. Сча вернулся. Для чистоты эксперемента: 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. Метод тупой но позволит исключить настройки пхп или я не верно мыслю?
sirko.n Опубліковано: November 21, 2012 at 07:44 Автор Опубліковано: November 21, 2012 at 07:44 Дополнение. Сам стг работает, тарифы, юзеров, админов добавляет. Трафик считает. Юзеров внесенных через конфигуратор видно с убилинге, тарифы тоже.
DarkSpider Опубліковано: November 21, 2012 at 08:41 Опубліковано: November 21, 2012 at 08:41 Возможно у вас в 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 - пользователь из-под которого запущен апач.
sirko.n Опубліковано: November 22, 2012 at 16:04 Автор Опубліковано: November 22, 2012 at 16:04 Все указанное проверил. Юзера добавил (/etc/sudoers). Результат не изменился.
nightfly Опубліковано: November 22, 2012 at 16:10 Опубліковано: November 22, 2012 at 16:10 После старта наблюдаю крякозябли на вебморде. Лечится включением 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
sirko.n Опубліковано: November 22, 2012 at 21:16 Автор Опубліковано: November 22, 2012 at 21:16 Панове это капец! Трабла была в том что был включен Selinux! После отключения все фурычит без проблем. Спасибо всем кто уделил внимание! З.Ы. Программерам респект!
nightfly Опубліковано: November 22, 2012 at 21:50 Опубліковано: November 22, 2012 at 21:50 Трабла была в том что был включен Selinux! У меня сейчас эпилептический припадок будет. Эти ваши линуксы не перестают радовать
sirko.n Опубліковано: January 5, 2013 at 15:54 Автор Опубліковано: January 5, 2013 at 15:54 Всем привет. Основные функции системы работают без проблем. Нашлось время всякие разности настроить. Столкнулся с такой штукой. Свичи не пингаются, соответственно мусолят глаз. Пути к пингу прописаны верно, с консоли пингаются. В профиле юзера при нажатии попингатора, таже история. Куда копнуть?
nightfly Опубліковано: January 5, 2013 at 15:56 Опубліковано: January 5, 2013 at 15:56 Опять 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));
sirko.n Опубліковано: January 5, 2013 at 17:11 Автор Опубліковано: January 5, 2013 at 17:11 Опять 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 не включал В дебаг пусто, ничего не показало.
sirko.n Опубліковано: January 5, 2013 at 17:14 Автор Опубліковано: January 5, 2013 at 17:14 Только досмотрел, а какого юзера sudo использует?
nightfly Опубліковано: January 5, 2013 at 17:20 Опубліковано: January 5, 2013 at 17:20 Только досмотрел, а какого юзера 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
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас