Jump to content

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


Recommended Posts

В sudoers

 

User_Alias BILLING = apache

BILLING ALL = NOPASSWD: ALL

 

 

вот так

 

$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));

 

отпинговалось

Link to post
Share on other sites
  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

А так чего говорит?

 

$globconf=parse_ini_file(CONFIG_PATH."billing.ini");
$sudo=$globconf['SUDO'];
$command=$sudo.' id';
$result=shell_exec($command);
deb(nl2br($result));

 

таки походу sudo не работает

Link to post
Share on other sites

В дебаг пусто

 

в консоли делаю так

 

sudo -u apache ping 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.177 ms

64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.176 ms

 

пинг есть

Link to post
Share on other sites
Только досмотрел, а какого юзера 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

так и есть, нихрена не пашет.

Link to post
Share on other sites
В дебаг пусто

значит sudo либо не выполняется вообще, либо пытается запросить пароль.

 

sudo -u apache ping 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.177 ms

64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.176 ms

конечно мило, но вызывается оно для самого себя форком апача - из этого и следует исходить.

 

Для начала возможно стоит позырить под кем же работают процессы php:

 

$command='id';
$result=shell_exec($command);
deb(nl2br($result));

 

Если в выхлопе вы таки увидите своего apache - значит проблема таки либо:

 

1. в том как это должно быть описано в sudoers (я реально не знаю, отличается ли оно в GNU-том окружении)

2. либо в банальном пути до самого sudo

 

Больше вариантов почему оно может не работать - придумать сложно.

Link to post
Share on other sites
Есть чем заняться на выходных

дык это ж хорошо :)

 

Буду искать.

Чего последний тест говорит?

 

 

$command='id';
$result=shell_exec($command);
deb(nl2br($result));

Link to post
Share on other sites

Интересные моменты.

В мане по sudoers написано что редактировать только visudo, как то странно, но проблему не решило.

 

В

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

BILLING ALL = NOPASSWD: ALL

в первой строке добавил двух юзеров apache, sirko

вторая без изменений.

 

Разлогинился, залогинился под sirko. Начал пробовать команды из billing.ini. Часть работает часть нет если не указывать sudo.

Если синтаксис sudo команда работает все. Ниче не пойму. Может судо не при делах?

Права на исполнение кроме того что в мане по установке написано нигде не нужно добавлять?

 

 

З.Ы. Есть продвинутые линуксоиды проконосультировать по sudoers ?

Link to post
Share on other sites
Есть чем заняться на выходных
дык это ж хорошо :)
Буду искать.
Чего последний тест говорит?
 $command='id'; $result=shell_exec($command); deb(nl2br($result)); 

тыкает пальцем в apache

Link to post
Share on other sites
тыкает пальцем в apache

окей, будем считать что в данном контексте apache и sirko эквивалентны

 

Разлогинился, залогинился под sirko. Начал пробовать команды из billing.ini. Часть работает часть нет если не указывать sudo.

ниразу не понял, кто работает и кто нет

 

можете елементарно попробовать под sirko все тот же

 

/usr/bin/sudo /bin/ping -i 0.01 -c 1 127.0.0.1 (надеюсь такие путя у вас в billing.ini прописаны?)

 

если работает - значит болезнь порылась где-то в system() - ему, кто-то претит выполнять внешние команды.

Link to post
Share on other sites

Я на всяк случай ложу его сюда

; 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=ххххххх
STG_PASSWD=ххххххх
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 = 64
; user register options
REGRANDOM_MAC=1
REGALWONLINE=1
REGDISABLEDSTAT=0

 

В консоле все сработало, пинг прошел.

 

По поводу разлогинился - залогинился. Имелось ввиду что зашел под sirko :)

Link to post
Share on other sites

На первый взгляд все нормально.

 

Когда добьетесь, чтобы заработало

$globconf=parse_ini_file(CONFIG_PATH."billing.ini");
$sudo=$globconf['SUDO'];
$command=$sudo.' id';
$result=shell_exec($command);
deb(nl2br($result));

 

сможете быть уверенным, что взлетит и все остальное. Я бы порекомендовал при исполнении этого куска паралельно смотреть в httpd-error.log на предмет воплей о том, почему же ему исполнение sudo из shellexec() не нравиться. Возможно в этих ваших центосах, кроме selinux присутствуют еще какие-то упоротые патчи на apache либо php препятствующие эскалации прав скрипта (suhosin?). В общем есть такое чувство, что это чисто дистрибутиво зависимые заморочки. Так как у существующих людей с gentoo/debian/ubuntu что-что а банальный system() работает всегда.

 

И кто-то еще спрашивает, почему официальная поддержка производиться только на FreeBSD :)

Link to post
Share on other sites

Выходные таки "пролетели".

Попробую копнуть у указанных направлениях.

 

И кто-то еще спрашивает, почему официальная поддержка производиться только на FreeBSD :)

Не знаю кто там жаловался, у меня вопросов нет.

Спасибо.

Link to post
Share on other sites

в логе апача

sudo: sorry, you must have a tty to run sudo

 

Таки бок в судо.

Вот почему из под sirko работало, он заходил через tty.

 

Параметр Defaults requiretty во всех манах по умолчанию выключен.

В Centos его решили по умолчанию включить. При чем не только в 6й и в 5й тоже.

:facepalm:

Link to post
Share on other sites
  • 3 months later...

Доброго времени суток.

 

Случилось такое. При регистрации юзера и при смене МАКа выдает следующую ошибку 

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/billing/modules/system/filesystem.php on line 135

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

Вопрос сосбно как всегда :wacko:  куда копать?

Link to post
Share on other sites

Случилось такое. При регистрации юзера и при смене МАКа выдает следующую ошибку

Я бы для начала сделал find ./ | grep lock в директории ubilling и проверил бы в модуле "Настройки системы" нету ли красненьких надписей.

 

Я так предполагаю что когда то делал две обновлялки подряд.

От какой версии обновлялись?

 

Возможно что то пропустил.

Вполне себе возможно

Edited by nightfly
Link to post
Share on other sites
  • 2 weeks later...

Ссори за задержку.

есть такой файлик в multinet dhcp.conf.lock что это означает?

 

Файл dhcp.conf в multinet пустой. Сам сервак берет настройки с /etc/dhcp/dhcp.conf а абоненские маки подбирает с /etc/dhcp/multinet/local (символ на billing/multinet/local).

Описалово настройки dhcp под ubuntu мне не подошло, поэтому ковырял самостоятельно.

 

Обновлялся подряд на 0.3.6 - rev 2264 и сразу на 0.3.7 rev 2339  

 

модуле "Настройки системы" нету ли красненьких надписей

 

Надписей нет, есть только точки что включено что нет.

Link to post
Share on other sites

есть такой файлик в multinet dhcp.conf.lock что это означает?

Просто удалите его. Как и прочие .lock которые вы можете найти в окрестностях каталога billing. Это вполне себе должно решить проблему в базовом варианте.

 

Наличие таких штук вообще случается довольно редко, ближе к "никогда". И сигнализирует о том, что форк апача успел где-то рухнуть, в процессе записи этого файлика либо ВНЕЗАПНО ищезли права на запись в каталог/файлик. При удалении лока все должно работать нормально. Также сверьте права на multinet рекурсивно - там должны быть права записи для апача, под кем он там у вас работает, как минимум.

Link to post
Share on other sites

 

Трабла была в том что был включен Selinux!

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

 

просьба продолжить дискуссию. ситуация аналогична, 3й день бьюсь об стену.

selinux вырубил изначально, php.ini перелопатил уже много раз. с консоли юзера добавляет но проблем. в судо тоже порядок.

при смене мака в дебаге выдало что не может открыть dhcpd.conf.lock - его нет в папке multinet, но если его создаю и даю права на a+x

то получаю фатал ерор по таймауту пхп (какой бы не ставил в php.ini).

куда копать уже просто незнаю. очень понравился ubilling как веб оболочка но связать с stg никак не выходит. уже в приступах паники скоро начну переписывать апи

на sql функции, что бы в базу добавляло напрямую))

Link to post
Share on other sites

 

 выдало что не может открыть dhcpd.conf.lock - его нет в папке multinet

нет прав записи в сам multinet

 

но если его создаю и даю права на a+x

а почему вы решили что там что-то выполняться должно?

 

chmod -R 777 content/ config/ multinet/ exports/ remote_nas.conf  

 

От вас требуется, больше ничего.

 

Link to post
Share on other sites

 

 

 выдало что не может открыть dhcpd.conf.lock - его нет в папке multinet

нет прав записи в сам multinet

 

>но если его создаю и даю права на a+x

а почему вы решили что там что-то выполняться должно?

 

chmod -R 777 content/ config/ multinet/ exports/ remote_nas.conf  

 

От вас требуется, больше ничего.

 

 

 

как нистранно но есть права на запись и в сам мультинет и в лок-файл.

drwxrwxrwx.  2 apache apache   4096 Апр 23 10:59 multinet

 

кстати вот что заметил, если создать этот файл руками - оно отваливается по таймауту но всеже выполняется.

тоесть каждая нужная мне команда заканчивается чем то типа: блаблаюла fatal error max execute time 30 sec, но когда возвращаюсь на преведущую страницу

то вижу что мак сменен или пользователь зареган)

Link to post
Share on other sites

Хозяин multinet оказался не апач, хотя вроде раньше все было ОК.

Спс, все заработало.

 

По версии. Стоит последняя, то я указывал на какие грешил.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By camchatix
      Привіт!
       
      Є багато запитів, щоб інтернет не виключався у північ, а скажімо в день (сигналізації, камери під охороною і тд)
      При щоденній абонплаті - як знімати гроші не у 12:00 у північ, а наприклад у 11 годин дня ?
    • By camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • By grach_witch_cheese
      Вітаю, колеги!
      Маю наступну схему:
      DHCP-сервер: Accel-PPP (IPoE) DHCP-Relay: MikroTik RADIUS: Запущений безпосередньо на сервері uBilling Зараз авторизація абонентів здійснюється за MAC-адресою, але планується перехід на авторизацію через Option 82.
      У документації uBilling наведені приклади конфігурацій, коли DHCP-сервер працює локально (на самому uBilling) і містить відповідні шаблони для обробки Option 82.
      Однак немає чіткої інформації про використання Option 82 при віддаленому DHCP-сервері, зокрема, коли Accel-PPP використовується як DHCP-сервер у режимі remote та налаштований через Купаген.
      Питання:
      Чи можливо використовувати Accel-PPP як віддалений DHCP-сервер з авторизацією через Option 82? Якщо так, то де відбувається парсинг значень Remote-ID і Circuit-ID? Де в цьому випадку мають зберігатися шаблони для Option 82? Буду вдячний за роз'яснення або посилання на відповідні приклади.
    • By nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • By ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.

×
×
  • Create New...