Strona 1 z 1
Kontrola demona przez php
: 17 lutego 2012, 17:02
autor: Robert007
Witajcie.
Jak można się połączyć z demonem, który będzie wykonywał polecenia nadane przez skrypt PHP? Nie chodzi tu o łączenie się przez ssh2 w PHP.
Przykładowo jest zbudowany panel revoGames (revogames.accesto.pl) właśnie na łączeniu się z serwerami przez demona. A jak się połączyć?
Z pomocą Google za wiele nie znalazłem lub źle szukałem.
Pozdrawiam,
Robert.
: 18 lutego 2012, 08:32
autor: Bastian
Przez gniazda?
: 18 lutego 2012, 13:01
autor: Robert007
A może jaśniej? Jakieś linki?
: 18 lutego 2012, 13:12
autor: fnmirk
: 18 lutego 2012, 17:21
autor: Bastian
: 18 lutego 2012, 17:48
autor: Robert007
fnmirk, aż takich linków mi nie trzeba. Tylko za bardzo nie zrozumiałem co to za gniazdo.
Ok. Połączę się ale czy za pomocą jakieś funkcji można używać poleceń roota czy chociaż wykonywać skrypty powłoki? W google są tylko przykłady połączeń, to czy aby on nie pobiera tylko danych?
: 19 lutego 2012, 09:12
autor: Bastian
Słuchaj. Da się to oczywiście zrobić tylko trzeba to oprogramować. Do wywoływania poleceń z powłoki służy funkcja exec(). Jednak nie pytaj prosze jak to zrobić, bo musiałbym po prostu Tobie ten program napisać.
: 19 lutego 2012, 09:55
autor: Robert007
Funkcji exec() dotychczas używałem w php ale chciałbym się łączyć z innego serwera nie używając funkcji ssh2 (panel, który kontroluję kilkoma serwerami, aby panel był na jednym serwerze). Wiem, że panel mógłby być na każdym z serwerów ale to mija się z celem.
: 19 lutego 2012, 11:04
autor: lessmian2
Może się powtórzę, ale temat był już wałkowany X razy na forum. Ogólnie rzecz ujmując, dzielisz ten "panel" na dwie odrębne aplikacje, spełniające różnie funkcje. Jedna to panel do zarządzania działający po http. Druga to aplikacja (niekoniecznie demon, równie dobrze może być uruchamiania z inetd) działająca na każdym z zarządzanych serwerów. Aplikacja ta słucha na jakimś IP/porcie, najprawdopodobniej z uprawnieniami roota, i wykonuje to, co zostało wyklikane w panelu. Komunikacja między panelem a częścią wykonawczą odbywa się przez jakiś protokół (możesz wymyślić swój lub użyć gotowców typu JSON, RPC czy cokolwiek co się według Ciebie nada). Najlepiej by było gdybyś spojrzał w źródła jakiegoś ogólnie dostępnego panelu tego typu i zobaczył jak to działa.
: 27 lutego 2012, 16:12
autor: Bastian
Dokładnie tak jak napisał lessmian2. Poza tym, zauważ, że tak właśnie konstruuje się aplikacje sieciowe. Dzieli się je na część kliencką i serwerową.